On Tue, 2026-06-30 at 08:52 -0700, Jim Mattson wrote:
> On Mon, Jun 29, 2026 at 5:57 AM Tina Zhang <[email protected]> wrote:
> >
> > The SVM DecodeAssists feature is reported in CPUID
> > Fn8000_000A_EDX[7]. When available, hardware provides the length and bytes
> > of the intercepted instruction in the VMCB, allowing a hypervisor to consume
> > the decode information directly instead of re-decoding the instruction in
> > software on relevant VM-Exit paths.
>
> DecodeAssists actually comprises four components:
> * GPR number in EXITINFO1 for MOV-CR and MOV-DR VM-exits
> * Software interrupt number in EXITINFO1 for INTn VM-exits
> * Linear address in EXITINFO1 for INVLPG[A] VM-exits
> * Guest instruction bytes and length in the VMCB for #NPF and #PF VM-exits
>
> You only partially address the last component.
>
Yes, and I also remember when I implemented some of the optional SVM features,
I decided not to implement this, also because of the same reason - pass-through
is easy but for all the emulated VM exits, it can be tricky to get that right.
Best regards,
Maxim Levitsky