Changeset 40274 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Feb 28, 2012 1:17:35 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 76500
- Location:
- trunk/src/VBox/VMM/VMMR3
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/CSAM.cpp
r39078 r40274 30 30 #include <VBox/vmm/mm.h> 31 31 #include <VBox/vmm/em.h> 32 #include <VBox/vmm/rem.h> 32 #ifdef VBOX_WITH_REM 33 # include <VBox/vmm/rem.h> 34 #endif 33 35 #include <VBox/vmm/selm.h> 34 36 #include <VBox/vmm/trpm.h> … … 2339 2341 GCPtr = GCPtr & PAGE_BASE_GC_MASK; 2340 2342 2341 /* Notify the recompiler that this page has been changed. */ 2343 #ifdef VBOX_WITH_REM 2344 /* Notify the recompiler that this page has been changed. */ 2342 2345 REMR3NotifyCodePageChanged(pVM, pVCpu, GCPtr); 2346 #endif 2343 2347 2344 2348 /* Enable write protection again. (use the fault address as it might be an alias) */ -
trunk/src/VBox/VMM/VMMR3/DBGF.cpp
r39078 r40274 73 73 #include <VBox/vmm/dbgf.h> 74 74 #include <VBox/vmm/selm.h> 75 #include <VBox/vmm/rem.h> 75 #ifdef VBOX_WITH_REM 76 # include <VBox/vmm/rem.h> 77 #endif 76 78 #include <VBox/vmm/em.h> 77 79 #include <VBox/vmm/hwaccm.h> … … 409 411 */ 410 412 dbgfR3EventSetStoppedInHyperFlag(pVM, enmEvent); 413 #ifdef VBOX_WITH_REM 411 414 if (!pVM->dbgf.s.fStoppedInHyper) 412 415 REMR3StateUpdate(pVM, pVCpu); 416 #endif 413 417 414 418 /* -
trunk/src/VBox/VMM/VMMR3/DBGFBp.cpp
r39405 r40274 23 23 #include <VBox/vmm/dbgf.h> 24 24 #include <VBox/vmm/selm.h> 25 #include <VBox/vmm/rem.h> 25 #ifdef VBOX_WITH_REM 26 # include <VBox/vmm/rem.h> 27 #else 28 # include <VBox/vmm/iem.h> 29 #endif 26 30 #include "DBGFInternal.h" 27 31 #include <VBox/vmm/vm.h> … … 650 654 int rc = VINF_SUCCESS; 651 655 if (!pBp->fEnabled) 656 #ifdef VBOX_WITH_REM 652 657 rc = REMR3BreakpointSet(pVM, pBp->GCPtr); 658 #else 659 rc = IEMBreakpointSet(pVM, pBp->GCPtr); 660 #endif 653 661 if (RT_SUCCESS(rc)) 654 662 { … … 674 682 * Now ask REM to set the breakpoint. 675 683 */ 684 #ifdef VBOX_WITH_REM 676 685 int rc = REMR3BreakpointSet(pVM, pAddress->FlatPtr); 686 #else 687 int rc = IEMBreakpointSet(pVM, pAddress->FlatPtr); 688 #endif 677 689 if (RT_SUCCESS(rc)) 678 690 { … … 742 754 743 755 case DBGFBPTYPE_REM: 756 #ifdef VBOX_WITH_REM 744 757 rc = REMR3BreakpointClear(pVM, pBp->GCPtr); 758 #else 759 rc = IEMBreakpointClear(pVM, pBp->GCPtr); 760 #endif 745 761 break; 746 762 … … 818 834 819 835 case DBGFBPTYPE_REM: 836 #ifdef VBOX_WITH_REM 820 837 rc = REMR3BreakpointSet(pVM, pBp->GCPtr); 838 #else 839 rc = IEMBreakpointSet(pVM, pBp->GCPtr); 840 #endif 821 841 break; 822 842 … … 890 910 891 911 case DBGFBPTYPE_REM: 912 #ifdef VBOX_WITH_REM 892 913 rc = REMR3BreakpointClear(pVM, pBp->GCPtr); 914 #else 915 rc = IEMBreakpointClear(pVM, pBp->GCPtr); 916 #endif 893 917 break; 894 918 -
trunk/src/VBox/VMM/VMMR3/EM.cpp
r39944 r40274 45 45 #include <VBox/vmm/dbgf.h> 46 46 #include <VBox/vmm/pgm.h> 47 #include <VBox/vmm/rem.h> 47 #ifdef VBOX_WITH_REM 48 # include <VBox/vmm/rem.h> 49 #else 50 # include <VBox/vmm/iem.h> 51 #endif 48 52 #include <VBox/vmm/tm.h> 49 53 #include <VBox/vmm/mm.h> … … 108 112 AssertCompile(sizeof(pVM->em.s) <= sizeof(pVM->em.padding)); 109 113 AssertCompile(sizeof(pVM->aCpus[0].em.s.u.FatalLongJump) <= sizeof(pVM->aCpus[0].em.s.u.achPaddingFatalLongJump)); 110 AssertCompileMemberAlignment(EM, CritSectREM, sizeof(uintptr_t));111 114 112 115 /* … … 121 124 Log(("EMR3Init: fRecompileUser=%RTbool fRecompileSupervisor=%RTbool\n", pVM->fRecompileUser, pVM->fRecompileSupervisor)); 122 125 126 #ifdef VBOX_WITH_REM 123 127 /* 124 128 * Initialize the REM critical section. 125 129 */ 130 AssertCompileMemberAlignment(EM, CritSectREM, sizeof(uintptr_t)); 126 131 rc = PDMR3CritSectInit(pVM, &pVM->em.s.CritSectREM, RT_SRC_POS, "EM-REM"); 127 132 AssertRCReturn(rc, rc); 133 #endif 128 134 129 135 /* … … 475 481 AssertMsg(pVM->em.s.offVM, ("bad init order!\n")); 476 482 483 #ifdef VBOX_WITH_REM 477 484 PDMR3CritSectDelete(&pVM->em.s.CritSectREM); 485 #endif 478 486 return VINF_SUCCESS; 479 487 } … … 890 898 LogFlow(("emR3RemStep: cs:eip=%04x:%08x\n", CPUMGetGuestCS(pVCpu), CPUMGetGuestEIP(pVCpu))); 891 899 900 #ifdef VBOX_WITH_REM 892 901 EMRemLock(pVM); 893 902 … … 903 912 EMRemUnlock(pVM); 904 913 914 #else 915 int rc = VBOXSTRICTRC_TODO(IEMExecOne(pVCpu)); NOREF(pVM); 916 #endif 917 905 918 LogFlow(("emR3RemStep: returns %Rrc cs:eip=%04x:%08x\n", rc, CPUMGetGuestCS(pVCpu), CPUMGetGuestEIP(pVCpu))); 906 919 return rc; … … 918 931 DECLINLINE(bool) emR3RemExecuteSyncBack(PVM pVM, PVMCPU pVCpu) 919 932 { 933 #ifdef VBOX_WITH_REM 920 934 STAM_PROFILE_START(&pVCpu->em.s.StatREMSync, a); 921 935 REMR3StateBack(pVM, pVCpu); … … 923 937 924 938 EMRemUnlock(pVM); 939 #endif 925 940 return false; 926 941 } … … 966 981 */ 967 982 *pfFFDone = false; 983 #ifdef VBOX_WITH_REM 968 984 bool fInREMState = false; 985 #endif 969 986 int rc = VINF_SUCCESS; 970 987 for (;;) 971 988 { 989 #ifdef VBOX_WITH_REM 972 990 /* 973 991 * Lock REM and update the state if not already in sync. … … 1008 1026 } 1009 1027 } 1010 1028 #endif 1011 1029 1012 1030 /* … … 1016 1034 { 1017 1035 STAM_PROFILE_START(&pVCpu->em.s.StatREMExec, c); 1036 #ifdef VBOX_WITH_REM 1018 1037 rc = REMR3Run(pVM, pVCpu); 1038 #else 1039 rc = VBOXSTRICTRC_TODO(IEMExecLots(pVCpu)); 1040 #endif 1019 1041 STAM_PROFILE_STOP(&pVCpu->em.s.StatREMExec, c); 1020 1042 } … … 1035 1057 || VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_HIGH_PRIORITY_POST_MASK)) 1036 1058 { 1059 #ifdef VBOX_WITH_REM 1037 1060 fInREMState = emR3RemExecuteSyncBack(pVM, pVCpu); 1061 #endif 1038 1062 rc = emR3HighPriorityPostForcedActions(pVM, pVCpu, rc); 1039 1063 } … … 1072 1096 { 1073 1097 l_REMDoForcedActions: 1098 #ifdef VBOX_WITH_REM 1074 1099 if (fInREMState) 1075 1100 fInREMState = emR3RemExecuteSyncBack(pVM, pVCpu); 1101 #endif 1076 1102 STAM_REL_PROFILE_ADV_SUSPEND(&pVCpu->em.s.StatREMTotal, a); 1077 1103 rc = emR3ForcedActions(pVM, pVCpu, rc); … … 1088 1114 1089 1115 1116 #ifdef VBOX_WITH_REM 1090 1117 /* 1091 1118 * Returning. Sync back the VM state if required. … … 1093 1120 if (fInREMState) 1094 1121 fInREMState = emR3RemExecuteSyncBack(pVM, pVCpu); 1122 #endif 1095 1123 1096 1124 STAM_REL_PROFILE_ADV_STOP(&pVCpu->em.s.StatREMTotal, a); … … 1516 1544 } 1517 1545 1546 #ifdef VBOX_WITH_REM 1518 1547 /* Replay the handler notification changes. */ 1519 1548 if (VM_FF_IS_PENDING_EXCEPT(pVM, VM_FF_REM_HANDLER_NOTIFY, VM_FF_PGM_NO_MEMORY)) … … 1530 1559 } 1531 1560 } 1561 #endif 1532 1562 1533 1563 /* check that we got them all */ … … 1631 1661 UPDATE_RC(); 1632 1662 } 1663 #ifdef VBOX_WITH_REM 1633 1664 /** @todo really ugly; if we entered the hlt state when exiting the recompiler and an interrupt was pending, we previously got stuck in the halted state. */ 1634 1665 else if (REMR3QueryPendingInterrupt(pVM, pVCpu) != REM_NO_PENDING_IRQ) … … 1637 1668 UPDATE_RC(); 1638 1669 } 1670 #endif 1639 1671 } 1640 1672 -
trunk/src/VBox/VMM/VMMR3/EMHwaccm.cpp
r39685 r40274 25 25 #include <VBox/vmm/selm.h> 26 26 #include <VBox/vmm/trpm.h> 27 #include <VBox/vmm/iem.h> 27 28 #include <VBox/vmm/iom.h> 28 29 #include <VBox/vmm/dbgf.h> 29 30 #include <VBox/vmm/pgm.h> 30 #include <VBox/vmm/rem.h> 31 #ifdef VBOX_WITH_REM 32 # include <VBox/vmm/rem.h> 33 #endif 31 34 #include <VBox/vmm/tm.h> 32 35 #include <VBox/vmm/mm.h> … … 231 234 STAM_PROFILE_START(&pVCpu->em.s.StatREMEmu, a); 232 235 Log(("EMINS: %04x:%RGv RSP=%RGv\n", pCtx->cs, (RTGCPTR)pCtx->rip, (RTGCPTR)pCtx->rsp)); 236 #ifdef VBOX_WITH_REM 233 237 EMRemLock(pVM); 234 238 /* Flush the recompiler TLB if the VCPU has changed. */ … … 239 243 rc = REMR3EmulateInstruction(pVM, pVCpu); 240 244 EMRemUnlock(pVM); 245 #else 246 rc = VBOXSTRICTRC_TODO(IEMExecOne(pVCpu)); NOREF(pVM); 247 #endif 241 248 STAM_PROFILE_STOP(&pVCpu->em.s.StatREMEmu, a); 242 249 -
trunk/src/VBox/VMM/VMMR3/EMRaw.cpp
r39685 r40274 27 27 #include <VBox/vmm/selm.h> 28 28 #include <VBox/vmm/trpm.h> 29 #include <VBox/vmm/iem.h> 29 30 #include <VBox/vmm/iom.h> 30 31 #include <VBox/vmm/dbgf.h> 31 32 #include <VBox/vmm/pgm.h> 32 #include <VBox/vmm/rem.h> 33 #ifdef VBOX_WITH_REM 34 # include <VBox/vmm/rem.h> 35 #endif 33 36 #include <VBox/vmm/tm.h> 34 37 #include <VBox/vmm/mm.h> … … 397 400 STAM_PROFILE_START(&pVCpu->em.s.StatREMEmu, a); 398 401 Log(("EMINS: %04x:%RGv RSP=%RGv\n", pCtx->cs, (RTGCPTR)pCtx->rip, (RTGCPTR)pCtx->rsp)); 402 #ifdef VBOX_WITH_REM 399 403 EMRemLock(pVM); 400 404 /* Flush the recompiler TLB if the VCPU has changed. */ … … 405 409 rc = REMR3EmulateInstruction(pVM, pVCpu); 406 410 EMRemUnlock(pVM); 411 #else 412 rc = VBOXSTRICTRC_TODO(IEMExecOne(pVCpu)); 413 #endif 407 414 STAM_PROFILE_STOP(&pVCpu->em.s.StatREMEmu, a); 408 415 … … 1388 1395 */ 1389 1396 #ifdef VBOX_STRICT 1397 # ifdef VBOX_WITH_REM 1390 1398 Assert(REMR3QueryPendingInterrupt(pVM, pVCpu) == REM_NO_PENDING_IRQ); 1399 # endif 1391 1400 Assert(pCtx->eflags.Bits.u1VM || (pCtx->ss & X86_SEL_RPL) == 3 || (pCtx->ss & X86_SEL_RPL) == 0); 1392 1401 AssertMsg( (pCtx->eflags.u32 & X86_EFL_IF) -
trunk/src/VBox/VMM/VMMR3/HWACCM.cpp
r39405 r40274 32 32 #include <VBox/vmm/csam.h> 33 33 #include <VBox/vmm/selm.h> 34 #include <VBox/vmm/rem.h> 34 #ifdef VBOX_WITH_REM 35 # include <VBox/vmm/rem.h> 36 #endif 35 37 #include <VBox/vmm/hwacc_vmx.h> 36 38 #include <VBox/vmm/hwacc_svm.h> -
trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletion.cpp
r39717 r40274 24 24 #include <VBox/vmm/pdm.h> 25 25 #include <VBox/vmm/mm.h> 26 #include <VBox/vmm/rem.h> 26 #ifdef VBOX_WITH_REM 27 # include <VBox/vmm/rem.h> 28 #endif 27 29 #include <VBox/vmm/vm.h> 28 30 #include <VBox/vmm/uvm.h> -
trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
r39402 r40274 26 26 #include <VBox/vmm/pgm.h> 27 27 #include <VBox/vmm/iom.h> 28 #include <VBox/vmm/rem.h> 28 #ifdef VBOX_WITH_REM 29 # include <VBox/vmm/rem.h> 30 #endif 29 31 #include <VBox/vmm/dbgf.h> 30 32 #include <VBox/vmm/vmapi.h> … … 1146 1148 rc, pDevIns->pReg->szName, pDevIns->iInstance), 1147 1149 rc); 1148 AssertMsgReturn(u8Function <= 7, 1150 AssertMsgReturn(u8Function <= 7, 1149 1151 ("Configuration error: PCIFunctionNo=%d, max is 7. (%s/%d)\n", 1150 1152 u8Function, pDevIns->pReg->szName, pDevIns->iInstance), … … 1906 1908 AssertMsg(pVM->pdm.s.pDmac, ("Configuration error: No DMAC controller available. This could be related to init order too!\n")); 1907 1909 VM_FF_SET(pVM, VM_FF_PDM_DMA); 1910 #ifdef VBOX_WITH_REM 1908 1911 REMR3NotifyDmaPending(pVM); 1912 #endif 1909 1913 VMR3NotifyGlobalFFU(pVM->pUVM, VMNOTIFYFF_FLAGS_DONE_REM); 1910 1914 } -
trunk/src/VBox/VMM/VMMR3/PDMDevMiscHlp.cpp
r39402 r40274 5 5 6 6 /* 7 * Copyright (C) 2006-201 1Oracle Corporation7 * Copyright (C) 2006-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 23 23 #include "PDMInternal.h" 24 24 #include <VBox/vmm/pdm.h> 25 #include <VBox/vmm/rem.h> 25 #include <VBox/vmm/pgm.h> 26 #ifdef VBOX_WITH_REM 27 # include <VBox/vmm/rem.h> 28 #endif 26 29 #include <VBox/vmm/vm.h> 27 30 #include <VBox/vmm/vmm.h> … … 60 63 61 64 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_PIC); 65 #ifdef VBOX_WITH_REM 62 66 REMR3NotifyInterruptSet(pVM, pVCpu); 67 #endif 63 68 VMR3NotifyCpuFFU(pVCpu->pUVCpu, VMNOTIFYFF_FLAGS_DONE_REM | VMNOTIFYFF_FLAGS_POKE); 64 69 } … … 86 91 87 92 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_INTERRUPT_PIC); 93 #ifdef VBOX_WITH_REM 88 94 REMR3NotifyInterruptClear(pVM, pVCpu); 95 #endif 89 96 } 90 97 … … 190 197 break; 191 198 } 199 #ifdef VBOX_WITH_REM 192 200 REMR3NotifyInterruptSet(pVM, pVCpu); 201 #endif 193 202 VMR3NotifyCpuFFU(pVCpu->pUVCpu, VMNOTIFYFF_FLAGS_DONE_REM | VMNOTIFYFF_FLAGS_POKE); 194 203 } … … 220 229 break; 221 230 } 231 #ifdef VBOX_WITH_REM 222 232 REMR3NotifyInterruptClear(pVM, pVCpu); 233 #endif 223 234 } 224 235 -
trunk/src/VBox/VMM/VMMR3/PDMDevice.cpp
r39839 r40274 27 27 #include <VBox/vmm/iom.h> 28 28 #include <VBox/vmm/cfgm.h> 29 #include <VBox/vmm/rem.h> 29 #ifdef VBOX_WITH_REM 30 # include <VBox/vmm/rem.h> 31 #endif 30 32 #include <VBox/vmm/dbgf.h> 31 33 #include <VBox/vmm/vm.h> -
trunk/src/VBox/VMM/VMMR3/PDMDriver.cpp
r39858 r40274 663 663 { 664 664 PPDMDRV pDrv = pdmR3DrvLookup(pVM, pszName); 665 MMR3HeapFree(pszName);666 665 if ( pDrv 667 666 && pDrv->cInstances < pDrv->pReg->cMaxInstances) … … 793 792 rc = VERR_PDM_DRIVER_NOT_FOUND; 794 793 } 794 MMR3HeapFree(pszName); 795 795 } 796 796 else -
trunk/src/VBox/VMM/VMMR3/PDMQueue.cpp
r39137 r40274 24 24 #include <VBox/vmm/pdm.h> 25 25 #include <VBox/vmm/mm.h> 26 #include <VBox/vmm/rem.h> 26 #ifdef VBOX_WITH_REM 27 # include <VBox/vmm/rem.h> 28 #endif 27 29 #include <VBox/vmm/vm.h> 28 30 #include <VBox/vmm/uvm.h> -
trunk/src/VBox/VMM/VMMR3/PGM.cpp
r40054 r40274 582 582 #include <VBox/vmm/em.h> 583 583 #include <VBox/vmm/stam.h> 584 #include <VBox/vmm/rem.h> 584 #ifdef VBOX_WITH_REM 585 # include <VBox/vmm/rem.h> 586 #endif 585 587 #include <VBox/vmm/selm.h> 586 588 #include <VBox/vmm/ssm.h> -
trunk/src/VBox/VMM/VMMR3/PGMHandler.cpp
r36891 r40274 30 30 #include <VBox/vmm/stam.h> 31 31 #include <VBox/vmm/csam.h> 32 #include <VBox/vmm/rem.h> 32 #ifdef VBOX_WITH_REM 33 # include <VBox/vmm/rem.h> 34 #endif 33 35 #include <VBox/vmm/dbgf.h> 34 #include <VBox/vmm/rem.h> 36 #ifdef VBOX_WITH_REM 37 # include <VBox/vmm/rem.h> 38 #endif 35 39 #include <VBox/vmm/selm.h> 36 40 #include <VBox/vmm/ssm.h> -
trunk/src/VBox/VMM/VMMR3/PGMPhys.cpp
r39745 r40274 25 25 #include <VBox/vmm/mm.h> 26 26 #include <VBox/vmm/stam.h> 27 #include <VBox/vmm/rem.h> 27 #ifdef VBOX_WITH_REM 28 # include <VBox/vmm/rem.h> 29 #endif 28 30 #include <VBox/vmm/pdmdev.h> 29 31 #include "PGMInternal.h" … … 1734 1736 pgmUnlock(pVM); 1735 1737 1738 #ifdef VBOX_WITH_REM 1736 1739 /* 1737 1740 * Notify REM. 1738 1741 */ 1739 1742 REMR3NotifyPhysRamRegister(pVM, GCPhys, cb, REM_NOTIFY_PHYS_RAM_FLAGS_RAM); 1743 #endif 1740 1744 1741 1745 return VINF_SUCCESS; … … 2754 2758 pgmUnlock(pVM); 2755 2759 2760 #ifdef VBOX_WITH_REM 2756 2761 REMR3NotifyPhysRamRegister(pVM, GCPhys, cb, REM_NOTIFY_PHYS_RAM_FLAGS_MMIO2); 2762 #endif 2757 2763 } 2758 2764 … … 2795 2801 pgmLock(pVM); 2796 2802 2803 #ifdef VBOX_WITH_REM 2797 2804 RTGCPHYS GCPhysRangeREM; 2798 2805 RTGCPHYS cbRangeREM; 2799 2806 bool fInformREM; 2807 #endif 2800 2808 if (pCur->fOverlapping) 2801 2809 { … … 2816 2824 /* Flush physical page map TLB. */ 2817 2825 pgmPhysInvalidatePageMapTLB(pVM); 2818 2826 #ifdef VBOX_WITH_REM 2819 2827 GCPhysRangeREM = NIL_RTGCPHYS; /* shuts up gcc */ 2820 2828 cbRangeREM = RTGCPHYS_MAX; /* ditto */ 2821 2829 fInformREM = false; 2830 #endif 2822 2831 } 2823 2832 else 2824 2833 { 2834 #ifdef VBOX_WITH_REM 2825 2835 GCPhysRangeREM = pCur->RamRange.GCPhys; 2826 2836 cbRangeREM = pCur->RamRange.cb; 2827 2837 fInformREM = true; 2828 2838 #endif 2829 2839 pgmR3PhysUnlinkRamRange(pVM, &pCur->RamRange); 2830 2840 } … … 2847 2857 pgmUnlock(pVM); 2848 2858 2859 #ifdef VBOX_WITH_REM 2849 2860 if (fInformREM) 2850 2861 REMR3NotifyPhysRamDeregister(pVM, GCPhysRangeREM, cbRangeREM); 2862 #endif 2851 2863 2852 2864 return VINF_SUCCESS; … … 3183 3195 if (fFlags & PGMPHYS_ROM_FLAGS_SHADOWED) 3184 3196 { 3197 #ifdef VBOX_WITH_REM 3185 3198 REMR3NotifyPhysRomRegister(pVM, GCPhys, cb, NULL, true /* fShadowed */); 3199 #endif 3186 3200 rc = PGMR3HandlerPhysicalRegister(pVM, 3187 3201 fFlags & PGMPHYS_ROM_FLAGS_SHADOWED … … 3203 3217 NULL, "pgmPhysRomWriteHandler", MMHyperCCToR0(pVM, pRomNew), 3204 3218 NULL, "pgmPhysRomWriteHandler", MMHyperCCToRC(pVM, pRomNew), pszDesc); 3219 #ifdef VBOX_WITH_REM 3205 3220 REMR3NotifyPhysRomRegister(pVM, GCPhys, cb, NULL, false /* fShadowed */); 3221 #endif 3206 3222 } 3207 3223 if (RT_SUCCESS(rc)) … … 3705 3721 pVCpu->pgm.s.fA20Enabled = fEnable; 3706 3722 pVCpu->pgm.s.GCPhysA20Mask = ~(RTGCPHYS)(!fEnable << 20); 3723 #ifdef VBOX_WITH_REM 3707 3724 REMR3A20Set(pVCpu->pVMR3, pVCpu, fEnable); 3725 #endif 3708 3726 /** @todo we're not handling this correctly for VT-x / AMD-V. See #2911 */ 3709 3727 } … … 3910 3928 CPUMSetChangedFlags(&pVM->aCpus[idCpu], CPUM_CHANGED_GLOBAL_TLB_FLUSH); 3911 3929 } 3912 3930 #ifdef VBOX_WITH_REM 3913 3931 /* Flush REM translation blocks. */ 3914 3932 REMFlushTBs(pVM); 3933 #endif 3915 3934 } 3916 3935 } -
trunk/src/VBox/VMM/VMMR3/TM.cpp
r39402 r40274 128 128 #include <VBox/vmm/dbgf.h> 129 129 #include <VBox/vmm/dbgftrace.h> 130 #include <VBox/vmm/rem.h> 130 #ifdef VBOX_WITH_REM 131 # include <VBox/vmm/rem.h> 132 #endif 131 133 #include <VBox/vmm/pdmapi.h> 132 134 #include <VBox/vmm/iom.h> … … 1870 1872 Log5(("TM(%u): FF: 0 -> 1\n", __LINE__)); 1871 1873 VMCPU_FF_SET(pVCpuDst, VMCPU_FF_TIMER); 1874 #ifdef VBOX_WITH_REM 1872 1875 REMR3NotifyTimerPending(pVM, pVCpuDst); 1876 #endif 1873 1877 VMR3NotifyCpuFFU(pVCpuDst->pUVCpu, VMNOTIFYFF_FLAGS_DONE_REM /** @todo | VMNOTIFYFF_FLAGS_POKE ?*/); 1874 1878 STAM_COUNTER_INC(&pVM->tm.s.StatTimerCallbackSetFF); -
trunk/src/VBox/VMM/VMMR3/TRPM.cpp
r39078 r40274 90 90 #include <VBox/vmm/vm.h> 91 91 #include <VBox/vmm/em.h> 92 #include <VBox/vmm/rem.h> 92 #ifdef VBOX_WITH_REM 93 # include <VBox/vmm/rem.h> 94 #endif 93 95 #include <VBox/vmm/hwaccm.h> 94 96 … … 1468 1470 Assert(enmEvent == TRPM_HARDWARE_INT); 1469 1471 1470 if ( REMR3QueryPendingInterrupt(pVM, pVCpu) == REM_NO_PENDING_IRQ 1471 && !EMIsSupervisorCodeRecompiled(pVM)) 1472 if ( !EMIsSupervisorCodeRecompiled(pVM) 1473 #ifdef VBOX_WITH_REM 1474 && REMR3QueryPendingInterrupt(pVM, pVCpu) == REM_NO_PENDING_IRQ 1475 #endif 1476 ) 1472 1477 { 1473 1478 #ifdef TRPM_FORWARD_TRAPS_IN_GC … … 1518 1523 else 1519 1524 STAM_COUNTER_INC(&pVM->trpm.s.StatForwardFailNoHandler); 1525 #ifdef VBOX_WITH_REM 1520 1526 REMR3NotifyPendingInterrupt(pVM, pVCpu, u8Interrupt); 1527 #endif 1521 1528 } 1522 1529 else -
trunk/src/VBox/VMM/VMMR3/VM.cpp
r39916 r40274 56 56 #include <VBox/vmm/em.h> 57 57 #include <VBox/vmm/iem.h> 58 #include <VBox/vmm/rem.h> 58 #ifdef VBOX_WITH_REM 59 # include <VBox/vmm/rem.h> 60 #endif 59 61 #include <VBox/vmm/tm.h> 60 62 #include <VBox/vmm/stam.h> … … 910 912 if (RT_SUCCESS(rc)) 911 913 { 914 #ifdef VBOX_WITH_REM 912 915 rc = REMR3Init(pVM); 916 #endif 913 917 if (RT_SUCCESS(rc)) 914 918 { … … 962 966 if (RT_SUCCESS(rc)) 963 967 rc = TMR3InitFinalize(pVM); 968 #ifdef VBOX_WITH_REM 964 969 if (RT_SUCCESS(rc)) 965 970 rc = REMR3InitFinalize(pVM); 971 #endif 966 972 if (RT_SUCCESS(rc)) 967 973 rc = vmR3InitDoCompleted(pVM, VMINITCOMPLETED_RING3); … … 1008 1014 AssertRC(rc2); 1009 1015 } 1016 #ifdef VBOX_WITH_REM 1010 1017 int rc2 = REMR3Term(pVM); 1011 1018 AssertRC(rc2); 1019 #endif 1012 1020 } 1013 1021 int rc2 = PGMR3Term(pVM); … … 2435 2443 rc = SELMR3Term(pVM); 2436 2444 AssertRC(rc); 2445 #ifdef VBOX_WITH_REM 2437 2446 rc = REMR3Term(pVM); 2438 2447 AssertRC(rc); 2448 #endif 2439 2449 rc = HWACCMR3Term(pVM); 2440 2450 AssertRC(rc); … … 2835 2845 SELMR3Reset(pVM); 2836 2846 TRPMR3Reset(pVM); 2847 #ifdef VBOX_WITH_REM 2837 2848 REMR3Reset(pVM); 2849 #endif 2838 2850 IOMR3Reset(pVM); 2839 2851 CPUMR3Reset(pVM); -
trunk/src/VBox/VMM/VMMR3/VMEmt.cpp
r39402 r40274 25 25 #include <VBox/vmm/em.h> 26 26 #include <VBox/vmm/pdmapi.h> 27 #include <VBox/vmm/rem.h> 27 #ifdef VBOX_WITH_REM 28 # include <VBox/vmm/rem.h> 29 #endif 28 30 #include <VBox/vmm/tm.h> 29 31 #include "VMInternal.h" … … 821 823 } 822 824 } 825 #ifdef VBOX_WITH_REM 823 826 else if (enmState == VMCPUSTATE_STARTED_EXEC_REM) 824 827 { … … 826 829 REMR3NotifyFF(pUVCpu->pVM); 827 830 } 831 #endif 828 832 } 829 833 } … … 952 956 AssertRC(rc); 953 957 } 958 #ifdef VBOX_WITH_REM 954 959 else if ( !(fFlags & VMNOTIFYFF_FLAGS_DONE_REM) 955 960 && pUVCpu->pVCpu 956 961 && pUVCpu->pVCpu->enmState == VMCPUSTATE_STARTED_EXEC_REM) 957 962 REMR3NotifyFF(pUVCpu->pVM); 963 #endif 958 964 } 959 965 -
trunk/src/VBox/VMM/VMMR3/VMM.cpp
r39402 r40274 92 92 #include <VBox/vmm/csam.h> 93 93 #include <VBox/vmm/patm.h> 94 #include <VBox/vmm/rem.h> 94 #ifdef VBOX_WITH_REM 95 # include <VBox/vmm/rem.h> 96 #endif 95 97 #include <VBox/vmm/ssm.h> 96 98 #include <VBox/vmm/tm.h> … … 2128 2130 } 2129 2131 2132 #ifdef VBOX_WITH_REM 2130 2133 /* 2131 2134 * Flush REM handler notifications. … … 2137 2140 break; 2138 2141 } 2142 #endif 2139 2143 2140 2144 /*
Note:
See TracChangeset
for help on using the changeset viewer.