VirtualBox

Changeset 85450 in vbox


Ignore:
Timestamp:
Jul 24, 2020 7:51:14 AM (5 years ago)
Author:
vboxsync
Message:

HostDrivers/Support: Added reading the SMM address/mask MSRs while reading the rest of the AMD-V MSRs from the host.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/sup.h

    r85213 r85450  
    144144        {
    145145            uint64_t        u64MsrHwcr;
    146             uint64_t        u64Padding[27];
    147         }svm;
     146            uint64_t        u64MsrSmmAddr;
     147            uint64_t        u64MsrSmmMask;
     148            uint64_t        u64Padding[25];
     149        } svm;
    148150    } u;
    149151} SUPHWVIRTMSRS;
  • trunk/include/iprt/x86.h

    r85419 r85450  
    18281828#define MSR_K8_TOP_MEM1                     UINT32_C(0xc001001a)
    18291829#define MSR_K8_TOP_MEM2                     UINT32_C(0xc001001d)
     1830
     1831/** SMM MSRs. */
     1832#define MSR_K7_SMBASE                       UINT32_C(0xc0010111)
     1833#define MSR_K7_SMM_ADDR                     UINT32_C(0xc0010112)
     1834#define MSR_K7_SMM_MASK                     UINT32_C(0xc0010113)
     1835
    18301836/** North bridge config? See BIOS & Kernel dev guides for
    18311837 * details. */
  • trunk/src/VBox/HostDrivers/Support/SUPDrv.cpp

    r85171 r85450  
    46424642        }
    46434643        else if (fCaps & SUPVTCAPS_AMD_V)
    4644             Msrs.u.svm.u64MsrHwcr = ASMRdMsr(MSR_K8_HWCR);
     4644        {
     4645            Msrs.u.svm.u64MsrHwcr    = ASMRdMsr(MSR_K8_HWCR);
     4646            Msrs.u.svm.u64MsrSmmAddr = ASMRdMsr(MSR_K7_SMM_ADDR);
     4647            Msrs.u.svm.u64MsrSmmMask = ASMRdMsr(MSR_K7_SMM_MASK);
     4648        }
    46454649        else
    46464650        {
  • trunk/src/VBox/HostDrivers/Support/SUPDrvIOC.h

    r85121 r85450  
    223223 *          - Move SUP_IOCTL_FAST_DO_NOP and SUP_VMMR0_DO_NEM_RUN after NEM.
    224224 */
    225 #define SUPDRV_IOC_VERSION                              0x002d0001
     225#define SUPDRV_IOC_VERSION                              0x002d0002
    226226
    227227/** SUP_IOCTL_COOKIE. */
  • trunk/src/VBox/HostDrivers/Support/SUPLib.cpp

    r85160 r85450  
    277277        CookieReq.u.In.u32ReqVersion = SUPDRV_IOC_VERSION;
    278278        const uint32_t uMinVersion = (SUPDRV_IOC_VERSION & 0xffff0000) == 0x002d0000
    279                                    ? 0x002d0001
     279                                   ? 0x002d0002
    280280                                   : SUPDRV_IOC_VERSION & 0xffff0000;
    281281        CookieReq.u.In.u32MinVersion = uMinVersion;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette