- Timestamp:
- Apr 14, 2007 3:24:02 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r1838 r2090 256 256 switch (pPage->enmKind) 257 257 { 258 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_PT:258 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_PT: 259 259 { 260 260 const unsigned iShw = off / sizeof(X86PTE); … … 865 865 { 866 866 /* 867 * It's prefectly fine to reuse these.. 868 */ 869 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 870 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 871 return true; 872 873 /* 867 874 * It's prefectly fine to reuse these, except for PAE stuff. 868 875 */ … … 903 910 904 911 /* 905 * These cannot be flushed, and it's common to reuse dthe PDs as PTs.912 * These cannot be flushed, and it's common to reuse the PDs as PTs. 906 913 */ 907 914 case PGMPOOLKIND_ROOT_32BIT_PD: … … 1109 1116 case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB: 1110 1117 case PGMPOOLKIND_PAE_PT_FOR_32BIT_4MB: 1118 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 1119 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 1111 1120 break; 1112 1121 default: … … 1145 1154 case PGMPOOLKIND_PAE_PT_FOR_32BIT_4MB: 1146 1155 case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB: 1156 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 1157 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 1147 1158 /* Nothing to monitor here. */ 1148 1159 return VINF_SUCCESS; … … 1224 1235 case PGMPOOLKIND_PAE_PT_FOR_32BIT_4MB: 1225 1236 case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB: 1237 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 1238 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 1226 1239 /* Nothing to monitor here. */ 1227 1240 return VINF_SUCCESS; … … 1544 1557 case PGMPOOLKIND_PAE_PT_FOR_PAE_PT: 1545 1558 case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB: 1559 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 1560 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 1546 1561 { 1547 1562 #ifdef PGMPOOL_WITH_USER_TRACKING … … 1894 1909 { 1895 1910 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_PT: 1911 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 1896 1912 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_4MB: 1897 1913 case PGMPOOLKIND_ROOT_32BIT_PD: 1898 1914 return 4; 1899 1915 1916 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 1900 1917 case PGMPOOLKIND_PAE_PT_FOR_32BIT_PT: 1901 1918 case PGMPOOLKIND_PAE_PT_FOR_32BIT_4MB: … … 1922 1939 * The kind of page. 1923 1940 * 1924 * @returns The size of the entry in bytes. That is, 4 or 8.1941 * @returns The size of the entry in bytes. That is, 0, 4 or 8. 1925 1942 * @returns If the kind is not for a table, an assertion is raised and 0 is 1926 1943 * returned. … … 1947 1964 return 8; 1948 1965 1966 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 1967 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 1968 /** @todo can we return 0? (nobody is calling this...) */ 1969 return 0; 1970 1949 1971 default: 1950 1972 AssertFatalMsgFailed(("enmKind=%d\n", enmKind)); … … 1981 2003 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_PT: 1982 2004 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_4MB: 2005 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 1983 2006 { 1984 2007 const uint32_t u32 = (*pHCPhys & X86_PTE_PAE_PG_MASK) | X86_PTE_P; … … 2010 2033 case PGMPOOLKIND_PAE_PT_FOR_PAE_PT: 2011 2034 case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB: 2035 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 2012 2036 { 2013 2037 const uint64_t u64 = (*pHCPhys & X86_PTE_PAE_PG_MASK) | X86_PTE_P; … … 2153 2177 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_PT: 2154 2178 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_4MB: 2179 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 2155 2180 { 2156 2181 unsigned cPresent = pPage->cPresent; … … 2174 2199 case PGMPOOLKIND_PAE_PT_FOR_PAE_PT: 2175 2200 case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB: 2201 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 2176 2202 { 2177 2203 unsigned cPresent = pPage->cPresent; … … 2724 2750 * @param pPage The page. 2725 2751 * @param pShwPT The shadow page table (mapping of the page). 2726 * @param pGstPT The guest page table.2727 2752 */ 2728 2753 DECLINLINE(void) pgmPoolTrackDerefPT32Bit4MB(PPGMPOOL pPool, PPGMPOOLPAGE pPage, PX86PT pShwPT) … … 2850 2875 } 2851 2876 2877 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: /* treat it like a 4 MB page */ 2852 2878 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_4MB: 2853 2879 { … … 2858 2884 } 2859 2885 2886 case PGMPOOLKIND_PAE_PT_FOR_PHYS: /* treat it like a 4 MB page */ 2860 2887 case PGMPOOLKIND_PAE_PT_FOR_32BIT_4MB: 2861 2888 { … … 2872 2899 case PGMPOOLKIND_32BIT_PT_FOR_32BIT_4MB: 2873 2900 case PGMPOOLKIND_PAE_PT_FOR_32BIT_4MB: 2901 case PGMPOOLKIND_32BIT_PT_FOR_PHYS: 2902 case PGMPOOLKIND_PAE_PT_FOR_PHYS: 2874 2903 break; 2875 2904 #endif /* !PGMPOOL_WITH_GCPHYS_TRACKING */
Note:
See TracChangeset
for help on using the changeset viewer.