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