[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.