On Mon, Oct 07, 2019 at 07:08:28PM +0200, Paolo Bonzini wrote:
> On 04/10/19 23:56, Sean Christopherson wrote:
> > +#define VMX_FEATURE_RDSEED_EXITING ( 2*32+ 16) /* "" VM-Exit on RDSEED */
> > +#define VMX_FEATURE_PAGE_MOD_LOGGING ( 2*32+ 17) /* "pml" Log dirty
> > pages into buffer */
> > +#define VMX_FEATURE_EPT_VIOLATION_VE ( 2*32+ 18) /* "" Conditionally
> > reflect EPT violations as #VE exceptions */
> > +#define VMX_FEATURE_PT_CONCEAL_VMX ( 2*32+ 19) /* "" Suppress VMX
> > indicators in Processor Trace */
> > +#define VMX_FEATURE_XSAVES ( 2*32+ 20) /* "" Enable XSAVES and
> > XRSTORS in guest */
> > +#define VMX_FEATURE_RESERVED_PIN_21( 2*32+ 21) /* "" Reserved */
> > +#define VMX_FEATURE_MODE_BASED_EPT_EXEC( 2*32+ 22) /* Enable separate
> > EPT EXEC bits for supervisor vs. user */
> > +#define VMX_FEATURE_RESERVED_PIN_23( 2*32+ 23) /* "" Reserved */
> > +#define VMX_FEATURE_PT_USE_GPA ( 2*32+ 24) /* "" Processor
> > Trace logs GPAs */
> > +#define VMX_FEATURE_TSC_SCALING( 2*32+ 25) /* Scale hardware
> > TSC when read in guest */
> > +#define VMX_FEATURE_RESERVED_PIN_26( 2*32+ 26) /* "" Reserved */
> > +#define VMX_FEATURE_RESERVED_PIN_27( 2*32+ 27) /* "" Reserved */
> > +#define VMX_FEATURE_ENCLV_EXITING ( 2*32+ 28) /* "" VM-Exit on ENCLV
> > (leaf dependent) */
> > +#define VMX_FEATURE_RESERVED_PIN_29( 2*32+ 29) /* "" Reserved */
> > +#define VMX_FEATURE_RESERVED_PIN_30( 2*32+ 30) /* "" Reserved */
> > +#define VMX_FEATURE_RESERVED_PIN_31( 2*32+ 31) /* "" Reserved */
>
> Pasto on the reserved bit names, but in general why is it useful to
> define them?
Doh. It was mostly so that I could more easily cross-reference the SDM
and visually see that I wasn't skipping bits. No argument from me if it'd
be preferably to omit them.