hv: nested: remove vcpu->arch.nested.current_vmcs12_ptr

This variable represents the L1 GPA of the current VMCS12.  But it's
no longer needed in the multiple active VMCS12 case, which uses the
following variables for this purpose.

- nested->current_vvmcs refers to the vvmcs[] entry which contains the
  cached current VMCS12, its associated VMCS02, and other context info.

- nested->current_vvmcs->vmcs12_gpa refers to the L1 GPA of this
  current VMCS12.

Tracked-On: #6289
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Zide Chen
2021-09-06 10:43:55 -07:00
committed by wenlingz
parent 799a4d332a
commit 4e54c3880b
2 changed files with 11 additions and 14 deletions

View File

@@ -332,12 +332,12 @@ int32_t invvpid_vmexit_handler(struct acrn_vcpu *vcpu);
struct acrn_vvmcs {
uint8_t vmcs02[PAGE_SIZE]; /* VMCS to run L2 and as Link Pointer in VMCS01 */
struct acrn_vmcs12 vmcs12; /* To cache L1's VMCS12*/
uint64_t vmcs12_gpa; /* The corresponding L1 GPA for this VMCS12 */
} __aligned(PAGE_SIZE);
struct acrn_nested {
struct acrn_vvmcs vvmcs[1];
struct acrn_vvmcs *current_vvmcs; /* Refer to the current loaded VMCS12 */
uint64_t current_vmcs12_ptr; /* GPA */
uint64_t vmxon_ptr; /* GPA */
bool vmxon; /* To indicate if vCPU entered VMX operation */
bool in_l2_guest; /* To indicate if vCPU is currently in Guest mode (from L1's perspective) */