On 08/11/2017 10:54 AM, Juergen Gross wrote: > When running as Xen pv-guest the exception frame on the stack contains > %r11 and %rcx additional to the other data pushed by the processor. > > Instead of having a paravirt op being called for each exception type > prepend the Xen specific code to each exception entry. When running as > Xen pv-guest just use the exception entry with prepended instructions, > otherwise use the entry without the Xen specific code. > > Signed-off-by: Juergen Gross <jgr...@suse.com> > --- > arch/x86/entry/entry_64.S | 23 ++------- > arch/x86/entry/entry_64_compat.S | 1 - > arch/x86/include/asm/paravirt.h | 5 -- > arch/x86/include/asm/paravirt_types.h | 4 -- > arch/x86/include/asm/proto.h | 3 ++ > arch/x86/include/asm/traps.h | 33 ++++++++++-- > arch/x86/kernel/asm-offsets_64.c | 1 - > arch/x86/kernel/paravirt.c | 3 -- > arch/x86/xen/enlighten_pv.c | 96 > +++++++++++++++++++++++------------ > arch/x86/xen/irq.c | 3 -- > arch/x86/xen/xen-asm_64.S | 45 ++++++++++++++-- > arch/x86/xen/xen-ops.h | 1 - > 12 files changed, 140 insertions(+), 78 deletions(-)
Reviewed-by: Boris Ostrovsky <boris.ostrov...@oracle.com> Applied to for-linus-4.14. -boris