From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
Feng Wu <feng.wu@intel.com>, Keir Fraser <keir@xen.org>,
Jan Beulich <JBeulich@suse.com>, Tim Deegan <tim@xen.org>
Subject: [PATCH RFC 0/9] x86: Improvements to trap handling
Date: Thu, 15 May 2014 10:48:10 +0100 [thread overview]
Message-ID: <1400147299-31772-1-git-send-email-andrew.cooper3@citrix.com> (raw)
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
next reply other threads:[~2014-05-15 9:48 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-15 9:48 Andrew Cooper [this message]
2014-05-15 9:48 ` [PATCH RFC 1/9] x86/traps: Names for system descriptor types Andrew Cooper
2014-05-15 9:56 ` Andrew Cooper
2014-05-15 10:08 ` Jan Beulich
2014-05-15 10:26 ` Andrew Cooper
2014-05-15 12:10 ` Jan Beulich
2014-05-15 9:48 ` [PATCH RFC 2/9] x86/traps: Make panic and reboot paths safe during early boot Andrew Cooper
2014-05-15 10:19 ` Jan Beulich
2014-05-15 10:53 ` Andrew Cooper
2014-05-15 12:12 ` Jan Beulich
2014-05-15 15:46 ` Andrew Cooper
2014-05-15 15:59 ` Jan Beulich
2014-05-15 9:48 ` [PATCH RFC 3/9] x86/traps: Make the main trap handlers safe for use early during Xen boot Andrew Cooper
2014-05-15 10:20 ` Jan Beulich
2014-05-15 9:48 ` [PATCH RFC 4/9] x86/misc: Early cleanup Andrew Cooper
2014-05-15 10:32 ` Jan Beulich
2014-05-15 10:38 ` Andrew Cooper
2014-05-15 9:48 ` [PATCH RFC 5/9] x86/traps: Functional prep work Andrew Cooper
2014-05-15 10:36 ` Jan Beulich
2014-05-15 10:45 ` Andrew Cooper
2014-05-15 12:15 ` Jan Beulich
2014-05-15 12:42 ` Andrew Cooper
2014-05-15 9:48 ` [PATCH RFC 6/9] x86/boot: Install trap handlers much earlier on boot Andrew Cooper
2014-05-15 10:53 ` Jan Beulich
2014-05-15 11:05 ` Andrew Cooper
2014-05-15 12:21 ` Jan Beulich
2014-05-15 9:48 ` [PATCH RFC 7/9] x86/boot: Drop pre-C IDT patching Andrew Cooper
2014-05-15 9:48 ` [PATCH RFC 8/9] x86/irqs: Move interrupt-stub generation out of C Andrew Cooper
2014-05-15 13:06 ` Jan Beulich
2014-05-15 9:48 ` [PATCH RFC 9/9] x86/misc: Post cleanup Andrew Cooper
2014-05-15 13:14 ` Jan Beulich
2014-05-15 13:17 ` Andrew Cooper
2014-05-16 8:49 ` [PATCH RFC 0/9] x86: Improvements to trap handling Wu, Feng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1400147299-31772-1-git-send-email-andrew.cooper3@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=feng.wu@intel.com \
--cc=keir@xen.org \
--cc=tim@xen.org \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).