On 30.08.2023 16:20, Andrew Cooper wrote: > On 30/08/2023 2:39 pm, Jan Beulich wrote: >> On 24.08.2023 17:26, Jinoh Kang wrote: >>> --- a/xen/arch/x86/x86_emulate/x86_emulate.h >>> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h >>> @@ -78,7 +78,10 @@ struct x86_event { >>> uint8_t type; /* X86_EVENTTYPE_* */ >>> uint8_t insn_len; /* Instruction length */ >>> int32_t error_code; /* X86_EVENT_NO_EC if n/a */ >>> - unsigned long cr2; /* Only for X86_EXC_PF h/w exception */ >>> + union { >>> + unsigned long cr2; /* #PF */ >>> + unsigned long pending_dbg; /* #DB (new DR6 bits, positive >>> polarity) */ > > As a tangent, since I wrote the original series, there's #NM and > MSR_XFD_ERR which needs to fit into this union for AMX support.
In "x86: XFD enabling" (posted over 2 years ago) I'm getting away without this quite fine, and I didn't think it's wrong to write the MSR right from the emulator (using the write_msr() hook). Jan