Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 5 Sep 2017 00:43:56 +0000 (17:43 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 5 Sep 2017 00:43:56 +0000 (17:43 -0700)
Pull x86 apic updates from Thomas Gleixner:
 "This update provides:

   - Cleanup of the IDT management including the removal of the extra
     tracing IDT. A first step to cleanup the vector management code.

   - The removal of the paravirt op adjust_exception_frame. This is a
     XEN specific issue, but merged through this branch to avoid nasty
     merge collisions

   - Prevent dmesg spam about the TSC DEADLINE bug, when the CPU has
     disabled the TSC DEADLINE timer in CPUID.

   - Adjust a debug message in the ioapic code to print out the
     information correctly"

* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
  x86/idt: Fix the X86_TRAP_BP gate
  x86/xen: Get rid of paravirt op adjust_exception_frame
  x86/eisa: Add missing include
  x86/idt: Remove superfluous ALIGNment
  x86/apic: Silence "FW_BUG TSC_DEADLINE disabled due to Errata" on CPUs without the feature
  x86/idt: Remove the tracing IDT leftovers
  x86/idt: Hide set_intr_gate()
  x86/idt: Simplify alloc_intr_gate()
  x86/idt: Deinline setup functions
  x86/idt: Remove unused functions/inlines
  x86/idt: Move interrupt gate initialization to IDT code
  x86/idt: Move APIC gate initialization to tables
  x86/idt: Move regular trap init to tables
  x86/idt: Move IST stack based traps to table init
  x86/idt: Move debug stack init to table based
  x86/idt: Switch early trap init to IDT tables
  x86/idt: Prepare for table based init
  x86/idt: Move early IDT setup out of 32-bit asm
  x86/idt: Move early IDT handler setup to IDT code
  x86/idt: Consolidate IDT invalidation
  ...

1  2 
arch/x86/boot/compressed/eboot.c
arch/x86/entry/entry_64.S
arch/x86/entry/entry_64_compat.S
arch/x86/kernel/cpu/common.c
arch/x86/kernel/cpu/mcheck/mce_amd.c
arch/x86/kernel/head64.c
arch/x86/kernel/setup.c
arch/x86/kvm/vmx.c
arch/x86/mm/fault.c
arch/x86/xen/enlighten_pv.c

Simple merge
index ca0b250eefc4b480fc0494157696f68dbcf46110,bdd024a9afc992f81628591a6ead8b2b4a896545..49167258d587570673c5e515cb00b4d8f26263b7
@@@ -748,21 -748,14 +748,9 @@@ ENTRY(\sym
  END(\sym)
  .endm
  
- #ifdef CONFIG_TRACING
- #define trace(sym) trace_##sym
- #define smp_trace(sym) smp_trace_##sym
- .macro trace_apicinterrupt num sym
- apicinterrupt3 \num trace(\sym) smp_trace(\sym)
- .endm
- #else
- .macro trace_apicinterrupt num sym do_sym
- .endm
- #endif
  /* Make sure APIC interrupt handlers end up in the irqentry section: */
 -#if defined(CONFIG_FUNCTION_GRAPH_TRACER) || defined(CONFIG_KASAN)
 -# define PUSH_SECTION_IRQENTRY        .pushsection .irqentry.text, "ax"
 -# define POP_SECTION_IRQENTRY .popsection
 -#else
 -# define PUSH_SECTION_IRQENTRY
 -# define POP_SECTION_IRQENTRY
 -#endif
 +#define PUSH_SECTION_IRQENTRY .pushsection .irqentry.text, "ax"
 +#define POP_SECTION_IRQENTRY  .popsection
  
  .macro apicinterrupt num sym do_sym
  PUSH_SECTION_IRQENTRY
Simple merge
Simple merge
Simple merge
index 6a193b93fd952d59b4bca8a2071859edf8bcfcb6,d6ab034bd65f99e658c2d2ed11e5e3ed3cec131e..bab4fa579450cd5192a60366993a168493789fb4
@@@ -336,18 -278,9 +334,16 @@@ asmlinkage __visible void __init x86_64
  
        clear_page(init_top_pgt);
  
 +      /*
 +       * SME support may update early_pmd_flags to include the memory
 +       * encryption mask, so it needs to be called before anything
 +       * that may generate a page fault.
 +       */
 +      sme_early_init();
 +
        kasan_early_init();
  
-       for (i = 0; i < NUM_EXCEPTION_VECTORS; i++)
-               set_intr_gate(i, early_idt_handler_array[i]);
-       load_idt((const struct desc_ptr *)&idt_descr);
+       idt_setup_early_handler();
  
        copy_bootdata(__va(real_mode_data));
  
Simple merge
Simple merge
Simple merge
Simple merge