Re: [PATCH 2/4] KVM: VMX: Add functions to fill VMCSINFO

From: Avi Kivity
Date: Wed Apr 11 2012 - 04:48:33 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/