Changeset 32040 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Aug 27, 2010 11:24:35 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r32038 r32040 4099 4099 { 4100 4100 for (unsigned i = pPage->iFirstPresent; i < RT_ELEMENTS(pShwPT->a); i++) 4101 { 4102 Assert(!(pShwPT->a[i].u & RT_BIT_32(10))); 4101 4103 if (pShwPT->a[i].n.u1Present) 4102 4104 { … … 4107 4109 break; 4108 4110 } 4111 } 4109 4112 } 4110 4113 … … 4121 4124 { 4122 4125 for (unsigned i = pPage->iFirstPresent; i < RT_ELEMENTS(pShwPT->a); i++) 4126 { 4127 Assert( (PGMSHWPTEPAE_GET_U(pShwPT->a[i]) & UINT64_C(0x7ff0000000000400)) == 0 4128 || (PGMSHWPTEPAE_GET_U(pShwPT->a[i]) & UINT64_C(0x7ff0000000000400)) == UINT64_C(0x7ff0000000000000)); 4123 4129 if (PGMSHWPTEPAE_IS_P(pShwPT->a[i])) 4124 4130 { … … 4129 4135 break; 4130 4136 } 4137 } 4131 4138 } 4132 4139 … … 4143 4150 { 4144 4151 for (unsigned i = pPage->iFirstPresent; i < RT_ELEMENTS(pShwPT->a); i++) 4152 { 4153 Assert( (PGMSHWPTEPAE_GET_U(pShwPT->a[i]) & UINT64_C(0x7ff0000000000400)) == 0 4154 || (PGMSHWPTEPAE_GET_U(pShwPT->a[i]) & UINT64_C(0x7ff0000000000400)) == UINT64_C(0x7ff0000000000000)); 4145 4155 if (PGMSHWPTEPAE_IS_P(pShwPT->a[i])) 4146 4156 { … … 4151 4161 break; 4152 4162 } 4163 } 4153 4164 } 4154 4165 … … 4165 4176 RTGCPHYS GCPhys = pPage->GCPhys + PAGE_SIZE * pPage->iFirstPresent; 4166 4177 for (unsigned i = pPage->iFirstPresent; i < RT_ELEMENTS(pShwPT->a); i++, GCPhys += PAGE_SIZE) 4178 { 4179 Assert(!(pShwPT->a[i].u & RT_BIT_32(10))); 4167 4180 if (pShwPT->a[i].n.u1Present) 4168 4181 { … … 4173 4186 break; 4174 4187 } 4188 } 4175 4189 } 4176 4190 … … 4187 4201 RTGCPHYS GCPhys = pPage->GCPhys + PAGE_SIZE * pPage->iFirstPresent; 4188 4202 for (unsigned i = pPage->iFirstPresent; i < RT_ELEMENTS(pShwPT->a); i++, GCPhys += PAGE_SIZE) 4203 { 4204 Assert( (PGMSHWPTEPAE_GET_U(pShwPT->a[i]) & UINT64_C(0x7ff0000000000400)) == 0 4205 || (PGMSHWPTEPAE_GET_U(pShwPT->a[i]) & UINT64_C(0x7ff0000000000400)) == UINT64_C(0x7ff0000000000000)); 4189 4206 if (PGMSHWPTEPAE_IS_P(pShwPT->a[i])) 4190 4207 { … … 4195 4212 break; 4196 4213 } 4214 } 4197 4215 } 4198 4216 … … 4209 4227 RTGCPHYS GCPhys = pPage->GCPhys + PAGE_SIZE * pPage->iFirstPresent; 4210 4228 for (unsigned i = pPage->iFirstPresent; i < RT_ELEMENTS(pShwPT->a); i++, GCPhys += PAGE_SIZE) 4229 { 4230 Assert((pShwPT->a[i].u & UINT64_C(0xfff0000000000f80)) == 0); 4211 4231 if (pShwPT->a[i].n.u1Present) 4212 4232 { … … 4217 4237 break; 4218 4238 } 4239 } 4219 4240 } 4220 4241 … … 4232 4253 for (unsigned i = 0; i < RT_ELEMENTS(pShwPD->a); i++) 4233 4254 { 4255 Assert(!(pShwPD->a[i].u & RT_BIT_32(9))); 4234 4256 if ( pShwPD->a[i].n.u1Present 4235 4257 && !(pShwPD->a[i].u & PGM_PDFLAGS_MAPPING) … … 4256 4278 for (unsigned i = 0; i < RT_ELEMENTS(pShwPD->a); i++) 4257 4279 { 4258 if ( pShwPD->a[i].n.u1Present4259 && !(pShwPD->a[i].u & PGM_PDFLAGS_MAPPING)4260 )4280 Assert((pShwPD->a[i].u & (X86_PDE_PAE_MBZ_MASK_NX | UINT64_C(0x7ff0000000000200))) == 0); 4281 if ( pShwPD->a[i].n.u1Present 4282 && !(pShwPD->a[i].u & PGM_PDFLAGS_MAPPING)) 4261 4283 { 4262 4284 #ifdef PGM_WITH_LARGE_PAGES … … 4292 4314 for (unsigned i = 0; i < X86_PG_PAE_PDPE_ENTRIES; i++) 4293 4315 { 4316 Assert((pShwPDPT->a[i].u & (X86_PDPE_PAE_MBZ_MASK | UINT64_C(0x7ff0000000000200))) == 0); 4294 4317 if ( pShwPDPT->a[i].n.u1Present 4295 4318 && !(pShwPDPT->a[i].u & PGM_PLXFLAGS_MAPPING) … … 4317 4340 for (unsigned i = 0; i < RT_ELEMENTS(pShwPDPT->a); i++) 4318 4341 { 4319 Assert( !(pShwPDPT->a[i].u & PGM_PLXFLAGS_MAPPING));4342 Assert((pShwPDPT->a[i].u & (X86_PDPE_LM_MBZ_MASK_NX | UINT64_C(0x7ff0000000000200))) == 0); 4320 4343 if (pShwPDPT->a[i].n.u1Present) 4321 4344 { … … 4342 4365 for (unsigned i = 0; i < RT_ELEMENTS(pShwPML4->a); i++) 4343 4366 { 4367 Assert((pShwPML4->a[i].u & (X86_PML4E_MBZ_MASK_NX | UINT64_C(0x7ff0000000000200))) == 0); 4344 4368 if (pShwPML4->a[i].n.u1Present) 4345 4369 { … … 4366 4390 for (unsigned i = 0; i < RT_ELEMENTS(pShwPD->a); i++) 4367 4391 { 4392 Assert((pShwPD->a[i].u & UINT64_C(0xfff0000000000f80)) == 0); 4368 4393 if (pShwPD->a[i].n.u1Present) 4369 4394 { … … 4401 4426 for (unsigned i = 0; i < RT_ELEMENTS(pShwPDPT->a); i++) 4402 4427 { 4428 Assert((pShwPDPT->a[i].u & UINT64_C(0xfff0000000000f80)) == 0); 4403 4429 if (pShwPDPT->a[i].n.u1Present) 4404 4430 {
Note:
See TracChangeset
for help on using the changeset viewer.