[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 00/10] x86: Improvements to trap handling
This is a large change to trap handling. Its underlying purpose is to avoid the current situation where ignore_int() in the .init section remains patched into each IDT in the reserved exception vectors. As a side effect, Xen gains full bugframe and exception_table support from the beginning of __start_xen. This is far from comprehensivly tested, but has been tested with bugframes and extable redirects from right after setting up the console (so printing works), along with the panic() and reboot paths. Andrew Cooper (10): x86/traps: Mnemonics for system descriptor types x86/traps: Make panic and reboot paths safe during early boot x86/traps: Make the main trap handlers safe for use early during Xen boot x86/misc: Early cleanup x86/traps: Functional prep work x86/boot: Install trap handlers much earlier on boot x86/boot: Correct CR4 setup on APs x86/boot: Drop pre-C IDT patching x86/irqs: Move interrupt-stub generation out of C x86/misc: Post cleanup xen/arch/x86/boot/x86_64.S | 60 +------------------ xen/arch/x86/cpu/common.c | 73 +++++++++++++++++------ xen/arch/x86/cpu/mcheck/mce.c | 5 +- xen/arch/x86/crash.c | 3 +- xen/arch/x86/i8259.c | 69 +--------------------- xen/arch/x86/setup.c | 46 +++++++-------- xen/arch/x86/shutdown.c | 42 +++++++------ xen/arch/x86/smpboot.c | 25 +++----- xen/arch/x86/traps.c | 123 ++++++++++++++++++++++++--------------- xen/arch/x86/x86_64/Makefile | 1 + xen/arch/x86/x86_64/entry.S | 22 +++---- xen/arch/x86/x86_64/irqgen.S | 52 +++++++++++++++++ xen/arch/x86/x86_64/traps.c | 31 +--------- xen/common/symbols.c | 2 +- xen/drivers/char/console.c | 5 -- xen/include/asm-x86/asm_defns.h | 5 -- xen/include/asm-x86/config.h | 1 + xen/include/asm-x86/desc.h | 9 ++- xen/include/asm-x86/ldt.h | 2 +- xen/include/asm-x86/processor.h | 8 ++- xen/include/asm-x86/setup.h | 1 - xen/include/asm-x86/system.h | 1 + xen/include/xen/kernel.h | 1 + xen/include/xen/sched.h | 1 + 24 files changed, 278 insertions(+), 310 deletions(-) create mode 100644 xen/arch/x86/x86_64/irqgen.S _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |