This time with a bit of sanity testing. See patches for details. Andrew Cooper (7): x86/emul: ASSERT that X86EMUL_DONE doesn't escape to callers x86/emul: Fix and extend #DB trap handling x86/pv: Fix the determiniation of whether to inject #DB x86/pv: Drop priv_op_ctxt.bpmatch and use pending_dbg instead x86: Introduce x86_merge_dr6() x86: Extend x86_event with a pending_dbg field x86/pv: Rewrite %dr6 handling
xen/arch/x86/debug.c | 20 +++++++++++++++++ xen/arch/x86/include/asm/debugreg.h | 7 ++++++ xen/arch/x86/include/asm/domain.h | 18 ++++++++++++++-- xen/arch/x86/include/asm/hvm/hvm.h | 3 ++- xen/arch/x86/include/asm/x86-defns.h | 7 ++++++ xen/arch/x86/pv/emul-priv-op.c | 30 +++++++++++++------------- xen/arch/x86/pv/emulate.c | 9 ++++++-- xen/arch/x86/pv/ro-page-fault.c | 4 ++-- xen/arch/x86/pv/traps.c | 17 +++++++++++---- xen/arch/x86/traps.c | 23 ++++++++++---------- xen/arch/x86/x86_emulate/x86_emulate.c | 26 ++++++++++++++++------ xen/arch/x86/x86_emulate/x86_emulate.h | 19 ++++++++++++---- 12 files changed, 134 insertions(+), 49 deletions(-) -- 2.30.2