VirtualBox

Changeset 20673 in vbox for trunk/src/VBox/VMM/VMMGC


Ignore:
Timestamp:
Jun 17, 2009 4:00:46 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
48772
Message:

VMM: don't clobber pTRPMCPU

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMGC/TRPMGCHandlersA.asm

    r19015 r20673  
    548548
    549549    ; tell cpum about the context core.
    550     xchg    esi, eax                    ; save pTRPM - @todo reallocate this variable to esi, edi, or ebx
     550    xchg    esi, eax                    ; save pTRPMCPU - @todo reallocate this variable to esi, edi, or ebx
    551551    push    esp                         ; Param 2 - The new CPUMCTXCORE pointer.
    552552    mov     eax, IMP(g_VM)              ; Param 1 - Pointer to the VMCPU.
     
    555555    call    NAME(CPUMHyperSetCtxCore)
    556556    add     esp, byte 8                 ; stack cleanup (cdecl)
    557     xchg    eax, esi                    ; restore pTRPM
     557    xchg    eax, esi                    ; restore pTRPMCPU
    558558
    559559    ; check for temporary handler.
    560560    movzx   ebx, byte [eax + TRPMCPU.uActiveVector]
    561     mov     eax, IMP(g_TRPM)
     561    mov     esi, IMP(g_TRPM)            ; keep eax == pTRPMCPU
    562562    xor     ecx, ecx
    563     xchg    ecx, [eax + TRPM.aTmpTrapHandlers + ebx * 4]    ; ecx = Temp handler pointer or 0
     563    xchg    ecx, [esi + TRPM.aTmpTrapHandlers + ebx * 4]    ; ecx = Temp handler pointer or 0
    564564    or      ecx, ecx
    565565    jnz short gt_Hyper_HaveTemporaryHandler
     
    592592gt_Hyper_HaveStaticHandler:
    593593    push    esp                         ; Param 2 - Pointer to CPUMCTXCORE.
    594     push    eax                         ; Param 1 - Pointer to TRPM
     594    push    eax                         ; Param 1 - Pointer to TRPMCPU
    595595    call    ecx
    596596    add     esp, byte 8                 ; cleanup stack (cdecl)
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