Changeset 43387 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Sep 21, 2012 9:40:25 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 80859
- Location:
- trunk/src/VBox/VMM/include
- Files:
-
- 4 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/EMHandleRCTmpl.h
r42779 r43387 20 20 21 21 /** 22 * Process a subset of the raw-mode and h waccm return codes.22 * Process a subset of the raw-mode and hm return codes. 23 23 * 24 24 * Since we have to share this with raw-mode single stepping, this inline … … 35 35 #ifdef EMHANDLERC_WITH_PATM 36 36 int emR3RawHandleRC(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx, int rc) 37 #elif defined(EMHANDLERC_WITH_H WACCM)37 #elif defined(EMHANDLERC_WITH_HM) 38 38 int emR3HwaccmHandleRC(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx, int rc) 39 39 #endif … … 219 219 break; 220 220 221 #ifdef EMHANDLERC_WITH_H WACCM221 #ifdef EMHANDLERC_WITH_HM 222 222 /* 223 223 * (MM)IO intensive code block detected; fall back to the recompiler for better performance 224 224 */ 225 225 case VINF_EM_RAW_EMULATE_IO_BLOCK: 226 rc = H WACCMR3EmulateIoBlock(pVM, pCtx);227 break; 228 229 case VINF_EM_H WACCM_PATCH_TPR_INSTR:230 rc = H WACCMR3PatchTprInstr(pVM, pVCpu, pCtx);226 rc = HMR3EmulateIoBlock(pVM, pCtx); 227 break; 228 229 case VINF_EM_HM_PATCH_TPR_INSTR: 230 rc = HMR3PatchTprInstr(pVM, pVCpu, pCtx); 231 231 break; 232 232 #endif … … 334 334 break; 335 335 336 #ifdef EMHANDLERC_WITH_H WACCM336 #ifdef EMHANDLERC_WITH_HM 337 337 /* 338 338 * Up a level, after HwAccM have done some release logging. … … 347 347 case VERR_VMX_UNABLE_TO_START_VM: 348 348 case VERR_VMX_UNABLE_TO_RESUME_VM: 349 H WACCMR3CheckError(pVM, rc);349 HMR3CheckError(pVM, rc); 350 350 break; 351 351 -
trunk/src/VBox/VMM/include/HMInternal.h
r43373 r43387 16 16 */ 17 17 18 #ifndef ___H WACCMInternal_h19 #define ___H WACCMInternal_h18 #ifndef ___HMInternal_h 19 #define ___HMInternal_h 20 20 21 21 #include <VBox/cdefs.h> … … 24 24 #include <VBox/vmm/stam.h> 25 25 #include <VBox/dis.h> 26 #include <VBox/vmm/h waccm.h>27 #include <VBox/vmm/h wacc_vmx.h>26 #include <VBox/vmm/hm.h> 27 #include <VBox/vmm/hm_vmx.h> 28 28 #include <VBox/vmm/pgm.h> 29 29 #include <VBox/vmm/cpum.h> … … 39 39 40 40 #define VMX_USE_CACHED_VMCS_ACCESSES 41 #define H WACCM_VMX_EMULATE_REALMODE41 #define HM_VMX_EMULATE_REALMODE 42 42 43 43 /* The MSR auto load/store does not work for KERNEL_GS_BASE MSR, thus we … … 52 52 53 53 54 /** @defgroup grp_h waccm_int Internal55 * @ingroup grp_h waccm54 /** @defgroup grp_hm_int Internal 55 * @ingroup grp_hm 56 56 * @internal 57 57 * @{ … … 69 69 * @{ 70 70 */ 71 #define H WACCM_CHANGED_GUEST_FPU RT_BIT(0)72 #define H WACCM_CHANGED_GUEST_CR0 RT_BIT(1)73 #define H WACCM_CHANGED_GUEST_CR3 RT_BIT(2)74 #define H WACCM_CHANGED_GUEST_CR4 RT_BIT(3)75 #define H WACCM_CHANGED_GUEST_GDTR RT_BIT(4)76 #define H WACCM_CHANGED_GUEST_IDTR RT_BIT(5)77 #define H WACCM_CHANGED_GUEST_LDTR RT_BIT(6)78 #define H WACCM_CHANGED_GUEST_TR RT_BIT(7)79 #define H WACCM_CHANGED_GUEST_MSR RT_BIT(8)80 #define H WACCM_CHANGED_GUEST_SEGMENT_REGS RT_BIT(9)81 #define H WACCM_CHANGED_GUEST_DEBUG RT_BIT(10)82 #define H WACCM_CHANGED_HOST_CONTEXT RT_BIT(11)83 84 #define H WACCM_CHANGED_ALL ( HWACCM_CHANGED_GUEST_SEGMENT_REGS \85 | H WACCM_CHANGED_GUEST_CR0 \86 | H WACCM_CHANGED_GUEST_CR3 \87 | H WACCM_CHANGED_GUEST_CR4 \88 | H WACCM_CHANGED_GUEST_GDTR \89 | H WACCM_CHANGED_GUEST_IDTR \90 | H WACCM_CHANGED_GUEST_LDTR \91 | H WACCM_CHANGED_GUEST_TR \92 | H WACCM_CHANGED_GUEST_MSR \93 | H WACCM_CHANGED_GUEST_FPU \94 | H WACCM_CHANGED_GUEST_DEBUG \95 | H WACCM_CHANGED_HOST_CONTEXT)96 97 #define H WACCM_CHANGED_ALL_GUEST ( HWACCM_CHANGED_GUEST_SEGMENT_REGS \98 | H WACCM_CHANGED_GUEST_CR0 \99 | H WACCM_CHANGED_GUEST_CR3 \100 | H WACCM_CHANGED_GUEST_CR4 \101 | H WACCM_CHANGED_GUEST_GDTR \102 | H WACCM_CHANGED_GUEST_IDTR \103 | H WACCM_CHANGED_GUEST_LDTR \104 | H WACCM_CHANGED_GUEST_TR \105 | H WACCM_CHANGED_GUEST_MSR \106 | H WACCM_CHANGED_GUEST_DEBUG \107 | H WACCM_CHANGED_GUEST_FPU)71 #define HM_CHANGED_GUEST_FPU RT_BIT(0) 72 #define HM_CHANGED_GUEST_CR0 RT_BIT(1) 73 #define HM_CHANGED_GUEST_CR3 RT_BIT(2) 74 #define HM_CHANGED_GUEST_CR4 RT_BIT(3) 75 #define HM_CHANGED_GUEST_GDTR RT_BIT(4) 76 #define HM_CHANGED_GUEST_IDTR RT_BIT(5) 77 #define HM_CHANGED_GUEST_LDTR RT_BIT(6) 78 #define HM_CHANGED_GUEST_TR RT_BIT(7) 79 #define HM_CHANGED_GUEST_MSR RT_BIT(8) 80 #define HM_CHANGED_GUEST_SEGMENT_REGS RT_BIT(9) 81 #define HM_CHANGED_GUEST_DEBUG RT_BIT(10) 82 #define HM_CHANGED_HOST_CONTEXT RT_BIT(11) 83 84 #define HM_CHANGED_ALL ( HM_CHANGED_GUEST_SEGMENT_REGS \ 85 | HM_CHANGED_GUEST_CR0 \ 86 | HM_CHANGED_GUEST_CR3 \ 87 | HM_CHANGED_GUEST_CR4 \ 88 | HM_CHANGED_GUEST_GDTR \ 89 | HM_CHANGED_GUEST_IDTR \ 90 | HM_CHANGED_GUEST_LDTR \ 91 | HM_CHANGED_GUEST_TR \ 92 | HM_CHANGED_GUEST_MSR \ 93 | HM_CHANGED_GUEST_FPU \ 94 | HM_CHANGED_GUEST_DEBUG \ 95 | HM_CHANGED_HOST_CONTEXT) 96 97 #define HM_CHANGED_ALL_GUEST ( HM_CHANGED_GUEST_SEGMENT_REGS \ 98 | HM_CHANGED_GUEST_CR0 \ 99 | HM_CHANGED_GUEST_CR3 \ 100 | HM_CHANGED_GUEST_CR4 \ 101 | HM_CHANGED_GUEST_GDTR \ 102 | HM_CHANGED_GUEST_IDTR \ 103 | HM_CHANGED_GUEST_LDTR \ 104 | HM_CHANGED_GUEST_TR \ 105 | HM_CHANGED_GUEST_MSR \ 106 | HM_CHANGED_GUEST_DEBUG \ 107 | HM_CHANGED_GUEST_FPU) 108 108 109 109 /** @} */ 110 110 111 111 /** Maximum number of page flushes we are willing to remember before considering a full TLB flush. */ 112 #define H WACCM_MAX_TLB_SHOOTDOWN_PAGES 8112 #define HM_MAX_TLB_SHOOTDOWN_PAGES 8 113 113 114 114 /** Size for the EPT identity page table (1024 4 MB pages to cover the entire address space). */ 115 #define H WACCM_EPT_IDENTITY_PG_TABLE_SIZE PAGE_SIZE115 #define HM_EPT_IDENTITY_PG_TABLE_SIZE PAGE_SIZE 116 116 /** Size of the TSS structure + 2 pages for the IO bitmap + end byte. */ 117 #define H WACCM_VTX_TSS_SIZE (sizeof(VBOXTSS) + 2*PAGE_SIZE + 1)117 #define HM_VTX_TSS_SIZE (sizeof(VBOXTSS) + 2*PAGE_SIZE + 1) 118 118 /** Total guest mapped memory needed. */ 119 #define H WACCM_VTX_TOTAL_DEVHEAP_MEM (HWACCM_EPT_IDENTITY_PG_TABLE_SIZE + HWACCM_VTX_TSS_SIZE)119 #define HM_VTX_TOTAL_DEVHEAP_MEM (HM_EPT_IDENTITY_PG_TABLE_SIZE + HM_VTX_TSS_SIZE) 120 120 121 121 /** Enable for TPR guest patching. */ 122 #define VBOX_H WACCM_WITH_GUEST_PATCHING123 124 /** H WACCM SSM version125 */ 126 #ifdef VBOX_H WACCM_WITH_GUEST_PATCHING127 # define H WACCM_SSM_VERSION 5128 # define H WACCM_SSM_VERSION_NO_PATCHING 4122 #define VBOX_HM_WITH_GUEST_PATCHING 123 124 /** HM SSM version 125 */ 126 #ifdef VBOX_HM_WITH_GUEST_PATCHING 127 # define HM_SSM_VERSION 5 128 # define HM_SSM_VERSION_NO_PATCHING 4 129 129 #else 130 # define H WACCM_SSM_VERSION 4131 # define H WACCM_SSM_VERSION_NO_PATCHING 4132 #endif 133 #define H WACCM_SSM_VERSION_2_0_X 3130 # define HM_SSM_VERSION 4 131 # define HM_SSM_VERSION_NO_PATCHING 4 132 #endif 133 #define HM_SSM_VERSION_2_0_X 3 134 134 135 135 /** … … 160 160 typedef enum 161 161 { 162 H WACCMPENDINGIO_INVALID = 0,163 H WACCMPENDINGIO_PORT_READ,164 H WACCMPENDINGIO_PORT_WRITE,165 H WACCMPENDINGIO_STRING_READ,166 H WACCMPENDINGIO_STRING_WRITE,162 HMPENDINGIO_INVALID = 0, 163 HMPENDINGIO_PORT_READ, 164 HMPENDINGIO_PORT_WRITE, 165 HMPENDINGIO_STRING_READ, 166 HMPENDINGIO_STRING_WRITE, 167 167 /** The usual 32-bit paranoia. */ 168 H WACCMPENDINGIO_32BIT_HACK = 0x7fffffff169 } H WACCMPENDINGIO;168 HMPENDINGIO_32BIT_HACK = 0x7fffffff 169 } HMPENDINGIO; 170 170 171 171 172 172 typedef enum 173 173 { 174 H WACCMTPRINSTR_INVALID,175 H WACCMTPRINSTR_READ,176 H WACCMTPRINSTR_READ_SHR4,177 H WACCMTPRINSTR_WRITE_REG,178 H WACCMTPRINSTR_WRITE_IMM,179 H WACCMTPRINSTR_JUMP_REPLACEMENT,174 HMTPRINSTR_INVALID, 175 HMTPRINSTR_READ, 176 HMTPRINSTR_READ_SHR4, 177 HMTPRINSTR_WRITE_REG, 178 HMTPRINSTR_WRITE_IMM, 179 HMTPRINSTR_JUMP_REPLACEMENT, 180 180 /** The usual 32-bit paranoia. */ 181 H WACCMTPRINSTR_32BIT_HACK = 0x7fffffff182 } H WACCMTPRINSTR;181 HMTPRINSTR_32BIT_HACK = 0x7fffffff 182 } HMTPRINSTR; 183 183 184 184 typedef struct … … 195 195 uint32_t cbNewOp; 196 196 /** Instruction type. */ 197 H WACCMTPRINSTR enmType;197 HMTPRINSTR enmType; 198 198 /** Source operand. */ 199 199 uint32_t uSrcOperand; … … 204 204 /** Patch address of the jump replacement. */ 205 205 RTGCPTR32 pJumpTarget; 206 } H WACCMTPRPATCH;207 /** Pointer to H WACCMTPRPATCH. */208 typedef H WACCMTPRPATCH *PHWACCMTPRPATCH;206 } HMTPRPATCH; 207 /** Pointer to HMTPRPATCH. */ 208 typedef HMTPRPATCH *PHMTPRPATCH; 209 209 210 210 /** … … 215 215 * @returns Return code indicating the action to take. 216 216 */ 217 typedef DECLCALLBACK (int) FNH WACCMSWITCHERHC(PVM pVM, uint32_t uOffsetVMCPU);217 typedef DECLCALLBACK (int) FNHMSWITCHERHC(PVM pVM, uint32_t uOffsetVMCPU); 218 218 /** Pointer to switcher function. */ 219 typedef FNH WACCMSWITCHERHC *PFNHWACCMSWITCHERHC;219 typedef FNHMSWITCHERHC *PFNHMSWITCHERHC; 220 220 221 221 /** 222 * H WACCM VM Instance data.223 * Changes to this must checked against the padding of the h waccm union in VM!224 */ 225 typedef struct H WACCM222 * HM VM Instance data. 223 * Changes to this must checked against the padding of the hm union in VM! 224 */ 225 typedef struct HM 226 226 { 227 227 /** Set when we've initialized VMX or SVM. */ … … 276 276 #if HC_ARCH_BITS == 32 && defined(VBOX_ENABLE_64_BITS_GUESTS) && !defined(VBOX_WITH_HYBRID_32BIT_KERNEL) 277 277 /** 32 to 64 bits switcher entrypoint. */ 278 R0PTRTYPE(PFNH WACCMSWITCHERHC) pfnHost32ToGuest64R0;278 R0PTRTYPE(PFNHMSWITCHERHC) pfnHost32ToGuest64R0; 279 279 280 280 /* AMD-V 64 bits vmrun handler */ … … 300 300 struct 301 301 { 302 /** Set by the ring-0 side of H WACCM to indicate VMX is supported by the302 /** Set by the ring-0 side of HM to indicate VMX is supported by the 303 303 * CPU. */ 304 304 bool fSupported; … … 400 400 struct 401 401 { 402 /** Set by the ring-0 side of H WACCM to indicate SVM is supported by the402 /** Set by the ring-0 side of HM to indicate SVM is supported by the 403 403 * CPU. */ 404 404 bool fSupported; … … 432 432 AVLOU32TREE PatchTree; 433 433 uint32_t cPatches; 434 H WACCMTPRPATCH aPatches[64];434 HMTPRPATCH aPatches[64]; 435 435 436 436 struct … … 443 443 int32_t lLastError; 444 444 445 /** H WACCMR0Init was run */446 bool fH WACCMR0Init;445 /** HMR0Init was run */ 446 bool fHMR0Init; 447 447 bool u8Alignment1[7]; 448 448 … … 451 451 STAMCOUNTER StatTPRReplaceSuccess; 452 452 STAMCOUNTER StatTPRReplaceFailure; 453 } H WACCM;454 /** Pointer to H WACCM VM instance data. */455 typedef H WACCM *PHWACCM;453 } HM; 454 /** Pointer to HM VM instance data. */ 455 typedef HM *PHM; 456 456 457 457 /* Maximum number of cached entries. */ … … 518 518 519 519 /** VMX StartVM function. */ 520 typedef DECLCALLBACK(int) FNH WACCMVMXSTARTVM(RTHCUINT fResume, PCPUMCTX pCtx, PVMCSCACHE pCache, PVM pVM, PVMCPU pVCpu);520 typedef DECLCALLBACK(int) FNHMVMXSTARTVM(RTHCUINT fResume, PCPUMCTX pCtx, PVMCSCACHE pCache, PVM pVM, PVMCPU pVCpu); 521 521 /** Pointer to a VMX StartVM function. */ 522 typedef R0PTRTYPE(FNH WACCMVMXSTARTVM *) PFNHWACCMVMXSTARTVM;522 typedef R0PTRTYPE(FNHMVMXSTARTVM *) PFNHMVMXSTARTVM; 523 523 524 524 /** SVM VMRun function. */ 525 typedef DECLCALLBACK(int) FNH WACCMSVMVMRUN(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx, PVM pVM, PVMCPU pVCpu);525 typedef DECLCALLBACK(int) FNHMSVMVMRUN(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx, PVM pVM, PVMCPU pVCpu); 526 526 /** Pointer to a SVM VMRun function. */ 527 typedef R0PTRTYPE(FNH WACCMSVMVMRUN *) PFNHWACCMSVMVMRUN;527 typedef R0PTRTYPE(FNHMSVMVMRUN *) PFNHMSVMVMRUN; 528 528 529 529 /** 530 * H WACCM VMCPU Instance data.531 */ 532 typedef struct H WACCMCPU530 * HM VMCPU Instance data. 531 */ 532 typedef struct HMCPU 533 533 { 534 534 /** Old style FPU reporting trap mask override performed (optimization) */ … … 551 551 volatile uint32_t cWorldSwitchExits; 552 552 553 /** H WACCM_CHANGED_* flags. */553 /** HM_CHANGED_* flags. */ 554 554 uint32_t fContextUseFlags; 555 555 … … 578 578 579 579 /** Ring 0 handlers for VT-x. */ 580 PFNH WACCMVMXSTARTVM pfnStartVM;580 PFNHMVMXSTARTVM pfnStartVM; 581 581 582 582 #if HC_ARCH_BITS == 32 … … 658 658 /** The last seen guest paging mode (by VT-x). */ 659 659 PGMMODE enmLastSeenGuestMode; 660 /** Current guest paging mode (as seen by H WACCMR3PagingModeChanged). */660 /** Current guest paging mode (as seen by HMR3PagingModeChanged). */ 661 661 PGMMODE enmCurrGuestMode; 662 /** Previous guest paging mode (as seen by H WACCMR3PagingModeChanged). */662 /** Previous guest paging mode (as seen by HMR3PagingModeChanged). */ 663 663 PGMMODE enmPrevGuestMode; 664 664 } vmx; … … 681 681 682 682 /** Ring 0 handlers for VT-x. */ 683 PFNH WACCMSVMVMRUN pfnVMRun;683 PFNHMSVMVMRUN pfnVMRun; 684 684 685 685 /** R0 memory object for the MSR bitmap (8kb). */ … … 714 714 { 715 715 /* Pending IO operation type. */ 716 H WACCMPENDINGIO enmType;716 HMPENDINGIO enmType; 717 717 uint32_t uPadding; 718 718 RTGCPTR GCPtrRip; … … 734 734 735 735 /** The CPU ID of the CPU currently owning the VMCS. Set in 736 * H WACCMR0Enter and cleared in HWACCMR0Leave. */736 * HMR0Enter and cleared in HMR0Leave. */ 737 737 RTCPUID idEnteredCpu; 738 738 … … 740 740 struct 741 741 { 742 RTGCPTR aPages[H WACCM_MAX_TLB_SHOOTDOWN_PAGES];742 RTGCPTR aPages[HM_MAX_TLB_SHOOTDOWN_PAGES]; 743 743 unsigned cPages; 744 744 } TlbShootdown; … … 858 858 R0PTRTYPE(PSTAMCOUNTER) paStatInjectedIrqsR0; 859 859 #endif 860 } H WACCMCPU;861 /** Pointer to H WACCM VM instance data. */862 typedef H WACCMCPU *PHWACCMCPU;860 } HMCPU; 861 /** Pointer to HM VM instance data. */ 862 typedef HMCPU *PHMCPU; 863 863 864 864 865 865 #ifdef IN_RING0 866 866 867 VMMR0DECL(PHMGLOBLCPUINFO) H WACCMR0GetCurrentCpu(void);868 VMMR0DECL(PHMGLOBLCPUINFO) H WACCMR0GetCurrentCpuEx(RTCPUID idCpu);867 VMMR0DECL(PHMGLOBLCPUINFO) HMR0GetCurrentCpu(void); 868 VMMR0DECL(PHMGLOBLCPUINFO) HMR0GetCurrentCpuEx(RTCPUID idCpu); 869 869 870 870 871 871 #ifdef VBOX_STRICT 872 VMMR0DECL(void) H WACCMDumpRegs(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx);873 VMMR0DECL(void) H WACCMR0DumpDescriptor(PCX86DESCHC pDesc, RTSEL Sel, const char *pszMsg);872 VMMR0DECL(void) HMDumpRegs(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx); 873 VMMR0DECL(void) HMR0DumpDescriptor(PCX86DESCHC pDesc, RTSEL Sel, const char *pszMsg); 874 874 #else 875 # define H WACCMDumpRegs(a, b ,c) do { } while (0)876 # define H WACCMR0DumpDescriptor(a, b, c) do { } while (0)875 # define HMDumpRegs(a, b ,c) do { } while (0) 876 # define HMR0DumpDescriptor(a, b, c) do { } while (0) 877 877 #endif 878 878 879 879 # ifdef VBOX_WITH_KERNEL_USING_XMM 880 DECLASM(int) h waccmR0VMXStartVMWrapXMM(RTHCUINT fResume, PCPUMCTX pCtx, PVMCSCACHE pCache, PVM pVM, PVMCPU pVCpu, PFNHWACCMVMXSTARTVM pfnStartVM);881 DECLASM(int) h waccmR0SVMRunWrapXMM(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx, PVM pVM, PVMCPU pVCpu, PFNHWACCMSVMVMRUN pfnVMRun);880 DECLASM(int) hmR0VMXStartVMWrapXMM(RTHCUINT fResume, PCPUMCTX pCtx, PVMCSCACHE pCache, PVM pVM, PVMCPU pVCpu, PFNHMVMXSTARTVM pfnStartVM); 881 DECLASM(int) hmR0SVMRunWrapXMM(RTHCPHYS pVMCBHostPhys, RTHCPHYS pVMCBPhys, PCPUMCTX pCtx, PVM pVM, PVMCPU pVCpu, PFNHMSVMVMRUN pfnVMRun); 882 882 # endif 883 883 … … 888 888 * @param pIdtr Where to store the 64-bit IDTR. 889 889 */ 890 DECLASM(void) h waccmR0Get64bitGDTRandIDTR(PX86XDTR64 pGdtr, PX86XDTR64 pIdtr);890 DECLASM(void) hmR0Get64bitGDTRandIDTR(PX86XDTR64 pGdtr, PX86XDTR64 pIdtr); 891 891 892 892 /** … … 894 894 * @returns CR3 895 895 */ 896 DECLASM(uint64_t) h waccmR0Get64bitCR3(void);896 DECLASM(uint64_t) hmR0Get64bitCR3(void); 897 897 # endif 898 898 -
trunk/src/VBox/VMM/include/HMInternal.mac
r43373 r43387 1 1 ;$Id$ 2 2 ;; @file 3 ; H WACCM - Internal header file.3 ; HM - Internal header file. 4 4 ; 5 5 ; -
trunk/src/VBox/VMM/include/PGMInline.h
r43303 r43387 32 32 #include <VBox/log.h> 33 33 #include <VBox/vmm/gmm.h> 34 #include <VBox/vmm/h waccm.h>34 #include <VBox/vmm/hm.h> 35 35 #include <iprt/asm.h> 36 36 #include <iprt/assert.h> -
trunk/src/VBox/VMM/include/PGMInternal.h
r43302 r43387 33 33 #include <VBox/log.h> 34 34 #include <VBox/vmm/gmm.h> 35 #include <VBox/vmm/h waccm.h>36 #include <VBox/vmm/h wacc_vmx.h>35 #include <VBox/vmm/hm.h> 36 #include <VBox/vmm/hm_vmx.h> 37 37 #include "internal/pgm.h" 38 38 #include <iprt/asm.h> … … 348 348 # define PGM_INVL_PG(pVCpu, GCVirt) ASMInvalidatePage((void *)(uintptr_t)(GCVirt)) 349 349 #elif defined(IN_RING0) 350 # define PGM_INVL_PG(pVCpu, GCVirt) H WACCMInvalidatePage(pVCpu, (RTGCPTR)(GCVirt))350 # define PGM_INVL_PG(pVCpu, GCVirt) HMInvalidatePage(pVCpu, (RTGCPTR)(GCVirt)) 351 351 #else 352 # define PGM_INVL_PG(pVCpu, GCVirt) H WACCMInvalidatePage(pVCpu, (RTGCPTR)(GCVirt))352 # define PGM_INVL_PG(pVCpu, GCVirt) HMInvalidatePage(pVCpu, (RTGCPTR)(GCVirt)) 353 353 #endif 354 354 … … 362 362 # define PGM_INVL_PG_ALL_VCPU(pVM, GCVirt) ASMInvalidatePage((void *)(uintptr_t)(GCVirt)) 363 363 #elif defined(IN_RING0) 364 # define PGM_INVL_PG_ALL_VCPU(pVM, GCVirt) H WACCMInvalidatePageOnAllVCpus(pVM, (RTGCPTR)(GCVirt))364 # define PGM_INVL_PG_ALL_VCPU(pVM, GCVirt) HMInvalidatePageOnAllVCpus(pVM, (RTGCPTR)(GCVirt)) 365 365 #else 366 # define PGM_INVL_PG_ALL_VCPU(pVM, GCVirt) H WACCMInvalidatePageOnAllVCpus(pVM, (RTGCPTR)(GCVirt))366 # define PGM_INVL_PG_ALL_VCPU(pVM, GCVirt) HMInvalidatePageOnAllVCpus(pVM, (RTGCPTR)(GCVirt)) 367 367 #endif 368 368 … … 376 376 # define PGM_INVL_BIG_PG(pVCpu, GCVirt) ASMReloadCR3() 377 377 #elif defined(IN_RING0) 378 # define PGM_INVL_BIG_PG(pVCpu, GCVirt) H WACCMFlushTLB(pVCpu)378 # define PGM_INVL_BIG_PG(pVCpu, GCVirt) HMFlushTLB(pVCpu) 379 379 #else 380 # define PGM_INVL_BIG_PG(pVCpu, GCVirt) H WACCMFlushTLB(pVCpu)380 # define PGM_INVL_BIG_PG(pVCpu, GCVirt) HMFlushTLB(pVCpu) 381 381 #endif 382 382 … … 389 389 # define PGM_INVL_VCPU_TLBS(pVCpu) ASMReloadCR3() 390 390 #elif defined(IN_RING0) 391 # define PGM_INVL_VCPU_TLBS(pVCpu) H WACCMFlushTLB(pVCpu)391 # define PGM_INVL_VCPU_TLBS(pVCpu) HMFlushTLB(pVCpu) 392 392 #else 393 # define PGM_INVL_VCPU_TLBS(pVCpu) H WACCMFlushTLB(pVCpu)393 # define PGM_INVL_VCPU_TLBS(pVCpu) HMFlushTLB(pVCpu) 394 394 #endif 395 395 … … 402 402 # define PGM_INVL_ALL_VCPU_TLBS(pVM) ASMReloadCR3() 403 403 #elif defined(IN_RING0) 404 # define PGM_INVL_ALL_VCPU_TLBS(pVM) H WACCMFlushTLBOnAllVCpus(pVM)404 # define PGM_INVL_ALL_VCPU_TLBS(pVM) HMFlushTLBOnAllVCpus(pVM) 405 405 #else 406 # define PGM_INVL_ALL_VCPU_TLBS(pVM) H WACCMFlushTLBOnAllVCpus(pVM)406 # define PGM_INVL_ALL_VCPU_TLBS(pVM) HMFlushTLBOnAllVCpus(pVM) 407 407 #endif 408 408 … … 3024 3024 bool fLessThan52PhysicalAddressBits; 3025 3025 /** Set when nested paging is active. 3026 * This is meant to save calls to H WACCMIsNestedPagingActive and let the3026 * This is meant to save calls to HMIsNestedPagingActive and let the 3027 3027 * compilers optimize the code better. Whether we use nested paging or 3028 3028 * not is something we find out during VMM initialization and we won't -
trunk/src/VBox/VMM/include/VMMInternal.h
r41976 r43387 507 507 VMMGC_DO_TESTCASE_INTERRUPT_MASKING, 508 508 /** Switching testing and profiling stub. */ 509 VMMGC_DO_TESTCASE_H WACCM_NOP,509 VMMGC_DO_TESTCASE_HM_NOP, 510 510 511 511 /** The usual 32-bit hack. */
Note:
See TracChangeset
for help on using the changeset viewer.