[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 0/9] 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. I notice that Feng Wu has submitted a patch moving the irq-stub generation, and it is completely by chance that I have functionally similar patch in this series. Andrew Cooper (9): x86/traps: Names 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: 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 | 56 +----------------- xen/arch/x86/cpu/common.c | 70 +++++++++++++++++----- xen/arch/x86/cpu/mcheck/mce.c | 5 +- xen/arch/x86/crash.c | 2 +- xen/arch/x86/i8259.c | 69 +--------------------- xen/arch/x86/mm.c | 10 ++-- xen/arch/x86/setup.c | 42 ++++++------- xen/arch/x86/shutdown.c | 42 +++++++------ xen/arch/x86/smpboot.c | 21 ++----- xen/arch/x86/traps.c | 124 ++++++++++++++++++++++++--------------- xen/arch/x86/x86_64/Makefile | 1 + xen/arch/x86/x86_64/entry.S | 22 +++---- xen/arch/x86/x86_64/irqgen.S | 72 +++++++++++++++++++++++ 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 | 6 +- 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 + 25 files changed, 295 insertions(+), 306 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 |