x86/xen: Support early interrupts in xen pv guests
Add early interrupt handlers activated by idt_setup_early_handler() to the handlers supported by Xen pv guests. This will allow for early WARN() calls not crashing the guest. Suggested-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: xen-devel@lists.xenproject.org Cc: boris.ostrovsky@oracle.com Link: https://lkml.kernel.org/r/20171124084221.30172-1-jgross@suse.com
This commit is contained in:

committed by
Thomas Gleixner

parent
9d0b62328d
commit
42b3a4cb56
@@ -236,11 +236,23 @@
|
||||
*/
|
||||
#define EARLY_IDT_HANDLER_SIZE 9
|
||||
|
||||
/*
|
||||
* xen_early_idt_handler_array is for Xen pv guests: for each entry in
|
||||
* early_idt_handler_array it contains a prequel in the form of
|
||||
* pop %rcx; pop %r11; jmp early_idt_handler_array[i]; summing up to
|
||||
* max 8 bytes.
|
||||
*/
|
||||
#define XEN_EARLY_IDT_HANDLER_SIZE 8
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
extern const char early_idt_handler_array[NUM_EXCEPTION_VECTORS][EARLY_IDT_HANDLER_SIZE];
|
||||
extern void early_ignore_irq(void);
|
||||
|
||||
#if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV)
|
||||
extern const char xen_early_idt_handler_array[NUM_EXCEPTION_VECTORS][XEN_EARLY_IDT_HANDLER_SIZE];
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Load a segment. Fall back on loading the zero segment if something goes
|
||||
* wrong. This variant assumes that loading zero fully clears the segment.
|
||||
|
Reference in New Issue
Block a user