Changeset 72914 in vbox
- Timestamp:
- Jul 5, 2018 10:57:52 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Debugger/DBGCEmulateCodeView.cpp
r72269 r72914 4466 4466 } 4467 4467 } 4468 if (iStart != 255) 4469 DBGCCmdHlpPrintf(pCmdHlp, "%02x-%02x %s\n", iStart, 255, fPrev ? "Protected mode" : "Redirected"); 4468 DBGCCmdHlpPrintf(pCmdHlp, "%02x-%02x %s\n", iStart, 255, fPrev ? "Protected mode" : "Redirected"); 4470 4469 } 4471 4470 else … … 4480 4479 4481 4480 /* 4482 * Dump the I/O permission bitmap if present. The IOPM cannot start below offset 0x6 44481 * Dump the I/O permission bitmap if present. The IOPM cannot start below offset 0x68 4483 4482 * (that applies to both 32-bit and 64-bit TSSs since their size is the same). 4483 * Note that there is always one padding byte that is not technically part of the bitmap 4484 * and "must have all bits set". It's not clear what happens when it doesn't. All ports 4485 * not covered by the bitmap are considered to be not accessible. 4484 4486 */ 4485 4487 if (enmTssType != kTss16) 4486 4488 { 4487 if (offIoBitmap < cbTss && offIoBitmap >= 0x6 4)4489 if (offIoBitmap < cbTss && offIoBitmap >= 0x68) 4488 4490 { 4489 4491 uint32_t cPorts = RT_MIN((cbTss - offIoBitmap) * 8, _64K); … … 4496 4498 bool fPrev = ASMBitTest(pbIoBitmap, 0); 4497 4499 uint32_t cLine = 0; 4498 for (uint32_t i = 1; i < cPorts; i++)4500 for (uint32_t i = 1; i < _64K; i++) 4499 4501 { 4500 bool fThis = ASMBitTest(pbIoBitmap, i);4502 bool fThis = i < cPorts ? ASMBitTest(pbIoBitmap, i) : true; 4501 4503 if (fThis != fPrev) 4502 4504 { … … 4508 4510 } 4509 4511 } 4510 if (iStart != _64K-1) 4511 DBGCCmdHlpPrintf(pCmdHlp, "%04x-%04x %s\n", iStart, _64K-1, fPrev ? "GP" : "OK"); 4512 DBGCCmdHlpPrintf(pCmdHlp, "%04x-%04x %s\n", iStart, _64K-1, fPrev ? "GP" : "OK"); 4512 4513 } 4513 4514 else if (offIoBitmap > 0)
Note:
See TracChangeset
for help on using the changeset viewer.