Re: [PATCH v5 4/8] KVM: VMX: dump_vmcs() reports tertiary_exec_control field as well

From: Sean Christopherson
Date: Wed Jan 19 2022 - 20:06:40 EST


On Fri, Jan 14, 2022, Zeng Guang wrote:
> On 1/14/2022 5:03 AM, Sean Christopherson wrote:
> > Can you provide a sample dump? It's hard to visualize the output, e.g. I'm worried
> > this will be overly log and harder to read than putting tertiary controls on their
> > own line.
>
> Sample dump here.
> *** Control State ***
>
>  PinBased=0x000000ff CPUBased=0xb5a26dfa SecondaryExec=0x061037eb
> TertiaryExec=0x0000000000000010

That's quite the line. What if we reorganize the code to generate output like:

CPUBased=0xb5a26dfa SecondaryExec=0x061037eb TertiaryExec=0x0000000000000010
PinBased=0x000000ff EntryControls=0000d1ff ExitControls=002befff

That keeps the lines reasonable and IMO is better organization too, e.g. it captures
the relationship between primary, secondary, and tertiary controls.

>  EntryControls=0000d1ff ExitControls=002befff
>  ExceptionBitmap=00060042 PFECmask=00000000 PFECmatch=00000000
>  VMEntry: intr_info=00000000 errcode=00000000 ilen=00000000
>  VMExit: intr_info=00000000 errcode=00000000 ilen=00000003
>          reason=00000030 qualification=0000000000000784
> > > pr_err("EntryControls=%08x ExitControls=%08x\n", vmentry_ctl, vmexit_ctl);
> > > pr_err("ExceptionBitmap=%08x PFECmask=%08x PFECmatch=%08x\n",
> > > vmcs_read32(EXCEPTION_BITMAP),
> > > --
> > > 2.27.0
> > >