[PATCH 2/4] KVM: VMX: Add functions to fill VMCSINFO
Avi Kivity
avi at redhat.com
Wed Apr 11 04:48:14 EDT 2012
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
More information about the kexec
mailing list