[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 2/7] x86/msr: add VMX MSRs into struct msr_domain_policy



>>> On 18.10.17 at 10:27, <sergey.dyasli@xxxxxxxxxx> wrote:
> New definitions provide a convenient way of accessing contents of
> VMX MSRs. They are separated into 5 logical blocks:
> 
>     1. vmx: [VMX_BASIC, VMX_VMCS_ENUM]
>     2. VMX_PROCBASED_CTLS2
>     3. VMX_EPT_VPID_CAP
>     4. vmx_true_ctls: [VMX_TRUE_PINBASED_CTLS, VMX_TRUE_ENTRY_CTLS]
>     5. VMX_VMFUNC

By merely listing them it is not really possible to judge why e.g.
PROCBASED_CTLS2 aren't being grouped into (1). Please clarify
the reasons for the split.

> +struct cr0_bits {
> +    bool     pe:1;
> +    bool     mp:1;
> +    bool     em:1;
> +    bool     ts:1;
> +    bool     et:1;
> +    bool     ne:1;
> +    uint32_t   :10; /* 6:15 reserved */
> +    bool     wp:1;
> +    uint32_t   :1;  /* 17 reserved */
> +    bool     am:1;
> +    uint32_t   :10; /* 19:28 reserved */
> +    bool     nw:1;
> +    bool     cd:1;
> +    bool     pg:1;
> +};
> +
> +struct cr4_bits {
> +    bool        vme:1;
> +    bool        pvi:1;
> +    bool        tsd:1;
> +    bool         de:1;
> +    bool        pse:1;
> +    bool        pae:1;
> +    bool        mce:1;
> +    bool        pge:1;
> +    bool        pce:1;
> +    bool     osfxsr:1;
> +    bool osxmmexcpt:1;
> +    bool       umip:1;
> +    uint32_t       :1;  /* 12 reserved */
> +    bool       vmxe:1;
> +    bool       smxe:1;
> +    uint32_t       :1;  /* 15 reserved */
> +    bool   fsgsbase:1;
> +    bool      pcide:1;
> +    bool    osxsave:1;
> +    uint32_t       :1;  /* 19 reserved */
> +    bool       smep:1;
> +    bool       smap:1;
> +    bool        pke:1;
> +    uint32_t       :9;  /* 23:31 reserved */
> +};

I don't think these belong in this header - a new x86-structs.h or
some such would seem more suitable. Also both are 64-bit registers,
and I'm missing the "raw" field anyway (allowing them to be used
elsewhere later on).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.