Changeset 13872 in vbox for trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
- Timestamp:
- Nov 5, 2008 3:00:48 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 38870
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
r13825 r13872 65 65 66 66 /** Ring 0 handlers for VT-x and AMD-V. */ 67 DECLR0CALLBACKMEMBER(int, pfnEnterSession,(PVM pVM, PHWACCM_CPUINFO pCpu));68 DECLR0CALLBACKMEMBER(int, pfnLeaveSession,(PVM pVM, CPUMCTX *pCtx));69 DECLR0CALLBACKMEMBER(int, pfnSaveHostState,(PVM pVM ));70 DECLR0CALLBACKMEMBER(int, pfnLoadGuestState,(PVM pVM, CPUMCTX *pCtx));71 DECLR0CALLBACKMEMBER(int, pfnRunGuestCode,(PVM pVM, CPUMCTX *pCtx));67 DECLR0CALLBACKMEMBER(int, pfnEnterSession,(PVM pVM, RTCPUID idVCpu, PHWACCM_CPUINFO pCpu)); 68 DECLR0CALLBACKMEMBER(int, pfnLeaveSession,(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx)); 69 DECLR0CALLBACKMEMBER(int, pfnSaveHostState,(PVM pVM, RTCPUID idVCpu)); 70 DECLR0CALLBACKMEMBER(int, pfnLoadGuestState,(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx)); 71 DECLR0CALLBACKMEMBER(int, pfnRunGuestCode,(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx)); 72 72 DECLR0CALLBACKMEMBER(int, pfnEnableCpu, (PHWACCM_CPUINFO pCpu, PVM pVM, void *pvPageCpu, RTHCPHYS pPageCpuPhys)); 73 73 DECLR0CALLBACKMEMBER(int, pfnDisableCpu, (PHWACCM_CPUINFO pCpu, void *pvPageCpu, RTHCPHYS pPageCpuPhys)); … … 865 865 * @returns VBox status code. 866 866 * @param pVM The VM to operate on. 867 */ 868 VMMR0DECL(int) HWACCMR0Enter(PVM pVM) 867 * @param idVCpu VMCPUD id. 868 */ 869 VMMR0DECL(int) HWACCMR0Enter(PVM pVM, RTCPUID idVCpu) 869 870 { 870 871 PCPUMCTX pCtx; … … 894 895 pVM->hwaccm.s.u64RegisterMask = UINT64_C(0xFFFFFFFF); 895 896 896 rc = HWACCMR0Globals.pfnEnterSession(pVM, pCpu);897 rc = HWACCMR0Globals.pfnEnterSession(pVM, idVCpu, pCpu); 897 898 AssertRC(rc); 898 899 /* We must save the host context here (VT-x) as we might be rescheduled on a different cpu after a long jump back to ring 3. */ 899 rc |= HWACCMR0Globals.pfnSaveHostState(pVM );900 rc |= HWACCMR0Globals.pfnSaveHostState(pVM, idVCpu); 900 901 AssertRC(rc); 901 rc |= HWACCMR0Globals.pfnLoadGuestState(pVM, pCtx);902 rc |= HWACCMR0Globals.pfnLoadGuestState(pVM, idVCpu, pCtx); 902 903 AssertRC(rc); 903 904 … … 919 920 * @returns VBox status code. 920 921 * @param pVM The VM to operate on. 921 */ 922 VMMR0DECL(int) HWACCMR0Leave(PVM pVM) 922 * @param idVCpu VMCPUD id. 923 */ 924 VMMR0DECL(int) HWACCMR0Leave(PVM pVM, RTCPUID idVCpu) 923 925 { 924 926 PCPUMCTX pCtx; … … 944 946 } 945 947 946 rc = HWACCMR0Globals.pfnLeaveSession(pVM, pCtx);948 rc = HWACCMR0Globals.pfnLeaveSession(pVM, idVCpu, pCtx); 947 949 948 950 #ifdef VBOX_STRICT … … 961 963 * @returns VBox status code. 962 964 * @param pVM The VM to operate on. 963 */ 964 VMMR0DECL(int) HWACCMR0RunGuestCode(PVM pVM) 965 * @param idVCpu VMCPUD id. 966 */ 967 VMMR0DECL(int) HWACCMR0RunGuestCode(PVM pVM, RTCPUID idVCpu) 965 968 { 966 969 CPUMCTX *pCtx; … … 978 981 pCtx = CPUMQueryGuestCtxPtr(pVM); 979 982 980 return HWACCMR0Globals.pfnRunGuestCode(pVM, pCtx);983 return HWACCMR0Globals.pfnRunGuestCode(pVM, idVCpu, pCtx); 981 984 } 982 985 … … 1277 1280 1278 1281 /* Dummy callback handlers. */ 1279 VMMR0DECL(int) HWACCMR0DummyEnter(PVM pVM, PHWACCM_CPUINFO pCpu)1282 VMMR0DECL(int) HWACCMR0DummyEnter(PVM pVM, RTCPUID idVCpu, PHWACCM_CPUINFO pCpu) 1280 1283 { 1281 1284 return VINF_SUCCESS; 1282 1285 } 1283 1286 1284 VMMR0DECL(int) HWACCMR0DummyLeave(PVM pVM, PCPUMCTX pCtx)1287 VMMR0DECL(int) HWACCMR0DummyLeave(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx) 1285 1288 { 1286 1289 return VINF_SUCCESS; … … 1312 1315 } 1313 1316 1314 VMMR0DECL(int) HWACCMR0DummyRunGuestCode(PVM pVM, CPUMCTX *pCtx)1317 VMMR0DECL(int) HWACCMR0DummyRunGuestCode(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx) 1315 1318 { 1316 1319 return VINF_SUCCESS; 1317 1320 } 1318 1321 1319 VMMR0DECL(int) HWACCMR0DummySaveHostState(PVM pVM )1322 VMMR0DECL(int) HWACCMR0DummySaveHostState(PVM pVM, RTCPUID idVCpu) 1320 1323 { 1321 1324 return VINF_SUCCESS; 1322 1325 } 1323 1326 1324 VMMR0DECL(int) HWACCMR0DummyLoadGuestState(PVM pVM, CPUMCTX *pCtx)1327 VMMR0DECL(int) HWACCMR0DummyLoadGuestState(PVM pVM, RTCPUID idVCpu, PCPUMCTX pCtx) 1325 1328 { 1326 1329 return VINF_SUCCESS;
Note:
See TracChangeset
for help on using the changeset viewer.