145b624beSAndre Przywara#!/bin/sh 245b624beSAndre Przywara 345b624beSAndre Przywara######################################################################## 445b624beSAndre Przywara# Updates the kvmtool tree with up-to-date public header files from 545b624beSAndre Przywara# a Linux source tree. 645b624beSAndre Przywara# If no directory is given on the command line, it will try to find one 745b624beSAndre Przywara# using the lib/modules/`uname -r`/source link. 845b624beSAndre Przywara######################################################################## 945b624beSAndre Przywara 109f520be5SDave Martinset -ue 119f520be5SDave Martin 1245b624beSAndre Przywaraif [ "$#" -ge 1 ] 1345b624beSAndre Przywarathen 1445b624beSAndre Przywara LINUX_ROOT="$1" 1545b624beSAndre Przywaraelse 163baf13c7SDave Martin LINUX_ROOT="/lib/modules/$(uname -r)/source" 1745b624beSAndre Przywarafi 1845b624beSAndre Przywara 193baf13c7SDave Martinif [ ! -d "$LINUX_ROOT/include/uapi/linux" ] 2045b624beSAndre Przywarathen 2145b624beSAndre Przywara echo "$LINUX_ROOT does not seem to be valid Linux source tree." 2245b624beSAndre Przywara echo "usage: $0 [path-to-Linux-source-tree]" 2345b624beSAndre Przywara exit 1 2445b624beSAndre Przywarafi 2545b624beSAndre Przywara 263baf13c7SDave Martincp -- "$LINUX_ROOT/include/uapi/linux/kvm.h" include/linux 2745b624beSAndre Przywara 28292435bcSDave Martinunset KVMTOOL_PATH 29292435bcSDave Martin 30292435bcSDave Martincopy_optional_arch () { 31292435bcSDave Martin local src="$LINUX_ROOT/arch/$arch/include/uapi/$1" 32292435bcSDave Martin 33292435bcSDave Martin if [ -r "$src" ] 34292435bcSDave Martin then 35292435bcSDave Martin cp -- "$src" "$KVMTOOL_PATH/include/asm/" 36292435bcSDave Martin fi 37292435bcSDave Martin} 38292435bcSDave Martin 39*2e996783SAnup Patelfor arch in arm64 mips powerpc riscv x86 4045b624beSAndre Przywarado 4145b624beSAndre Przywara case "$arch" in 42292435bcSDave Martin arm64) KVMTOOL_PATH=arm/aarch64 43292435bcSDave Martin copy_optional_arch asm/sve_context.h ;; 4445b624beSAndre Przywara *) KVMTOOL_PATH=$arch ;; 4545b624beSAndre Przywara esac 463baf13c7SDave Martin cp -- "$LINUX_ROOT/arch/$arch/include/uapi/asm/kvm.h" \ 473baf13c7SDave Martin "$KVMTOOL_PATH/include/asm" 4845b624beSAndre Przywaradone 49