VirtualBox

Changeset 15654 in vbox for trunk


Ignore:
Timestamp:
Dec 18, 2008 1:21:48 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
41188
Message:

Turn off interrupts in the 32/64 switcher.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r15605 r15654  
    36023602{
    36033603    int             rc, rc2;
    3604     RTHCUINTREG     uFlags;
    36053604    PHWACCM_CPUINFO pCpu;
    36063605    RTHCPHYS        pPageCpuPhys;
     
    36293628    VMXDisable();
    36303629
    3631     uFlags = ASMIntDisableFlags();
    3632 
    36333630    CPUMSetHyperESP(pVM, VMMGetStackRC(pVM));
    36343631    CPUMSetHyperEIP(pVM, pfnHandler);
     
    36423639    RTHCUINTREG  uFlagsTest = ASMGetFlags();
    36433640#endif
    3644 
    3645     ASMSetFlags(uFlags);
    36463641
    36473642    /* Make sure the VMX instructions don't cause #UD faults. */
  • trunk/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac

    r15598 r15654  
    7272 %endif
    7373
     74    ; turn off interrupts
     75    pushf
     76    cli
     77   
    7478    ;
    7579    ; Call worker.
     
    8084    call    NAME(vmmR0HostToGuestAsm)
    8185
     86    ; restore original flags
     87    popf
     88   
    8289%ifdef VBOX_WITH_STATISTICS
    8390    ;
     
    132139    sgdt    [edx + CPUMCPU.Host.gdtr]
    133140    str     [edx + CPUMCPU.Host.tr]
    134     ; flags
    135     pushfd
    136     pop     dword [edx + CPUMCPU.Host.eflags]
    137141
    138142    ; control registers.
     
    506510
    507511    ; store the return code in eax   
    508     mov     eax, [edx + CPUMCPU.u32RetCode]
    509    
    510     push    dword [edx + CPUMCPU.Host.eflags]
    511     popfd
    512 
     512    mov     eax, [edx + CPUMCPU.u32RetCode]   
    513513    retf
    514        
    515514ENDPROC VMMGCGuestToHostAsm
    516515
Note: See TracChangeset for help on using the changeset viewer.

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