- Timestamp:
- Apr 17, 2007 4:10:20 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/DBGFDisas.cpp
r986 r2138 235 235 */ 236 236 PCCPUMCTXCORE pCtxCore = NULL; 237 CPUMSELREGHID *pHiddenSel = NULL; 237 238 int rc; 238 239 if (fFlags & (DBGF_DISAS_FLAGS_CURRENT_GUEST | DBGF_DISAS_FLAGS_CURRENT_HYPER)) … … 242 243 else 243 244 pCtxCore = CPUMGetHyperCtxCore(pVM); 244 Sel = pCtxCore->cs; 245 GCPtr = pCtxCore->eip; 245 Sel = pCtxCore->cs; 246 pHiddenSel = (CPUMSELREGHID *)&pCtxCore->csHid; 247 GCPtr = pCtxCore->eip; 246 248 } 247 249 … … 254 256 const PGMMODE enmMode = PGMGetGuestMode(pVM); 255 257 bool fRealModeAddress = false; 258 259 if ( pHiddenSel 260 && CPUMAreHiddenSelRegsValid(pVM)) 261 { 262 SelInfo.GCPtrBase = pHiddenSel->u32Base; 263 SelInfo.cbLimit = pHiddenSel->u32Limit; 264 SelInfo.fHyper = false; 265 SelInfo.fRealMode = !!(pCtxCore && pCtxCore->eflags.Bits.u1VM || enmMode == PGMMODE_REAL); 266 SelInfo.Raw.au32[0] = 0; 267 SelInfo.Raw.au32[1] = 0; 268 SelInfo.Raw.Gen.u16LimitLow = ~0; 269 SelInfo.Raw.Gen.u4LimitHigh = ~0; 270 SelInfo.Raw.Gen.u1Present = pHiddenSel->Attr.n.u1Present; 271 SelInfo.Raw.Gen.u1Granularity = pHiddenSel->Attr.n.u1Granularity;; 272 SelInfo.Raw.Gen.u1DefBig = pHiddenSel->Attr.n.u1DefBig; 273 SelInfo.Raw.Gen.u1DescType = pHiddenSel->Attr.n.u1DescType; 274 SelInfo.Raw.Gen.u4Type = pHiddenSel->Attr.n.u4Type; 275 fRealModeAddress = SelInfo.fRealMode; 276 } 277 else 256 278 if ( !(fFlags & DBGF_DISAS_FLAGS_CURRENT_HYPER) 257 279 && ( (pCtxCore && pCtxCore->eflags.Bits.u1VM)
Note:
See TracChangeset
for help on using the changeset viewer.