mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-10-20 14:58:16 +02:00
f5f1d9f86b
This implements NPT suport for SVM by hooking into x86_cpu_handle_mmu_fault where it reads the stage-1 page table. Whether we need to perform this 2nd stage translation, and how, is decided during vmrun and stored in hflags2, along with nested_cr3 and nested_pg_mode. As get_hphys performs a direct cpu_vmexit in case of NPT faults, we need retaddr in that function. To avoid changing the signature of cpu_handle_mmu_fault, this passes the value from tlb_fill to get_hphys via the CPU state. This was tested successfully via the Jailhouse hypervisor. Backports commit fe441054bb3f0c75ff23335790342c0408e11c3a from qemu |
||
---|---|---|
.. | ||
arch_memory_mapping.c | ||
bpt_helper.c | ||
cc_helper_template.h | ||
cc_helper.c | ||
cpu-qom.h | ||
cpu.c | ||
cpu.h | ||
excp_helper.c | ||
fpu_helper.c | ||
helper.c | ||
helper.h | ||
int_helper.c | ||
Makefile.objs | ||
mem_helper.c | ||
misc_helper.c | ||
mpx_helper.c | ||
ops_sse_header.h | ||
ops_sse.h | ||
seg_helper.c | ||
shift_helper_template.h | ||
smm_helper.c | ||
svm_helper.c | ||
svm.h | ||
TODO | ||
topology.h | ||
translate.c | ||
unicorn.c | ||
unicorn.h |