- Timestamp:
- May 19, 2014 7:48:18 AM (11 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/CPUMR3Db.cpp
r51274 r51283 756 756 757 757 758 #if 0759 758 /** 760 759 * Insert an MSR range into the VM. … … 769 768 VMMR3DECL(int) CPUMR3MsrRangesInsert(PVM pVM, PCCPUMMSRRANGE pNewRange) 770 769 { 770 AssertReturn(pVM, VERR_INVALID_PARAMETER); 771 AssertReturn(pNewRange, VERR_INVALID_PARAMETER); 772 771 773 return cpumR3MsrRangesInsert(pVM, NULL /* ppaMsrRanges */, NULL /* pcMsrRanges */, pNewRange); 772 774 } 773 #endif774 775 775 776 -
trunk/src/VBox/VMM/include/CPUMInternal.h
r51271 r51283 601 601 } CPUMMSRWRFN; 602 602 603 /**604 * MSR range.605 */606 typedef struct CPUMMSRRANGE607 {608 /** The first MSR. [0] */609 uint32_t uFirst;610 /** The last MSR. [4] */611 uint32_t uLast;612 /** The read function (CPUMMSRRDFN). [8] */613 uint16_t enmRdFn;614 /** The write function (CPUMMSRWRFN). [10] */615 uint16_t enmWrFn;616 /** The offset of the 64-bit MSR value relative to the start of CPUMCPU.617 * UINT16_MAX if not used by the read and write functions. [12] */618 uint16_t offCpumCpu;619 /** Reserved for future hacks. [14] */620 uint16_t fReserved;621 /** The init/read value. [16]622 * When enmRdFn is kCpumMsrRdFn_INIT_VALUE, this is the value returned on RDMSR.623 * offCpumCpu must be UINT16_MAX in that case, otherwise it must be a valid624 * offset into CPUM. */625 uint64_t uValue;626 /** The bits to ignore when writing. [24] */627 uint64_t fWrIgnMask;628 /** The bits that will cause a GP(0) when writing. [32]629 * This is always checked prior to calling the write function. Using630 * UINT64_MAX effectively marks the MSR as read-only. */631 uint64_t fWrGpMask;632 /** The register name, if applicable. [40] */633 char szName[56];634 635 #ifdef VBOX_WITH_STATISTICS636 /** The number of reads. */637 STAMCOUNTER cReads;638 /** The number of writes. */639 STAMCOUNTER cWrites;640 /** The number of times ignored bits were written. */641 STAMCOUNTER cIgnoredBits;642 /** The number of GPs generated. */643 STAMCOUNTER cGps;644 #endif645 } CPUMMSRRANGE;646 #ifdef VBOX_WITH_STATISTICS647 AssertCompileSize(CPUMMSRRANGE, 128);648 #else649 AssertCompileSize(CPUMMSRRANGE, 96);650 #endif651 /** Pointer to an MSR range. */652 typedef CPUMMSRRANGE *PCPUMMSRRANGE;653 /** Pointer to a const MSR range. */654 typedef CPUMMSRRANGE const *PCCPUMMSRRANGE;655 656 657 658 603 659 604 /**
Note:
See TracChangeset
for help on using the changeset viewer.