- Timestamp:
- Jul 19, 2007 6:57:24 PM (18 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 1 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/CPUM.cpp
r3686 r3724 44 44 #include <iprt/string.h> 45 45 #include <iprt/system.h> 46 #include "x86context.h" 46 47 47 48 48 /******************************************************************************* … … 889 889 # ifdef VBOX_WITH_HYBIRD_32BIT_KERNEL 890 890 if (!(pCtx->efer & MSR_K6_EFER_LMA)) 891 # endif 891 # endif 892 892 { 893 893 pHlp->pfnPrintf(pHlp, … … 909 909 # ifdef VBOX_WITH_HYBIRD_32BIT_KERNEL 910 910 else 911 # endif 911 # endif 912 912 #endif 913 913 #if HC_ARCH_BITS == 64 || defined(VBOX_WITH_HYBIRD_32BIT_KERNEL) … … 1730 1730 /** 1731 1731 * API for controlling a few of the CPU features found in CR4. 1732 * 1732 * 1733 1733 * Currently only X86_CR4_TSD is accepted as input. 1734 * 1734 * 1735 1735 * @returns VBox status code. 1736 * 1736 * 1737 1737 * @param pVM The VM handle. 1738 1738 * @param fOr The CR4 OR mask. -
trunk/src/VBox/VMM/HWACCM.cpp
r3295 r3724 46 46 #include <iprt/string.h> 47 47 #include <iprt/thread.h> 48 #include "x86context.h"49 48 50 49 … … 285 284 Log(("pVM->hwaccm.s.vmx.fSupported = %d\n", pVM->hwaccm.s.vmx.fSupported)); 286 285 287 if ( pVM->hwaccm.s.fInitialized == false 286 if ( pVM->hwaccm.s.fInitialized == false 288 287 && pVM->hwaccm.s.vmx.msr.feature_ctrl != 0) 289 288 { … … 394 393 if (val & VMX_VMCS_CTRL_ENTRY_CONTROLS_DEACTIVATE_DUALMON) 395 394 LogRel(("HWACCM: VMX_VMCS_CTRL_ENTRY_CONTROLS_DEACTIVATE_DUALMON *must* be set\n")); 396 395 397 396 LogRel(("HWACCM: MSR_IA32_VMX_EXIT_CTLS = %VX64\n", pVM->hwaccm.s.vmx.msr.vmx_exit)); 398 397 val = pVM->hwaccm.s.vmx.msr.vmx_exit >> 32ULL; -
trunk/src/VBox/VMM/SELM.cpp
r2981 r3724 43 43 #include <iprt/thread.h> 44 44 #include <iprt/string.h> 45 #include "x86context.h"46 45 47 46 … … 103 102 AssertCompileMemberAlignment(VM, selm.s, 32); AssertRelease(!(RT_OFFSETOF(VM, selm.s) & 31)); 104 103 #if 0 /* doesn't work */ 105 AssertCompile((RT_OFFSETOF(VM, selm.s.Tss) & PAGE_OFFSET_MASK) <= PAGE_SIZE - sizeof(pVM->selm.s.Tss)); 106 AssertCompile((RT_OFFSETOF(VM, selm.s.TssTrap08) & PAGE_OFFSET_MASK) <= PAGE_SIZE - sizeof(pVM->selm.s.TssTrap08)); 104 AssertCompile((RT_OFFSETOF(VM, selm.s.Tss) & PAGE_OFFSET_MASK) <= PAGE_SIZE - sizeof(pVM->selm.s.Tss)); 105 AssertCompile((RT_OFFSETOF(VM, selm.s.TssTrap08) & PAGE_OFFSET_MASK) <= PAGE_SIZE - sizeof(pVM->selm.s.TssTrap08)); 107 106 #endif 108 107 AssertRelease((RT_OFFSETOF(VM, selm.s.Tss) & PAGE_OFFSET_MASK) <= PAGE_SIZE - sizeof(pVM->selm.s.Tss)); … … 261 260 pDesc->Gen.u8BaseHigh1 = 0; 262 261 pDesc->Gen.u8BaseHigh2 = 0; 263 pDesc->Gen.u4Type = X86_SEL TYPE_MEM_EXECUTEREAD_ACC;262 pDesc->Gen.u4Type = X86_SEL_TYPE_ER_ACC; 264 263 pDesc->Gen.u1DescType = 1; /* not system, but code/data */ 265 264 pDesc->Gen.u2Dpl = 0; /* supervisor */ … … 277 276 pDesc->Gen.u8BaseHigh1 = 0; 278 277 pDesc->Gen.u8BaseHigh2 = 0; 279 pDesc->Gen.u4Type = X86_SEL TYPE_MEM_READWRITE_ACC;278 pDesc->Gen.u4Type = X86_SEL_TYPE_RW_ACC; 280 279 pDesc->Gen.u1DescType = 1; /* not system, but code/data */ 281 280 pDesc->Gen.u2Dpl = 0; /* supervisor */ … … 293 292 pDesc->Gen.u8BaseHigh1 = 0; 294 293 pDesc->Gen.u8BaseHigh2 = 0; 295 pDesc->Gen.u4Type = X86_SEL TYPE_MEM_EXECUTEREAD_ACC;294 pDesc->Gen.u4Type = X86_SEL_TYPE_ER_ACC; 296 295 pDesc->Gen.u1DescType = 1; /* not system, but code/data */ 297 296 pDesc->Gen.u2Dpl = 0; /* supervisor */ … … 312 311 pDesc->Gen.u16LimitLow = sizeof(VBOXTSS) - 1; 313 312 pDesc->Gen.u4LimitHigh = 0; 314 pDesc->Gen.u4Type = X86_SEL TYPE_SYS_386_TSS_AVAIL;313 pDesc->Gen.u4Type = X86_SEL_TYPE_SYS_386_TSS_AVAIL; 315 314 pDesc->Gen.u1DescType = 0; /* system */ 316 315 pDesc->Gen.u2Dpl = 0; /* supervisor */ … … 331 330 pDesc->Gen.u8BaseHigh1 = RT_BYTE3(pGCTSS); 332 331 pDesc->Gen.u8BaseHigh2 = RT_BYTE4(pGCTSS); 333 pDesc->Gen.u4Type = X86_SEL TYPE_SYS_386_TSS_AVAIL;332 pDesc->Gen.u4Type = X86_SEL_TYPE_SYS_386_TSS_AVAIL; 334 333 pDesc->Gen.u1DescType = 0; /* system */ 335 334 pDesc->Gen.u2Dpl = 0; /* supervisor */ … … 710 709 /** 711 710 * Sync the GDT, LDT and TSS after loading the state. 712 * 713 * Just to play save, we set the FFs to force syncing before 711 * 712 * Just to play save, we set the FFs to force syncing before 714 713 * executing GC code. 715 * 714 * 716 715 * @returns VBox status code. 717 716 * @param pVM VM Handle. … … 722 721 LogFlow(("selmR3LoadDone:\n")); 723 722 724 /* 723 /* 725 724 * Don't do anything if it's a load failure. 726 725 */ … … 977 976 STAM_COUNTER_INC(&pVM->selm.s.StatHyperSelsChanged); 978 977 979 /* 978 /* 980 979 * Do the relocation callbacks to let everyone update their hyper selector dependencies. 981 980 * (SELMR3Relocate will call selmR3SetupHyperGDTSelectors() for us.) … … 1435 1434 */ 1436 1435 #if 1 1437 /* Don't bother with anything but the core structure. (Actually all we care for is the r0 ss.) */ 1438 if (cbTss > sizeof(VBOXTSS)) 1439 cbTss = sizeof(VBOXTSS); 1436 /* Don't bother with anything but the core structure. (Actually all we care for is the r0 ss.) */ 1437 if (cbTss > sizeof(VBOXTSS)) 1438 cbTss = sizeof(VBOXTSS); 1440 1439 #endif 1441 1440 /* The guest's TSS can span multiple pages now. We will monitor the whole thing. */ … … 1518 1517 { 1519 1518 uint32_t offRedirBitmap = tss.offIoBitmap - sizeof(tss.IntRedirBitmap); 1520 1519 1521 1520 /** @todo not sure how the partial case is handled; probably not allowed */ 1522 1521 if (offRedirBitmap + sizeof(tss.IntRedirBitmap) <= pVM->selm.s.cbGuestTss) … … 1711 1710 cbTss++; 1712 1711 #if 1 1713 /* Don't bother with anything but the core structure. (Actually all we care for is the r0 ss.) */ 1714 if (cbTss > sizeof(VBOXTSS)) 1715 cbTss = sizeof(VBOXTSS); 1712 /* Don't bother with anything but the core structure. (Actually all we care for is the r0 ss.) */ 1713 if (cbTss > sizeof(VBOXTSS)) 1714 cbTss = sizeof(VBOXTSS); 1716 1715 #endif 1717 1716 AssertMsg((GCPtrTss >> PAGE_SHIFT) == ((GCPtrTss + sizeof(VBOXTSS) - 1) >> PAGE_SHIFT), -
trunk/src/VBox/VMM/VMMInternal.h
r3723 r3724 24 24 25 25 #include <VBox/cdefs.h> 26 #include <x86context.h>27 26 #include <VBox/stam.h> 28 27 #include <VBox/log.h>
Note:
See TracChangeset
for help on using the changeset viewer.