1. 20 Feb, 2012 3 commits
    • H. Peter Anvin's avatar
      x32: Handle the x32 system call flag · fca460f9
      H. Peter Anvin authored
      
      
      x32 shares most system calls with x86-64, but unfortunately some
      subsystem (the input subsystem is the chief offender) which require
      is_compat() when operating with a 32-bit userspace.  The input system
      actually has text files in sysfs whose meaning is dependent on
      sizeof(long) in userspace!
      
      We could solve this by having two completely disjoint system call
      tables; requiring that each system call be duplicated.  This patch
      takes a different approach: we add a flag to the system call number;
      this flag doesn't affect the system call dispatch but requests compat
      treatment from affected subsystems for the duration of the system call.
      
      The change of cmpq to cmpl is safe since it immediately follows the
      and.
      
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      fca460f9
    • H. Peter Anvin's avatar
      x32: Generate <asm/unistd_64_x32.h> · ea499fec
      H. Peter Anvin authored
      
      
      Generate macros for the *kernel* code to use to refer to x32 system
      calls.  These have an __NR_x32_ prefix and do not include
      __X32_SYSCALL_BIT.
      
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      ea499fec
    • H. Peter Anvin's avatar
      x32: Generate <asm/unistd_x32.h> · 6cbb369f
      H. Peter Anvin authored
      
      
      Generate <asm/unistd_x32.h>; this exports x32 system call numbers to
      user space.
      
      [ v2: Enclose all arguments to syshdr in '' so empty arguments aren't
            dropped on the floor. ]
      
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      6cbb369f
  2. 19 Jan, 2012 1 commit
  3. 17 Nov, 2011 1 commit
    • H. Peter Anvin's avatar
      x86: Generate system call tables and unistd_*.h from tables · 303395ac
      H. Peter Anvin authored
      
      
      Generate system call tables and unistd_*.h automatically from the
      tables in arch/x86/syscalls.  All other information, like NR_syscalls,
      is auto-generated, some of which is in asm-offsets_*.c.
      
      This allows us to keep all the system call information in one place,
      and allows for kernel space and user space to see different
      information; this is currently used for the ia32 system call numbers
      when building the 64-bit kernel, but will be used by the x32 ABI in
      the near future.
      
      This also removes some gratuitious differences between i386, x86-64
      and ia32; in particular, now all system call tables are generated with
      the same mechanism.
      
      Cc: H. J. Lu <hjl.tools@gmail.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      303395ac
  4. 23 Oct, 2008 1 commit
  5. 26 Apr, 2008 1 commit
  6. 17 Apr, 2008 1 commit
  7. 11 Oct, 2007 1 commit