[PATCH] Add ioctl definitions for 16-bit alignment

Dmitry V. Levin ldv at altlinux.org
Sun Nov 13 23:00:53 UTC 2016


On Sat, Nov 12, 2016 at 03:58:26PM +0100, Andreas Schwab wrote:
> * Makefile.am (EXTRA_DIST): Add linux/32/ioctls_inc_align16.h.
> * linux/32/ioctls_inc_align16.h: New file.
> * linux/32/ioctls_inc.h [M68K]: Include it.
> * maint/ioctls_sym.sh: Handle missing <asm/kvm.h>.

Thanks.

[...]
> --- a/maint/ioctls_sym.sh
> +++ b/maint/ioctls_sym.sh
> @@ -244,19 +244,14 @@ __EOF__
>  			;;
>  		*linux/kvm.h)
>  			cat <<'__EOF__'
> -#if !(defined __powerpc__)
>  struct kvm_allocate_rma { __u32 unused[2]; };
>  struct kvm_create_spapr_tce { __u32 unused[3]; };
>  struct kvm_create_spapr_tce_64 { __u32 unused[8]; };
>  struct kvm_get_htab_fd { __u32 unused[8]; };
>  struct kvm_rtas_token_args { __u8 unused[128]; };
> -#endif
>  
> -#if !(defined __arm64__ || defined __arm__)
>  struct kvm_vcpu_init { __u32 unused[8]; };
> -#endif
>  
> -#if !(defined __x86_64__ || defined __i386__)
>  struct kvm_cpuid { __u32 unused[2]; };
>  struct kvm_cpuid2 { __u32 unused[2]; };
>  struct kvm_debugregs { __u32 unused[32]; };
> @@ -271,7 +266,13 @@ struct kvm_x86_mce { __u32 unused[16]; };
>  struct kvm_xcrs { __u32 unused[98]; };
>  struct kvm_xen_hvm_config { __u32 unused[14]; };
>  struct kvm_xsave { __u32 unused[1024]; };
> -#endif
> +
> +struct kvm_debug_exit_arch { __u32 unused32[8]; };
> +struct kvm_sync_regs { };
> +struct kvm_guest_debug_arch { __u32 unused[16]; };
> +struct kvm_regs { __u32 unused[36]; };
> +struct kvm_sregs { __u32 unused[78]; };
> +struct kvm_fpu { __u32 unused[72]; };
>  __EOF__
>  			;;
>  		*linux/sonet.h)
> @@ -387,6 +388,12 @@ s/^\([[:space:]]\+[^),]\+)\),$/\1/' >> "$tmpdir/$f"
>  			# Create the file it attempts to include.
>  			mkdir -p "$tmpdir/linux"
>  			touch "$tmpdir/linux/compiler.h"
> +			;;
> +		*linux/kvm.h)
> +			# Create the file it attempts to include.
> +			mkdir -p "$tmpdir/asm"
> +			touch "$tmpdir/asm/kvm.h"
> +			;;
>  	esac
>  	if [ -f "$tmpdir/$f" ]; then
>  		s="$tmpdir/$f"

This part of the change looks problematic because the types defined
in asm/kvm.h are arch-dependent and vary in size.  Perhaps it was not
a good idea to include these arch-specific KVM constants into ioctls_inc*.h,
and they should be moved to ioctls_arch*.h files instead.


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20161114/5722d33f/attachment.bin>


More information about the Strace-devel mailing list