Merge branch 'x86-extable-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 May 2012 17:44:35 +0000 (10:44 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 May 2012 17:44:35 +0000 (10:44 -0700)
Pull exception table generation updates from Ingo Molnar:
 "The biggest change here is to allow the build-time sorting of the
  exception table, to speed up booting.  This is achieved by the
  architecture enabling BUILDTIME_EXTABLE_SORT.  This option is enabled
  for x86 and MIPS currently.

  On x86 a number of fixes and changes were needed to allow build-time
  sorting of the exception table, in particular a relocation invariant
  exception table format was needed.  This required the abstracting out
  of exception table protocol and the removal of 20 years of accumulated
  assumptions about the x86 exception table format.

  While at it, this tree also cleans up various other aspects of
  exception handling, such as early(er) exception handling for
  rdmsr_safe() et al.

  All in one, as the result of these changes the x86 exception code is
  now pretty nice and modern.  As an added bonus any regressions in this
  code will be early and violent crashes, so if you see any of those,
  you'll know whom to blame!"

Fix up trivial conflicts in arch/{mips,x86}/Kconfig files due to nearby
modifications of other core architecture options.

* 'x86-extable-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (35 commits)
  Revert "x86, extable: Disable presorted exception table for now"
  scripts/sortextable: Handle relative entries, and other cleanups
  x86, extable: Switch to relative exception table entries
  x86, extable: Disable presorted exception table for now
  x86, extable: Add _ASM_EXTABLE_EX() macro
  x86, extable: Remove open-coded exception table entries in arch/x86/ia32/ia32entry.S
  x86, extable: Remove open-coded exception table entries in arch/x86/include/asm/xsave.h
  x86, extable: Remove open-coded exception table entries in arch/x86/include/asm/kvm_host.h
  x86, extable: Remove the now-unused __ASM_EX_SEC macros
  x86, extable: Remove open-coded exception table entries in arch/x86/xen/xen-asm_32.S
  x86, extable: Remove open-coded exception table entries in arch/x86/um/checksum_32.S
  x86, extable: Remove open-coded exception table entries in arch/x86/lib/usercopy_32.c
  x86, extable: Remove open-coded exception table entries in arch/x86/lib/putuser.S
  x86, extable: Remove open-coded exception table entries in arch/x86/lib/getuser.S
  x86, extable: Remove open-coded exception table entries in arch/x86/lib/csum-copy_64.S
  x86, extable: Remove open-coded exception table entries in arch/x86/lib/copy_user_nocache_64.S
  x86, extable: Remove open-coded exception table entries in arch/x86/lib/copy_user_64.S
  x86, extable: Remove open-coded exception table entries in arch/x86/lib/checksum_32.S
  x86, extable: Remove open-coded exception table entries in arch/x86/kernel/test_rodata.c
  x86, extable: Remove open-coded exception table entries in arch/x86/kernel/entry_64.S
  ...

1  2 
Makefile
arch/mips/Kconfig
arch/x86/Kconfig
init/Kconfig
scripts/Makefile

diff --cc Makefile
Simple merge
index f5e121213c229dd289bef22129d10337a97c54fa,780a769f4a41455994f601bf52b351b197f115fd..85aad0321397fa420529d50bde88501f8f3e664a
@@@ -29,7 -29,7 +29,8 @@@ config MIP
        select HAVE_MEMBLOCK
        select HAVE_MEMBLOCK_NODE_MAP
        select ARCH_DISCARD_MEMBLOCK
 +      select GENERIC_SMP_IDLE_THREAD
+       select BUILDTIME_EXTABLE_SORT
  
  menu "Machine selection"
  
index 7b383d8da7b93d4091fadbff8db13036e0f838ff,2f925ccb3e5bf7751fa9d767cf63e1d5e15d2c5f..21ea6d28d71fcaf4195e2e1e3a1e51f6b6329556
@@@ -80,9 -81,8 +80,10 @@@ config X8
        select CLKEVT_I8253
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_IOMAP
 -      select DCACHE_WORD_ACCESS if !DEBUG_PAGEALLOC
 +      select DCACHE_WORD_ACCESS
 +      select GENERIC_SMP_IDLE_THREAD
 +      select HAVE_ARCH_SECCOMP_FILTER
+       select BUILDTIME_EXTABLE_SORT
  
  config INSTRUCTION_DECODER
        def_bool (KPROBES || PERF_EVENTS)
diff --cc init/Kconfig
Simple merge
Simple merge