Changeset 80053 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Jul 29, 2019 8:41:19 PM (5 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 1 deleted
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
r80050 r80053 88 88 { 89 89 pVCpu->cpum.s.Hyper.cr3 = cr3; 90 91 #ifdef IN_RC92 /* Update the current CR3. */93 ASMSetCR3(cr3);94 #endif95 90 } 96 91 … … 98 93 { 99 94 return pVCpu->cpum.s.Hyper.cr3; 100 }101 102 103 VMMDECL(void) CPUMSetHyperESP(PVMCPU pVCpu, uint32_t u32ESP)104 {105 pVCpu->cpum.s.Hyper.esp = u32ESP;106 }107 108 109 VMMDECL(void) CPUMSetHyperEIP(PVMCPU pVCpu, uint32_t u32EIP)110 {111 pVCpu->cpum.s.Hyper.eip = u32EIP;112 95 } 113 96 … … 117 100 */ 118 101 #ifdef IN_RING0 119 # if HC_ARCH_BITS == 32 && defined(VBOX_WITH_64_BITS_GUESTS) 120 # define MAYBE_LOAD_DRx(a_pVCpu, a_fnLoad, a_uValue) \ 121 do { \ 122 if (!CPUMIsGuestInLongModeEx(&(a_pVCpu)->cpum.s.Guest)) \ 123 a_fnLoad(a_uValue); \ 124 else \ 125 (a_pVCpu)->cpum.s.fUseFlags |= CPUM_SYNC_DEBUG_REGS_HYPER; \ 126 } while (0) 127 # else 128 # define MAYBE_LOAD_DRx(a_pVCpu, a_fnLoad, a_uValue) \ 129 do { \ 130 a_fnLoad(a_uValue); \ 131 } while (0) 132 # endif 133 134 #elif defined(IN_RC) 135 # define MAYBE_LOAD_DRx(a_pVCpu, a_fnLoad, a_uValue) \ 136 do { \ 137 if ((a_pVCpu)->cpum.s.fUseFlags & CPUM_USED_DEBUG_REGS_HYPER) \ 138 { a_fnLoad(a_uValue); } \ 139 } while (0) 140 102 # define MAYBE_LOAD_DRx(a_pVCpu, a_fnLoad, a_uValue) do { a_fnLoad(a_uValue); } while (0) 141 103 #else 142 104 # define MAYBE_LOAD_DRx(a_pVCpu, a_fnLoad, a_uValue) do { } while (0) … … 180 142 { 181 143 pVCpu->cpum.s.Hyper.dr[7] = uDr7; 182 #ifdef IN_RC183 MAYBE_LOAD_DRx(pVCpu, ASMSetDR7, uDr7);184 #endif185 144 } 186 145
Note:
See TracChangeset
for help on using the changeset viewer.