hv:Replace dynamic memory allocation for vmcs region

Replace vmcs pointer with static memory for vmcs region
inside structure vcpu_arch.

Tracked-On: #861
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Reviewed-by: Anthony Xu <anthony.xu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Mingqiang Chi
2018-09-07 10:12:51 +08:00
committed by lijinxia
parent ca75d506b7
commit eada04b800
2 changed files with 6 additions and 14 deletions

View File

@@ -164,11 +164,11 @@ struct cpu_context {
};
struct vcpu_arch {
/* vmcs region for this vcpu, MUST be 4KB-aligned */
uint8_t vmcs[CPU_PAGE_SIZE];
int cur_context;
struct cpu_context contexts[NR_WORLD];
/* A pointer to the VMCS for this CPU. */
void *vmcs;
uint16_t vpid;
/* Holds the information needed for IRQ/exception handling. */
@@ -205,14 +205,14 @@ struct vcpu_arch {
/* per vcpu lapic */
void *vlapic;
};
} __aligned(CPU_PAGE_SIZE);
struct vm;
struct vcpu {
/* Architecture specific definitions for this VCPU */
struct vcpu_arch arch_vcpu;
uint16_t pcpu_id; /* Physical CPU ID of this VCPU */
uint16_t vcpu_id; /* virtual identifier for VCPU */
struct vcpu_arch arch_vcpu;
/* Architecture specific definitions for this VCPU */
struct vm *vm; /* Reference to the VM this VCPU belongs to */
void *entry_addr; /* Entry address for this VCPU when first started */
@@ -246,7 +246,7 @@ struct vcpu {
#endif
uint64_t reg_cached;
uint64_t reg_updated;
};
} __aligned(CPU_PAGE_SIZE);
struct vcpu_dump {
struct vcpu *vcpu;