Re: [PATCH kvmtool v3 3/9] update_headers.sh: arm64: Copy sve_context.h if available

Andre Przywara
2019-05-31T17:03:49Z

On Thu, 30 May 2019 16:13:08 +0100
Dave Martin <Dave.Martin@arm.com> wrote:

> The SVE KVM support for arm64 includes the additional backend
> header <asm/sve_context.h> from <asm/kvm.h>.
>
> So update this header if it is available.
>
> To avoid creating a sudden dependency on a specific minimum kernel
> version, ignore the header if the source kernel tree doesn't have
> it.
>
> Signed-off-by: Dave Martin <Dave.Martin@arm.com>
> ---
> util/update_headers.sh | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/util/update_headers.sh b/util/update_headers.sh
> index a7e21b8..90d3ead 100755
> --- a/util/update_headers.sh
> +++ b/util/update_headers.sh
> @@ -25,11 +25,22 @@ fi
>
> cp -- "$LINUX_ROOT/include/uapi/linux/kvm.h" include/linux
>
> +unset KVMTOOL_PATH
> +
> +copy_arm64 () {
> + local src=$LINUX_ROOT/arch/$arch/include/uapi/asm/sve_context.h

To go with your previous patches, aren't you missing the quotes here?

> +
> + if [ -e "$src" ]
> + then
> + cp -- "$src" "$KVMTOOL_PATH/include/asm"
> + fi
> +}
> +

Maybe we can make this slightly more generic?
copy_optional_arch() {
local src="$LINUX_ROOT/arch/$arch/include/uapi/$1"
[ -r "$src" ] && cp -- "$src" "$KVMTOOL_PATH/include/asm"
}
...
arm64) KVMTOOL_PATH=arm/aarch64
copy_optional_arch asm/sve_context.h
;;

Cheers,
Andre.

> for arch in arm arm64 mips powerpc x86
> do
> case "$arch" in
> arm) KVMTOOL_PATH=arm/aarch32 ;;
> - arm64) KVMTOOL_PATH=arm/aarch64 ;;
> + arm64) KVMTOOL_PATH=arm/aarch64; copy_arm64 ;;
> *) KVMTOOL_PATH=$arch ;;
> esac
> cp -- "$LINUX_ROOT/arch/$arch/include/uapi/asm/kvm.h" \