mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-24 02:08:04 +00:00
hv: define 4 vcpu modes
move enum vm_cpu_mode to guest.h move enum vm_paging_mode to guest.h replace REAL_MODE with CPU_MODE_REAL replace PAGE_PROTECTED_MODE with CPU_MODE_64BIT Signed-off-by: Binbin Wu <binbin.wu@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
@@ -124,20 +124,6 @@ struct seg_desc {
|
||||
#define SEG_DESC_GRANULARITY(access) (((access) & 0x8000) ? 1 : 0)
|
||||
#define SEG_DESC_UNUSABLE(access) (((access) & 0x10000) ? 1 : 0)
|
||||
|
||||
enum vm_cpu_mode {
|
||||
CPU_MODE_REAL,
|
||||
CPU_MODE_PROTECTED,
|
||||
CPU_MODE_COMPATIBILITY, /* IA-32E mode (CS.L = 0) */
|
||||
CPU_MODE_64BIT, /* IA-32E mode (CS.L = 1) */
|
||||
};
|
||||
|
||||
enum vm_paging_mode {
|
||||
PAGING_MODE_FLAT,
|
||||
PAGING_MODE_32,
|
||||
PAGING_MODE_PAE,
|
||||
PAGING_MODE_64,
|
||||
};
|
||||
|
||||
struct vm_guest_paging {
|
||||
uint64_t cr3;
|
||||
int cpl;
|
||||
|
@@ -265,9 +265,9 @@ void reset_vcpu(struct vcpu *vcpu)
|
||||
void init_vcpu(struct vcpu *vcpu)
|
||||
{
|
||||
if (is_vcpu_bsp(vcpu))
|
||||
vcpu->arch_vcpu.cpu_mode = PAGE_PROTECTED_MODE;
|
||||
vcpu->arch_vcpu.cpu_mode = CPU_MODE_64BIT;
|
||||
else
|
||||
vcpu->arch_vcpu.cpu_mode = REAL_MODE;
|
||||
vcpu->arch_vcpu.cpu_mode = CPU_MODE_REAL;
|
||||
/* init_vmcs is delayed to vcpu vmcs launch first time */
|
||||
}
|
||||
|
||||
@@ -336,9 +336,9 @@ int prepare_vcpu(struct vm *vm, int pcpu_id)
|
||||
if (!vm_sw_loader)
|
||||
vm_sw_loader = general_sw_loader;
|
||||
vm_sw_loader(vm, vcpu);
|
||||
vcpu->arch_vcpu.cpu_mode = PAGE_PROTECTED_MODE;
|
||||
vcpu->arch_vcpu.cpu_mode = CPU_MODE_64BIT;
|
||||
} else {
|
||||
vcpu->arch_vcpu.cpu_mode = REAL_MODE;
|
||||
vcpu->arch_vcpu.cpu_mode = CPU_MODE_REAL;
|
||||
}
|
||||
|
||||
/* init_vmcs is delayed to vcpu vmcs launch first time */
|
||||
|
@@ -1065,7 +1065,7 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic)
|
||||
if (--target_vcpu->arch_vcpu.nr_sipi > 0)
|
||||
return 0;
|
||||
|
||||
target_vcpu->arch_vcpu.cpu_mode = REAL_MODE;
|
||||
target_vcpu->arch_vcpu.cpu_mode = CPU_MODE_REAL;
|
||||
target_vcpu->arch_vcpu.sipi_vector = vec;
|
||||
pr_err("Start Secondary VCPU%d for VM[%d]...",
|
||||
target_vcpu->vcpu_id,
|
||||
|
Reference in New Issue
Block a user