Messages in this thread | | | Date | Wed, 11 Apr 2012 11:48:14 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH 2/4] KVM: VMX: Add functions to fill VMCSINFO |
| |
On 04/11/2012 04:50 AM, zhangyanfei wrote: > This patch is to implement the feature that at initialization of > kvm_intel module, fills VMCSINFO with a VMCS revision identifier, > and encoded offsets of VMCS fields. The reason why we put the > VMCSINFO processing at the initialization of kvm_intel module > is that it's dangerous to rob VMX resources while kvm module is > loaded.
Maybe it should be done by a separate module.
> + > + kvm_cpu_vmxon(__pa(per_cpu(vmxarea, raw_smp_processor_id()))); > + vmcs_load(vmcs);
Should do this after writing into the vmcs directly (vmcs_load() may cache some information for vmcs_read()).
> + > + VMCSINFO_REVISION_ID(vmcs->revision_id); > + > + /* > + * Write encoded offsets into VMCS data for later vmcs_read. > + */ > + for (offset = FIELD_START; offset < vmcs_config.size; > + offset += sizeof(u16)) > + *(u16 *)((char *)vmcs + offset) = ENCODING_OFFSET(offset);
This assumes vmcs field contents use the same encoding as vmread/vmwrite. I guess it's a reasonable assumption.
-- error compiling committee.c: too many arguments to function
| |