Compare commits
1 commit
embedding-
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 109c97f4a3 |
2 changed files with 16 additions and 0 deletions
|
|
@ -20,6 +20,12 @@
|
|||
#define HOST_GS_SELECTOR 0x0C0A
|
||||
#define HOST_TR_SELECTOR 0x0C0C
|
||||
|
||||
#define IO_BITMAP_ADDRESS_A 0x2000
|
||||
#define IO_BITMAP_ADDRESS_B 0x2002
|
||||
#define MSR_BITMAP_ADDRESS 0x2004
|
||||
#define VM_EXIT_MSR_STORE_ADDRESS 0x2006
|
||||
#define VM_EXIT_MSR_LOAD_ADDRESS 0x2008
|
||||
|
||||
#define VMCS_LINK_POINTER 0x2800
|
||||
#define GUEST_IA32_DEBUGCTL 0x2802
|
||||
#define GUEST_IA32_PAT 0x2804
|
||||
|
|
|
|||
10
src/vintel.c
10
src/vintel.c
|
|
@ -207,8 +207,12 @@ vintel_init_host(void)
|
|||
// Set GDT and IDT
|
||||
checked_vmwrite(HOST_GDTR_BASE, (uintptr_t)pv->host_gdtr.base);
|
||||
checked_vmwrite(HOST_IDTR_BASE, (uintptr_t)pv->host_idtr.base);
|
||||
checked_vmwrite(HOST_FS_BASE, 0);
|
||||
checked_vmwrite(HOST_GS_BASE, 0);
|
||||
checked_vmwrite(HOST_TR_BASE, 0); // TODO proper value
|
||||
|
||||
// Dummy sysenter & sysexit values
|
||||
checked_vmwrite(HOST_SYSENTER_CS, 0x08);
|
||||
checked_vmwrite(HOST_SYSENTER_ESP, 0x4000);
|
||||
checked_vmwrite(HOST_SYSENTER_EIP, 0x4000);
|
||||
}
|
||||
|
|
@ -275,6 +279,12 @@ vintel_enable(void)
|
|||
checked_vmwrite(VM_EXIT_CONTROLS, exitControls);
|
||||
AsciiPrint("VM_EXIT_CONTROLS: %lx\n", exitControls);
|
||||
|
||||
checked_vmwrite(IO_BITMAP_ADDRESS_A, 0);
|
||||
checked_vmwrite(IO_BITMAP_ADDRESS_B, 0);
|
||||
checked_vmwrite(MSR_BITMAP_ADDRESS, 0);
|
||||
checked_vmwrite(VM_EXIT_MSR_STORE_ADDRESS, 0);
|
||||
checked_vmwrite(VM_EXIT_MSR_LOAD_ADDRESS, 0);
|
||||
|
||||
checked_vmwrite(VM_ENTRY_MSR_LOAD_COUNT, 0);
|
||||
checked_vmwrite(VM_ENTRY_INTR_INFO_FIELD, 0);
|
||||
checked_vmwrite(VM_EXIT_MSR_STORE_COUNT, 0);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue