From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 04/10] VMX: New data structure member to support PML Date: Fri, 27 Mar 2015 20:48:49 +0000 Message-ID: <5515C231.3090405@citrix.com> References: <1427423754-11841-1-git-send-email-kai.huang@linux.intel.com> <1427423754-11841-5-git-send-email-kai.huang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1427423754-11841-5-git-send-email-kai.huang@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Kai Huang , jbeulich@suse.com, tim@xen.org, kevin.tian@intel.com, yang.z.zhang@intel.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 27/03/15 02:35, Kai Huang wrote: > A new 4K page pointer is added to arch_vmx_struct as PML buffer for vcpu. And a > new 'status' field is added to vmx_domain to indicate whether PML is enabled for > the domain or not. The 'status' field also can be used for further similiar > purpose. > > Note both new members don't have to be initialized to zero explicitly as both > vcpu and domain structure are zero-ed when they are created. > > Signed-off-by: Kai Huang > --- > xen/include/asm-x86/hvm/vmx/vmcs.h | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h b/xen/include/asm-x86/hvm/vmx/vmcs.h > index 47b4df2..8cc1122 100644 > --- a/xen/include/asm-x86/hvm/vmx/vmcs.h > +++ b/xen/include/asm-x86/hvm/vmx/vmcs.h > @@ -71,8 +71,12 @@ struct ept_data { > cpumask_var_t synced_mask; > }; > > +#define _VMX_DOMAIN_PML_ENABLED 0 > +#define VMX_DOMAIN_PML_ENABLED (1ul << _VMX_DOMAIN_PML_ENABLED) > struct vmx_domain { > unsigned long apic_access_mfn; > + /* VMX_DOMAIN_* */ > + unsigned long status; > }; > > struct pi_desc { > @@ -143,6 +147,9 @@ struct arch_vmx_struct { > /* Bitmap to control vmexit policy for Non-root VMREAD/VMWRITE */ > struct page_info *vmread_bitmap; > struct page_info *vmwrite_bitmap; > + > +#define PML_ENTITY_NUM 512 This is the number of pml entries, not entities. NR_PML_ENTRIES perhaps? > + struct page_info *pml_pg; Please align the fields vertically like vmwrite_bitmap. ~Andrew > }; > > int vmx_create_vmcs(struct vcpu *v);