[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 3/5] x86/emul: Add a pending_dbg field to x86_emulate_ctxt.retire
On 9/13/23 08:21, Andrew Cooper wrote: > diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h > b/xen/arch/x86/x86_emulate/x86_emulate.h > index 698750267a90..f0e74d23c378 100644 > --- a/xen/arch/x86/x86_emulate/x86_emulate.h > +++ b/xen/arch/x86/x86_emulate/x86_emulate.h > @@ -588,15 +588,26 @@ struct x86_emulate_ctxt > /* Canonical opcode (see below) (valid only on X86EMUL_OKAY). */ > unsigned int opcode; > > - /* Retirement state, set by the emulator (valid only on X86EMUL_OKAY). */ > + /* > + * Retirement state, set by the emulator (valid only on > X86EMUL_OKAY/DONE). > + * > + * TODO: all this state should be input/output from the VMCS PENDING_DBG, > + * INTERRUPTIBILITY and ACTIVITIY fields. > + */ > union { > - uint8_t raw; > + unsigned long raw; Minor nit: this should be uint64_t for clarity. Otherwise, it's not at all clear that the raw field covers the entire union, unless you remind myself that Xen does not support 32-bit host. > struct { > + /* > + * Accumulated %dr6 trap bits, positive polarity. Should only be > + * interpreted in the case of X86EMUL_OKAY/DONE. > + */ > + unsigned int pending_dbg; > + > bool hlt:1; /* Instruction HLTed. */ > bool mov_ss:1; /* Instruction sets MOV-SS irq shadow. */ > bool sti:1; /* Instruction sets STI irq shadow. */ > bool unblock_nmi:1; /* Instruction clears NMI blocking. */ > - bool singlestep:1; /* Singlestepping was active. */ > + bool singlestep:1; /* Singlestepping was active. (TODO, merge > into pending_dbg) */ > }; > } retire; > -- Sincerely, Jinoh Kang
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |