This is a chunk of the FRED work split out because it's pretty self contained.
It's mostly cleanup/refactoring, although patch traps.c is already overly large and going to get larger with FRED, so I'm splitting traps-setup.c out of it, as the two have reasonably-different logic. That's implemented in this series but not used in anger in this series. Since v1: * First 3 patches committed * Minor adjustments. See individual patches for details Andrew Cooper (5): x86/IDT: Rename idt_table[] to bsp_idt[] x86/IDT: Make idt_tables[] be per_cpu(idt) x86/IDT: Generate bsp_idt[] at build time x86/IDT: Don't rewrite bsp_idt[] at boot time x86/traps: Convert pv_trap_init() to being an initcall xen/arch/x86/Makefile | 1 + xen/arch/x86/cpu/common.c | 7 +- xen/arch/x86/crash.c | 8 +- xen/arch/x86/domain.c | 2 +- xen/arch/x86/hvm/svm/svm.c | 4 +- xen/arch/x86/hvm/vmx/vmcs.c | 2 +- xen/arch/x86/include/asm/gen-idt.h | 122 +++++++++++++++++++++++++ xen/arch/x86/include/asm/gen-idt.lds.h | 27 ++++++ xen/arch/x86/include/asm/idt.h | 22 +---- xen/arch/x86/include/asm/pv/traps.h | 4 - xen/arch/x86/machine_kexec.c | 7 +- xen/arch/x86/pv/traps.c | 18 +--- xen/arch/x86/smpboot.c | 14 +-- xen/arch/x86/traps-setup.c | 7 ++ xen/arch/x86/traps.c | 89 +----------------- xen/arch/x86/x86_64/entry.S | 106 ++++++++++++--------- xen/arch/x86/xen.lds.S | 2 + 17 files changed, 254 insertions(+), 188 deletions(-) create mode 100644 xen/arch/x86/include/asm/gen-idt.h create mode 100644 xen/arch/x86/include/asm/gen-idt.lds.h create mode 100644 xen/arch/x86/traps-setup.c -- 2.39.5