[PATCH] Add ioctl definitions for 16-bit alignment
Dmitry V. Levin
ldv at altlinux.org
Tue Nov 22 02:18:55 UTC 2016
On Mon, Nov 14, 2016 at 02:00:53AM +0300, Dmitry V. Levin wrote:
> 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.
This is what I've done after all: KVM_* ioctl entries are now provided
by ioctls_arch0.h files on those architectures that have asm/kvm.h files.
The patch has been applied without maint/ioctls_sym.sh hunk and without
KVM_* ioctl entries which are not relevant to m68k.
--
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/20161122/0b4e5b5a/attachment.bin>
More information about the Strace-devel
mailing list