VirtualBox

Changeset 44373 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jan 25, 2013 12:19:29 PM (12 years ago)
Author:
vboxsync
Message:

HM,++: pVM -> pUVM for main, mark as many as possible interfaces module internal.

Location:
trunk/src/VBox/VMM
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/HMAll.cpp

    r44195 r44373  
    6767 * @param   GCVirt      Page to invalidate
    6868 */
    69 VMMDECL(int) HMInvalidatePage(PVMCPU pVCpu, RTGCPTR GCVirt)
     69VMM_INT_DECL(int) HMInvalidatePage(PVMCPU pVCpu, RTGCPTR GCVirt)
    7070{
    7171    STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushPageManual);
     
    9090 * @param   pVCpu       Pointer to the VMCPU.
    9191 */
    92 VMMDECL(int) HMFlushTLB(PVMCPU pVCpu)
     92VMM_INT_DECL(int) HMFlushTLB(PVMCPU pVCpu)
    9393{
    9494    LogFlow(("HMFlushTLB\n"));
     
    193193 * @param   GCVirt      Page to invalidate
    194194 */
    195 VMMDECL(int) HMInvalidatePageOnAllVCpus(PVM pVM, RTGCPTR GCPtr)
     195VMM_INT_DECL(int) HMInvalidatePageOnAllVCpus(PVM pVM, RTGCPTR GCPtr)
    196196{
    197197    VMCPUID idCurCpu = VMMGetCpuId(pVM);
     
    226226 * @param   pVM       Pointer to the VM.
    227227 */
    228 VMMDECL(int) HMFlushTLBOnAllVCpus(PVM pVM)
     228VMM_INT_DECL(int) HMFlushTLBOnAllVCpus(PVM pVM)
    229229{
    230230    if (pVM->cCpus == 1)
     
    260260 * @param   pVM         Pointer to the VM.
    261261 */
    262 VMMDECL(bool) HMIsNestedPagingActive(PVM pVM)
     262VMM_INT_DECL(bool) HMIsNestedPagingActive(PVM pVM)
    263263{
    264264    return HMIsEnabled(pVM) && pVM->hm.s.fNestedPaging;
     
    271271 * @param   pVM         Pointer to the VM.
    272272 */
    273 VMMDECL(PGMMODE) HMGetShwPagingMode(PVM pVM)
     273VMM_INT_DECL(PGMMODE) HMGetShwPagingMode(PVM pVM)
    274274{
    275275    Assert(HMIsNestedPagingActive(pVM));
     
    290290 * @param   GCPhys      Page to invalidate
    291291 */
    292 VMMDECL(int) HMInvalidatePhysPage(PVM pVM, RTGCPHYS GCPhys)
     292VMM_INT_DECL(int) HMInvalidatePhysPage(PVM pVM, RTGCPHYS GCPhys)
    293293{
    294294    if (!HMIsNestedPagingActive(pVM))
     
    336336 * @param   pVM         Pointer to the VM.
    337337 */
    338 VMMDECL(bool) HMHasPendingIrq(PVM pVM)
     338VMM_INT_DECL(bool) HMHasPendingIrq(PVM pVM)
    339339{
    340340    PVMCPU pVCpu = VMMGetCpu(pVM);
     
    349349 * @param   pVCpu       Pointer to the VMCPU.
    350350 */
    351 VMMDECL(PX86PDPE) HMGetPaePdpes(PVMCPU pVCpu)
     351VMM_INT_DECL(PX86PDPE) HMGetPaePdpes(PVMCPU pVCpu)
    352352{
    353353    return &pVCpu->hm.s.aPdpes[0];
  • trunk/src/VBox/VMM/VMMR0/HMR0.cpp

    r44171 r44373  
    608608 * @returns VBox status code.
    609609 */
    610 VMMR0DECL(int) HMR0Init(void)
     610VMMR0_INT_DECL(int) HMR0Init(void)
    611611{
    612612    /*
     
    709709 * @returns VBox status code.
    710710 */
    711 VMMR0DECL(int) HMR0Term(void)
     711VMMR0_INT_DECL(int) HMR0Term(void)
    712712{
    713713    int rc;
     
    10031003 * @param   pVM                 Pointer to the VM.
    10041004 */
    1005 VMMR0DECL(int) HMR0EnableAllCpus(PVM pVM)
     1005VMMR0_INT_DECL(int) HMR0EnableAllCpus(PVM pVM)
    10061006{
    10071007    /* Make sure we don't touch hm after we've disabled hm in
     
    11821182 * @param   pVM         Pointer to the VM.
    11831183 */
    1184 VMMR0DECL(int) HMR0InitVM(PVM pVM)
     1184VMMR0_INT_DECL(int) HMR0InitVM(PVM pVM)
    11851185{
    11861186    AssertReturn(pVM, VERR_INVALID_PARAMETER);
     
    12791279 * @param   pVM         Pointer to the VM.
    12801280 */
    1281 VMMR0DECL(int) HMR0TermVM(PVM pVM)
     1281VMMR0_INT_DECL(int) HMR0TermVM(PVM pVM)
    12821282{
    12831283    Log(("HMR0TermVM: %p\n", pVM));
     
    13171317 * @param   pVM         Pointer to the VM.
    13181318 */
    1319 VMMR0DECL(int) HMR0SetupVM(PVM pVM)
     1319VMMR0_INT_DECL(int) HMR0SetupVM(PVM pVM)
    13201320{
    13211321    Log(("HMR0SetupVM: %p\n", pVM));
     
    13741374 * @remarks This is called with preemption disabled.
    13751375 */
    1376 VMMR0DECL(int) HMR0Enter(PVM pVM, PVMCPU pVCpu)
     1376VMMR0_INT_DECL(int) HMR0Enter(PVM pVM, PVMCPU pVCpu)
    13771377{
    13781378    RTCPUID         idCpu = RTMpCpuId();
     
    14491449 *          counterpart.
    14501450 */
    1451 VMMR0DECL(int) HMR0Leave(PVM pVM, PVMCPU pVCpu)
     1451VMMR0_INT_DECL(int) HMR0Leave(PVM pVM, PVMCPU pVCpu)
    14521452{
    14531453    int             rc;
     
    15221522 *          HMR0Enter.
    15231523 */
    1524 VMMR0DECL(int) HMR0RunGuestCode(PVM pVM, PVMCPU pVCpu)
     1524VMMR0_INT_DECL(int) HMR0RunGuestCode(PVM pVM, PVMCPU pVCpu)
    15251525{
    15261526#ifdef VBOX_STRICT
     
    15541554 * @param   pCtx        Pointer to the guest CPU context.
    15551555 */
    1556 VMMR0DECL(int)   HMR0SaveFPUState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
     1556VMMR0_INT_DECL(int)   HMR0SaveFPUState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
    15571557{
    15581558    STAM_COUNTER_INC(&pVCpu->hm.s.StatFpu64SwitchBack);
     
    15711571 * @param   pCtx        Pointer to the guest CPU context.
    15721572 */
    1573 VMMR0DECL(int)   HMR0SaveDebugState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
     1573VMMR0_INT_DECL(int)   HMR0SaveDebugState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
    15741574{
    15751575    STAM_COUNTER_INC(&pVCpu->hm.s.StatDebug64SwitchBack);
     
    15861586 * @param   pVM         Pointer to the VM.
    15871587 */
    1588 VMMR0DECL(int)   HMR0TestSwitcher3264(PVM pVM)
     1588VMMR0_INT_DECL(int)   HMR0TestSwitcher3264(PVM pVM)
    15891589{
    15901590    PVMCPU   pVCpu = &pVM->aCpus[0];
     
    16101610 * @returns Suspend pending or not.
    16111611 */
    1612 VMMR0DECL(bool) HMR0SuspendPending(void)
     1612VMMR0_INT_DECL(bool) HMR0SuspendPending(void)
    16131613{
    16141614    return ASMAtomicReadBool(&g_HvmR0.fSuspended);
     
    16541654 * @param   cbSize          Read size.
    16551655 */
    1656 VMMR0DECL(void) HMR0SavePendingIOPortRead(PVMCPU pVCpu, RTGCPTR GCPtrRip, RTGCPTR GCPtrRipNext, unsigned uPort, unsigned uAndVal, unsigned cbSize)
     1656VMMR0_INT_DECL(void) HMR0SavePendingIOPortRead(PVMCPU pVCpu, RTGCPTR GCPtrRip, RTGCPTR GCPtrRipNext,
     1657                                               unsigned uPort, unsigned uAndVal, unsigned cbSize)
    16571658{
    16581659    pVCpu->hm.s.PendingIO.enmType         = HMPENDINGIO_PORT_READ;
     
    16751676 * @param   cbSize          Read size.
    16761677 */
    1677 VMMR0DECL(void) HMR0SavePendingIOPortWrite(PVMCPU pVCpu, RTGCPTR GCPtrRip, RTGCPTR GCPtrRipNext, unsigned uPort, unsigned uAndVal, unsigned cbSize)
     1678VMMR0_INT_DECL(void) HMR0SavePendingIOPortWrite(PVMCPU pVCpu, RTGCPTR GCPtrRip, RTGCPTR GCPtrRipNext,
     1679                                                unsigned uPort, unsigned uAndVal, unsigned cbSize)
    16781680{
    16791681    pVCpu->hm.s.PendingIO.enmType         = HMPENDINGIO_PORT_WRITE;
     
    16961698 * @param   pfVTxDisabled   Where to store whether VT-x was disabled or not.
    16971699 */
    1698 VMMR0DECL(int) HMR0EnterSwitcher(PVM pVM, VMMSWITCHER enmSwitcher, bool *pfVTxDisabled)
     1700VMMR0_INT_DECL(int) HMR0EnterSwitcher(PVM pVM, VMMSWITCHER enmSwitcher, bool *pfVTxDisabled)
    16991701{
    17001702    Assert(!(ASMGetFlags() & X86_EFL_IF) || !RTThreadPreemptIsEnabled(NIL_RTTHREAD));
     
    17601762 * @param   fVTxDisabled    Whether VT-x was disabled or not.
    17611763 */
    1762 VMMR0DECL(void) HMR0LeaveSwitcher(PVM pVM, bool fVTxDisabled)
     1764VMMR0_INT_DECL(void) HMR0LeaveSwitcher(PVM pVM, bool fVTxDisabled)
    17631765{
    17641766    Assert(!(ASMGetFlags() & X86_EFL_IF));
  • trunk/src/VBox/VMM/VMMR3/CSAM.cpp

    r44362 r44373  
    3636#include <VBox/vmm/trpm.h>
    3737#include <VBox/vmm/cfgm.h>
     38#include <VBox/vmm/ssm.h>
    3839#include <VBox/param.h>
    3940#include <iprt/avl.h>
     
    4243#include "CSAMInternal.h"
    4344#include <VBox/vmm/vm.h>
     45#include <VBox/vmm/uvm.h>
    4446#include <VBox/dbg.h>
    4547#include <VBox/err.h>
    46 #include <VBox/vmm/ssm.h>
    4748#include <VBox/log.h>
    4849#include <iprt/assert.h>
     
    26852686 * Query CSAM state (enabled/disabled)
    26862687 *
    2687  * @returns 0 - disabled, 1 - enabled
    2688  * @param   pVM         Pointer to the VM.
    2689  */
    2690 VMMR3DECL(int) CSAMR3IsEnabled(PVM pVM)
    2691 {
    2692     return pVM->fCSAMEnabled;
     2688 * @returns true if enabled, false otherwise.
     2689 * @param   pUVM        The user mode VM handle.
     2690 */
     2691VMMR3DECL(bool) CSAMR3IsEnabled(PUVM pUVM)
     2692{
     2693    UVM_ASSERT_VALID_EXT_RETURN(pUVM, false);
     2694    PVM pVM = pUVM->pVM;
     2695    VM_ASSERT_VALID_EXT_RETURN(pVM, false);
     2696    return CSAMIsEnabled(pVM);
    26932697}
    26942698
  • trunk/src/VBox/VMM/VMMR3/DBGF.cpp

    r43387 r44373  
    8080#include "DBGFInternal.h"
    8181#include <VBox/vmm/vm.h>
     82#include <VBox/vmm/uvm.h>
    8283#include <VBox/err.h>
    8384
     
    11161117}
    11171118
     1119
     1120/**
     1121 * Inject an NMI into a running VM (only VCPU 0!)
     1122 *
     1123 * @returns VBox status code.
     1124 * @param   pVM         Pointer to the VM.
     1125 */
     1126VMMR3DECL(int) DBGFR3InjectNMI(PUVM pUVM, VMCPUID idCpu)
     1127{
     1128    UVM_ASSERT_VALID_EXT_RETURN(pUVM, VERR_INVALID_VM_HANDLE);
     1129    PVM pVM = pUVM->pVM;
     1130    VM_ASSERT_VALID_EXT_RETURN(pVM, VERR_INVALID_VM_HANDLE);
     1131    AssertReturn(idCpu < pVM->cCpus, VERR_INVALID_CPU_ID);
     1132
     1133    /** @todo Implement generic NMI injection. */
     1134    if (!HMIsEnabled(pVM))
     1135        return VERR_NOT_SUP_IN_RAW_MODE;
     1136
     1137    VMCPU_FF_SET(&pVM->aCpus[idCpu], VMCPU_FF_INTERRUPT_NMI);
     1138    return VINF_SUCCESS;
     1139}
     1140
  • trunk/src/VBox/VMM/VMMR3/EM.cpp

    r44362 r44373  
    6363#include "EMInternal.h"
    6464#include <VBox/vmm/vm.h>
     65#include <VBox/vmm/uvm.h>
    6566#include <VBox/vmm/cpumdis.h>
    6667#include <VBox/dis.h>
     
    666667
    667668/**
     669 * Checks if raw ring-3 execute mode is enabled.
     670 *
     671 * @returns true if enabled, false if disabled.
     672 * @param   pUVM            The user mode VM handle.
     673 */
     674VMMR3DECL(bool) EMR3IsRawRing3Enabled(PUVM pUVM)
     675{
     676    UVM_ASSERT_VALID_EXT_RETURN(pUVM, false);
     677    PVM pVM = pUVM->pVM;
     678    VM_ASSERT_VALID_EXT_RETURN(pVM, false);
     679    return EMIsRawRing3Enabled(pVM);
     680}
     681
     682
     683/**
     684 * Checks if raw ring-0 execute mode is enabled.
     685 *
     686 * @returns true if enabled, false if disabled.
     687 * @param   pUVM            The user mode VM handle.
     688 */
     689VMMR3DECL(bool) EMR3IsRawRing0Enabled(PUVM pUVM)
     690{
     691    UVM_ASSERT_VALID_EXT_RETURN(pUVM, false);
     692    PVM pVM = pUVM->pVM;
     693    VM_ASSERT_VALID_EXT_RETURN(pVM, false);
     694    return EMIsRawRing0Enabled(pVM);
     695}
     696
     697
     698/**
    668699 * Raise a fatal error.
    669700 *
  • trunk/src/VBox/VMM/VMMR3/HM.cpp

    r44362 r44373  
    3939#include "HMInternal.h"
    4040#include <VBox/vmm/vm.h>
     41#include <VBox/vmm/uvm.h>
    4142#include <VBox/err.h>
    4243#include <VBox/param.h>
     
    284285 * @param   pVM         Pointer to the VM.
    285286 */
    286 VMMR3DECL(int) HMR3Init(PVM pVM)
     287VMMR3_INT_DECL(int) HMR3Init(PVM pVM)
    287288{
    288289    LogFlow(("HMR3Init\n"));
     
    14841485 * @param   pVM     The VM.
    14851486 */
    1486 VMMR3DECL(void) HMR3Relocate(PVM pVM)
     1487VMMR3_INT_DECL(void) HMR3Relocate(PVM pVM)
    14871488{
    14881489    Log(("HMR3Relocate to %RGv\n", MMHyperGetArea(pVM, 0)));
     
    15471548 * @param   pVM         Pointer to the VM.
    15481549 */
    1549 VMMR3DECL(bool) HMR3IsAllowed(PVM pVM)
     1550VMMR3_INT_DECL(bool) HMR3IsAllowed(PVM pVM)
    15501551{
    15511552    return pVM->hm.s.fAllowed;
     
    15641565 * @param   enmGuestMode   New guest paging mode.
    15651566 */
    1566 VMMR3DECL(void) HMR3PagingModeChanged(PVM pVM, PVMCPU pVCpu, PGMMODE enmShadowMode, PGMMODE enmGuestMode)
     1567VMMR3_INT_DECL(void) HMR3PagingModeChanged(PVM pVM, PVMCPU pVCpu, PGMMODE enmShadowMode, PGMMODE enmGuestMode)
    15671568{
    15681569    /* Ignore page mode changes during state loading. */
     
    16191620 * @param   pVM         Pointer to the VM.
    16201621 */
    1621 VMMR3DECL(int) HMR3Term(PVM pVM)
     1622VMMR3_INT_DECL(int) HMR3Term(PVM pVM)
    16221623{
    16231624    if (pVM->hm.s.vmx.pRealModeTSS)
     
    16751676 * @param   pVCpu   The CPU to reset.
    16761677 */
    1677 VMMR3DECL(void) HMR3ResetCpu(PVMCPU pVCpu)
     1678VMMR3_INT_DECL(void) HMR3ResetCpu(PVMCPU pVCpu)
    16781679{
    16791680    /* On first entry we'll sync everything. */
     
    17121713 * @param   pVM     Pointer to the VM.
    17131714 */
    1714 VMMR3DECL(void) HMR3Reset(PVM pVM)
     1715VMMR3_INT_DECL(void) HMR3Reset(PVM pVM)
    17151716{
    17161717    LogFlow(("HMR3Reset:\n"));
     
    18311832 * @param   cbPatchMem  Size of the memory range.
    18321833 */
    1833 VMMR3DECL(int)  HMR3EnablePatching(PVM pVM, RTGCPTR pPatchMem, unsigned cbPatchMem)
     1834VMMR3_INT_DECL(int)  HMR3EnablePatching(PVM pVM, RTGCPTR pPatchMem, unsigned cbPatchMem)
    18341835{
    18351836    VM_ASSERT_EMT(pVM);
     
    18551856 * @param   cbPatchMem  Size of the memory range.
    18561857 */
    1857 VMMR3DECL(int)  HMR3DisablePatching(PVM pVM, RTGCPTR pPatchMem, unsigned cbPatchMem)
     1858VMMR3_INT_DECL(int)  HMR3DisablePatching(PVM pVM, RTGCPTR pPatchMem, unsigned cbPatchMem)
    18581859{
    18591860    Log(("HMR3DisablePatching %RGv size %x\n", pPatchMem, cbPatchMem));
     
    22892290 * @param   pCtx        Pointer to the guest CPU context.
    22902291 */
    2291 VMMR3DECL(int) HMR3PatchTprInstr(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
     2292VMMR3_INT_DECL(int) HMR3PatchTprInstr(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
    22922293{
    22932294    NOREF(pCtx);
     
    23072308 * @param   pCtx        Partial VM execution context.
    23082309 */
    2309 VMMR3DECL(int) HMR3EmulateIoBlock(PVM pVM, PCPUMCTX pCtx)
     2310VMMR3_INT_DECL(int) HMR3EmulateIoBlock(PVM pVM, PCPUMCTX pCtx)
    23102311{
    23112312    PVMCPU pVCpu = VMMGetCpu(pVM);
     
    25232524 * @param   pCtx        VM execution context.
    25242525 */
    2525 VMMR3DECL(bool) HMR3IsRescheduleRequired(PVM pVM, PCPUMCTX pCtx)
     2526VMMR3_INT_DECL(bool) HMR3IsRescheduleRequired(PVM pVM, PCPUMCTX pCtx)
    25262527{
    25272528    /*
     
    25462547 * @param   pVCpu       Pointer to the current VMCPU.
    25472548 */
    2548 VMMR3DECL(void) HMR3NotifyScheduled(PVMCPU pVCpu)
     2549VMMR3_INT_DECL(void) HMR3NotifyScheduled(PVMCPU pVCpu)
    25492550{
    25502551    pVCpu->hm.s.fContextUseFlags |= HM_CHANGED_ALL_GUEST;
     
    25572558 * @param   pVCpu       Pointer to the VMCPU.
    25582559 */
    2559 VMMR3DECL(void) HMR3NotifyEmulated(PVMCPU pVCpu)
     2560VMMR3_INT_DECL(void) HMR3NotifyEmulated(PVMCPU pVCpu)
    25602561{
    25612562    pVCpu->hm.s.fContextUseFlags |= HM_CHANGED_ALL_GUEST;
     
    25692570 * @param   pVCpu        Pointer to the VMCPU.
    25702571 */
    2571 VMMR3DECL(bool) HMR3IsActive(PVMCPU pVCpu)
     2572VMMR3_INT_DECL(bool) HMR3IsActive(PVMCPU pVCpu)
    25722573{
    25732574    return pVCpu->hm.s.fActive;
     
    25792580 *
    25802581 * @returns true if nested paging is being used, otherwise false.
    2581  * @param   pVM         Pointer to the VM.
    2582  */
    2583 VMMR3DECL(bool) HMR3IsNestedPagingActive(PVM pVM)
    2584 {
     2582 * @param   pUVM        The user mode VM handle.
     2583 */
     2584VMMR3DECL(bool) HMR3IsEnabled(PUVM pUVM)
     2585{
     2586    UVM_ASSERT_VALID_EXT_RETURN(pUVM, false);
     2587    PVM pVM = pUVM->pVM;
     2588    VM_ASSERT_VALID_EXT_RETURN(pVM, false);
     2589    return HMIsEnabled(pVM);
     2590}
     2591
     2592
     2593/**
     2594 * Checks if we are currently using nested paging.
     2595 *
     2596 * @returns true if nested paging is being used, otherwise false.
     2597 * @param   pUVM        The user mode VM handle.
     2598 */
     2599VMMR3DECL(bool) HMR3IsNestedPagingActive(PUVM pUVM)
     2600{
     2601    UVM_ASSERT_VALID_EXT_RETURN(pUVM, false);
     2602    PVM pVM = pUVM->pVM;
     2603    VM_ASSERT_VALID_EXT_RETURN(pVM, false);
    25852604    return pVM->hm.s.fNestedPaging;
    25862605}
     
    25912610 *
    25922611 * @returns true if VPID is being used, otherwise false.
    2593  * @param   pVM         Pointer to the VM.
    2594  */
    2595 VMMR3DECL(bool) HMR3IsVPIDActive(PVM pVM)
    2596 {
     2612 * @param   pUVM        The user mode VM handle.
     2613 */
     2614VMMR3DECL(bool) HMR3IsVpidActive(PUVM pUVM)
     2615{
     2616    UVM_ASSERT_VALID_EXT_RETURN(pUVM, false);
     2617    PVM pVM = pUVM->pVM;
     2618    VM_ASSERT_VALID_EXT_RETURN(pVM, false);
    25972619    return pVM->hm.s.vmx.fVpid;
    25982620}
     
    26052627 * @param   pVM         Pointer to the VM.
    26062628 */
    2607 VMMR3DECL(bool) HMR3IsEventPending(PVMCPU pVCpu)
     2629VMMR3_INT_DECL(bool) HMR3IsEventPending(PVMCPU pVCpu)
    26082630{
    26092631    return HMIsEnabled(pVCpu->pVMR3) && pVCpu->hm.s.Event.fPending;
     
    26172639 * @param   pVM         Pointer to the VM.
    26182640 */
    2619 VMMR3DECL(bool) HMR3IsVmxPreemptionTimerUsed(PVM pVM)
     2641VMMR3_INT_DECL(bool) HMR3IsVmxPreemptionTimerUsed(PVM pVM)
    26202642{
    26212643    return HMIsEnabled(pVM)
     
    26392661 * @param   pCtx        Pointer to the guest CPU context.
    26402662 */
    2641 VMMR3DECL(VBOXSTRICTRC) HMR3RestartPendingIOInstr(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
     2663VMMR3_INT_DECL(VBOXSTRICTRC) HMR3RestartPendingIOInstr(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
    26422664{
    26432665    HMPENDINGIO enmType = pVCpu->hm.s.PendingIO.enmType;
     
    26862708
    26872709/**
    2688  * Inject an NMI into a running VM (only VCPU 0!)
    2689  *
    2690  * @returns VBox status code.
    2691  * @param   pVM         Pointer to the VM.
    2692  */
    2693 VMMR3DECL(int)  HMR3InjectNMI(PVM pVM)
    2694 {
    2695     VMCPU_FF_SET(&pVM->aCpus[0], VMCPU_FF_INTERRUPT_NMI);
    2696     return VINF_SUCCESS;
    2697 }
    2698 
    2699 
    2700 /**
    27012710 * Check fatal VT-x/AMD-V error and produce some meaningful
    27022711 * log release message.
     
    27052714 * @param   iStatusCode VBox status code.
    27062715 */
    2707 VMMR3DECL(void) HMR3CheckError(PVM pVM, int iStatusCode)
     2716VMMR3_INT_DECL(void) HMR3CheckError(PVM pVM, int iStatusCode)
    27082717{
    27092718    for (VMCPUID i = 0; i < pVM->cCpus; i++)
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