mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
SVM rework
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4605 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
893f986502
commit
872929aa59
8 changed files with 384 additions and 479 deletions
|
@ -1096,16 +1096,15 @@ int cpu_x86_handle_mmu_fault(CPUX86State *env, target_ulong addr,
|
|||
(env->efer & MSR_EFER_NXE) &&
|
||||
(env->cr[4] & CR4_PAE_MASK))
|
||||
error_code |= PG_ERROR_I_D_MASK;
|
||||
if (INTERCEPTEDl(_exceptions, 1 << EXCP0E_PAGE)) {
|
||||
stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_2), addr);
|
||||
if (env->intercept_exceptions & (1 << EXCP0E_PAGE)) {
|
||||
/* cr2 is not modified in case of exceptions */
|
||||
stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_2),
|
||||
addr);
|
||||
} else {
|
||||
env->cr[2] = addr;
|
||||
}
|
||||
env->error_code = error_code;
|
||||
env->exception_index = EXCP0E_PAGE;
|
||||
/* the VMM will handle this */
|
||||
if (INTERCEPTEDl(_exceptions, 1 << EXCP0E_PAGE))
|
||||
return 2;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue