Lines Matching refs:GDTR

441              * Update GDTR and selector.
796 * Get the GDTR and check if there is anything to do (there usually is).
798 VBOXGDTR GDTR;
799 CPUMGetGuestGDTR(pVCpu, &GDTR);
800 if (GDTR.cbGdt < sizeof(X86DESC))
810 RTUINT cbEffLimit = GDTR.cbGdt;
812 int rc = PGMPhysSimpleReadGCPtr(pVCpu, pGDTE, GDTR.pGdt + sizeof(X86DESC), cbEffLimit + 1 - sizeof(X86DESC));
825 RTGCPTR GCPtrSrc = (RTGCPTR)GDTR.pGdt + sizeof(X86DESC);
850 AssertLogRelMsgFailed(("Couldn't read GDT at %016RX64, rc=%Rrc!\n", GDTR.pGdt, rc));
869 pVM->selm.s.cbEffGuestGdtLimit, cbEffLimit, GDTR.cbGdt));
882 PX86DESC pGDTECur = (PX86DESC)((char *)pGDTEStart + GDTR.cbGdt + 1 - sizeof(X86DESC));
976 if (pVM->selm.s.GuestGdtr.cbGdt != GDTR.cbGdt)
978 if (pVM->selm.s.GuestGdtr.cbGdt > GDTR.cbGdt)
979 RT_BZERO(pGDTE, pVM->selm.s.GuestGdtr.cbGdt - GDTR.cbGdt);
983 * Check if Guest's GDTR is changed.
985 if ( GDTR.pGdt != pVM->selm.s.GuestGdtr.pGdt
986 || GDTR.cbGdt != pVM->selm.s.GuestGdtr.cbGdt)
988 Log(("SELMR3UpdateFromCPUM: Guest's GDT is changed to pGdt=%016RX64 cbGdt=%08X\n", GDTR.pGdt, GDTR.cbGdt));
1001 GDTR.pGdt, GDTR.pGdt + GDTR.cbGdt /* already inclusive */,
1013 LogRel(("selmR3UpdateShadowGdt: Virtual handler conflict %RGv -> kick out PATM handler for the higher priority GDT page monitor\n", GDTR.pGdt));
1014 rc = PGMHandlerVirtualDeregister(pVM, GDTR.pGdt & PAGE_BASE_GC_MASK);
1018 GDTR.pGdt, GDTR.pGdt + GDTR.cbGdt /* already inclusive */,
1027 /* Update saved Guest GDTR. */
1028 pVM->selm.s.GuestGdtr = GDTR;
1134 Log(("SELMR3UpdateFromCPUM: Guest LDT changed to from %RGv:%04x to %RGv:%04x. (GDTR=%016RX64:%04x)\n",
1157 Log(("WARNING: Guest LDT (%RGv:%04x) conflicted with existing access range!! Assumes LDT is begin updated. (GDTR=%016RX64:%04x)\n",
1781 * Get GDTR and check for conflict.
1783 VBOXGDTR GDTR;
1784 CPUMGetGuestGDTR(pVCpu, &GDTR);
1785 if (GDTR.cbGdt == 0)
1788 if (GDTR.cbGdt >= (unsigned)(pVM->selm.s.aHyperSel[SELM_HYPER_SEL_TSS_TRAP08] >> X86_SEL_SHIFT))
1791 if (GDTR.cbGdt != pVM->selm.s.GuestGdtr.cbGdt)
1792 Log(("SELMR3DebugCheck: limits have changed! new=%d old=%d\n", GDTR.cbGdt, pVM->selm.s.GuestGdtr.cbGdt));
1797 RTGCPTR GCPtrGDTEGuest = GDTR.pGdt;
1799 PX86DESC pGDTEEnd = (PX86DESC)((uintptr_t)pGDTE + GDTR.cbGdt);
1836 if (SelLdt > GDTR.cbGdt)
1842 int rc = PGMPhysSimpleReadGCPtr(pVCpu, &LDTDesc, GDTR.pGdt + (SelLdt & X86_SEL_MASK), sizeof(LDTDesc));
2599 VBOXGDTR GDTR;
2600 CPUMGetGuestGDTR(pVCpu, &GDTR);
2601 RTGCPTR GCPtrGDT = GDTR.pGdt;
2602 unsigned cGDTs = ((unsigned)GDTR.cbGdt + 1) / sizeof(X86DESC);
2604 pHlp->pfnPrintf(pHlp, "Guest GDT (GCAddr=%RGv limit=%x):\n", GCPtrGDT, GDTR.cbGdt);