mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-12-23 01:15:37 +00:00
target/i386: rename HF_SVMI_MASK to HF_GUEST_MASK
This flag will be used for KVM's nested VMX migration; the HF_GUEST_MASK name is already used in KVM, adopt it in QEMU as well. Backports commit f8dc4c645ec2956a6cd97e0ca0fdd4753181f735 from qemu
This commit is contained in:
parent
0bc0ff320c
commit
752aea8379
|
@ -152,7 +152,7 @@
|
|||
#define HF_AC_SHIFT 18 /* must be same as eflags */
|
||||
#define HF_SMM_SHIFT 19 /* CPU in SMM mode */
|
||||
#define HF_SVME_SHIFT 20 /* SVME enabled (copy of EFER.SVME) */
|
||||
#define HF_SVMI_SHIFT 21 /* SVM intercepts are active */
|
||||
#define HF_GUEST_SHIFT 21 /* SVM intercepts are active */
|
||||
#define HF_OSFXSR_SHIFT 22 /* CR4.OSFXSR */
|
||||
#define HF_SMAP_SHIFT 23 /* CR4.SMAP */
|
||||
#define HF_IOBPT_SHIFT 24 /* an io breakpoint enabled */
|
||||
|
@ -177,7 +177,7 @@
|
|||
#define HF_AC_MASK (1 << HF_AC_SHIFT)
|
||||
#define HF_SMM_MASK (1 << HF_SMM_SHIFT)
|
||||
#define HF_SVME_MASK (1 << HF_SVME_SHIFT)
|
||||
#define HF_SVMI_MASK (1 << HF_SVMI_SHIFT)
|
||||
#define HF_GUEST_MASK (1 << HF_GUEST_SHIFT)
|
||||
#define HF_OSFXSR_MASK (1 << HF_OSFXSR_SHIFT)
|
||||
#define HF_SMAP_MASK (1 << HF_SMAP_SHIFT)
|
||||
#define HF_IOBPT_MASK (1 << HF_IOBPT_SHIFT)
|
||||
|
|
|
@ -55,7 +55,7 @@ static int check_exception(CPUX86State *env, int intno, int *error_code,
|
|||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
if (env->old_exception == EXCP08_DBLE) {
|
||||
if (env->hflags & HF_SVMI_MASK) {
|
||||
if (env->hflags & HF_GUEST_MASK) {
|
||||
cpu_vmexit(env, SVM_EXIT_SHUTDOWN, 0, retaddr); /* does not return */
|
||||
}
|
||||
|
||||
|
|
|
@ -1244,7 +1244,7 @@ static void do_interrupt_all(X86CPU *cpu, int intno, int is_int,
|
|||
}
|
||||
if (env->cr[0] & CR0_PE_MASK) {
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
if (env->hflags & HF_SVMI_MASK) {
|
||||
if (env->hflags & HF_GUEST_MASK) {
|
||||
handle_even_inj(env, intno, is_int, error_code, is_hw, 0);
|
||||
}
|
||||
#endif
|
||||
|
@ -1259,7 +1259,7 @@ static void do_interrupt_all(X86CPU *cpu, int intno, int is_int,
|
|||
}
|
||||
} else {
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
if (env->hflags & HF_SVMI_MASK) {
|
||||
if (env->hflags & HF_GUEST_MASK) {
|
||||
handle_even_inj(env, intno, is_int, error_code, is_hw, 1);
|
||||
}
|
||||
#endif
|
||||
|
@ -1267,7 +1267,7 @@ static void do_interrupt_all(X86CPU *cpu, int intno, int is_int,
|
|||
}
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
if (env->hflags & HF_SVMI_MASK) {
|
||||
if (env->hflags & HF_GUEST_MASK) {
|
||||
CPUState *cs = CPU(cpu);
|
||||
uint32_t event_inj = x86_ldl_phys(cs, env->vm_vmcb +
|
||||
offsetof(struct vmcb,
|
||||
|
|
|
@ -229,7 +229,7 @@ void helper_vmrun(CPUX86State *env, int aflag, int next_eip_addend)
|
|||
}
|
||||
|
||||
/* enable intercepts */
|
||||
env->hflags |= HF_SVMI_MASK;
|
||||
env->hflags |= HF_GUEST_MASK;
|
||||
|
||||
env->tsc_offset = x86_ldq_phys(cs, env->vm_vmcb +
|
||||
offsetof(struct vmcb, control.tsc_offset));
|
||||
|
@ -504,7 +504,7 @@ void cpu_svm_check_intercept_param(CPUX86State *env, uint32_t type,
|
|||
{
|
||||
CPUState *cs = CPU(x86_env_get_cpu(env));
|
||||
|
||||
if (likely(!(env->hflags & HF_SVMI_MASK))) {
|
||||
if (likely(!(env->hflags & HF_GUEST_MASK))) {
|
||||
return;
|
||||
}
|
||||
if ( (int32_t)type >= SVM_EXIT_READ_CR0 && type <= SVM_EXIT_READ_CR0 + 8 ) {
|
||||
|
@ -686,7 +686,7 @@ void do_vmexit(CPUX86State *env, uint32_t exit_code, uint64_t exit_info_1)
|
|||
|
||||
/* Reload the host state from vm_hsave */
|
||||
env->hflags2 &= ~(HF2_HIF_MASK | HF2_VINTR_MASK);
|
||||
env->hflags &= ~HF_SVMI_MASK;
|
||||
env->hflags &= ~HF_GUEST_MASK;
|
||||
env->intercept = 0;
|
||||
env->intercept_exceptions = 0;
|
||||
cs->interrupt_request &= ~CPU_INTERRUPT_VIRQ;
|
||||
|
|
|
@ -748,7 +748,7 @@ static void gen_check_io(DisasContext *s, TCGMemOp ot, target_ulong cur_eip,
|
|||
tcg_abort();
|
||||
}
|
||||
}
|
||||
if(s->flags & HF_SVMI_MASK) {
|
||||
if(s->flags & HF_GUEST_MASK) {
|
||||
gen_update_cc_op(s);
|
||||
gen_jmp_im(s, cur_eip);
|
||||
svm_flags |= (1 << (4 + ot));
|
||||
|
@ -2522,7 +2522,7 @@ gen_svm_check_intercept_param(DisasContext *s, target_ulong pc_start,
|
|||
TCGContext *tcg_ctx = s->uc->tcg_ctx;
|
||||
|
||||
/* no SVM activated; fast case */
|
||||
if (likely(!(s->flags & HF_SVMI_MASK)))
|
||||
if (likely(!(s->flags & HF_GUEST_MASK)))
|
||||
return;
|
||||
gen_update_cc_op(s);
|
||||
gen_jmp_im(s, pc_start - s->cs_base);
|
||||
|
|
Loading…
Reference in a new issue