18 Nov, 2011

2 commits

  • 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
    Cc: Sam Ravnborg
    Cc: Michal Marek
    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Move compat_ni_syscall out of ia32entry.S and into its own .c file.
    Although this is a trivial function, it is not performance-critical,
    and this will simplify further cleanups.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     

30 Jan, 2008

7 commits

  • This switches x86-64's 32-bit ELF support to use the shared
    fs/compat_binfmt_elf.c code instead of our own ia32_binfmt.c.

    Signed-off-by: Roland McGrath
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Roland McGrath
     
  • This revamps the i387 code to be shared across 32-bit, 64-bit,
    and 32-on-64. It does so by consolidating the code in one place
    based on the user_regset accessor interfaces. This switches
    32-bit to using the i387_64.h header and 64-bit to using the
    i387.c that was previously i387_32.c, but that's what took the
    least cleanup in each file. Here i387.h is stubbed to always
    include i387_64.h rather than renaming the file, to keep this
    diff smaller and easier to read.

    Signed-off-by: Roland McGrath
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Roland McGrath
     
  • This switches over the 64-bit build to use the shared ptrace code,
    instead of the old ptrace_64.c and arch/x86/ia32/ptrace32.c code.

    Signed-off-by: Roland McGrath
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Roland McGrath
     
  • This renames arch/x86/ia32/tls32.c to arch/x86/kernel/tls.c, which does
    nothing now but paves the way to consolidate this code for 32-bit too.

    Signed-off-by: Roland McGrath
    Cc: Andrew Morton
    Cc: Zachary Amsden
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Roland McGrath
     
  • This removes all the old vsyscall code from arch/x86/ia32/ that is
    no longer used because arch/x86/vdso/ code has replaced it.

    Signed-off-by: Roland McGrath
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Roland McGrath
     
  • This makes x86_64's ia32 emulation support share the sources used in the
    32-bit kernel for the 32-bit vDSO and much of its setup code.

    The 32-bit vDSO mapping now behaves the same on x86_64 as on native 32-bit.
    The abi.syscall32 sysctl on x86_64 now takes the same values that
    vm.vdso_enabled takes on the 32-bit kernel. That is, 1 means a randomized
    vDSO location, 2 means the fixed old address. The CONFIG_COMPAT_VDSO
    option is now available to make this the default setting, the same meaning
    it has for the 32-bit kernel. (This does not affect the 64-bit vDSO.)

    The argument vdso32=[012] can be used on both 32-bit and 64-bit kernels to
    set this paramter at boot time. The vdso=[012] argument still does this
    same thing on the 32-bit kernel.

    Signed-off-by: Roland McGrath
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Roland McGrath
     
  • Use mmap_32.c in arch/x86/mm instead

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     

18 Oct, 2007

1 commit

  • This keeps an unstripped copy of the vDSO images built before they are
    stripped and embedded in the kernel. The unstripped copies get installed
    in $(MODLIB)/vdso/ by "make install" (or you can explicitly use the
    subtarget "make vdso_install"). These files can be useful when they
    contain source-level debugging information.

    [ tglx: arch/x86 adaptation ]

    Signed-off-by: Roland McGrath
    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Roland McGrath
     

11 Oct, 2007

1 commit