Changeset 40274 in vbox for trunk/src/VBox/VMM/VMMR3/PGMPhys.cpp
- Timestamp:
- Feb 28, 2012 1:17:35 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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 }
Note:
See TracChangeset
for help on using the changeset viewer.