VirtualBox

Changeset 96811 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Sep 21, 2022 1:23:31 PM (2 years ago)
Author:
vboxsync
Message:

VMM,IPRT,VBoxGuest,SUPDrv: Added a more efficient interface for guest logging using the CPUID instruction. This is mainly intended for development use and not enabled by default. Require updating host drivers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/IEMR3.cpp

    r96407 r96811  
    8989VMMR3DECL(int)      IEMR3Init(PVM pVM)
    9090{
     91    int rc;
     92
     93    /*
     94     * Read configuration.
     95     */
     96    PCFGMNODE pIem = CFGMR3GetChild(CFGMR3GetRoot(pVM), "IEM");
     97
     98#ifndef VBOX_WITHOUT_CPUID_HOST_CALL
     99    /** @cfgm{/IEM/CpuIdHostCall, boolean, false}
     100     * Controls whether the custom VBox specific CPUID host call interface is
     101     * enabled or not. */
     102# ifdef DEBUG_bird
     103    rc = CFGMR3QueryBoolDef(pIem, "CpuIdHostCall", &pVM->iem.s.fCpuIdHostCall, true);
     104# else
     105    rc = CFGMR3QueryBoolDef(pIem, "CpuIdHostCall", &pVM->iem.s.fCpuIdHostCall, false);
     106# endif
     107    AssertLogRelRCReturn(rc, rc);
     108#endif
     109
     110    /*
     111     * Initialize per-CPU data and register statistics.
     112     */
    91113    uint64_t const uInitialTlbRevision = UINT64_C(0) - (IEMTLB_REVISION_INCR * 200U);
    92114    uint64_t const uInitialTlbPhysRev  = UINT64_C(0) - (IEMTLB_PHYS_REV_INCR * 100U);
     
    224246    if (pVM->cpum.ro.GuestFeatures.fVmx)
    225247    {
    226         int rc = PGMR3HandlerPhysicalTypeRegister(pVM, PGMPHYSHANDLERKIND_ALL, 0 /*fFlags*/,
    227                                                   iemVmxApicAccessPageHandler,
    228                                                   "VMX APIC-access page", &pVM->iem.s.hVmxApicAccessPage);
     248        rc = PGMR3HandlerPhysicalTypeRegister(pVM, PGMPHYSHANDLERKIND_ALL, 0 /*fFlags*/,
     249                                              iemVmxApicAccessPageHandler,
     250                                              "VMX APIC-access page", &pVM->iem.s.hVmxApicAccessPage);
    229251        AssertLogRelRCReturn(rc, rc);
    230252    }
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