VirtualBox

Changeset 9250 in vbox for trunk/src/VBox


Ignore:
Timestamp:
May 30, 2008 1:00:35 PM (17 years ago)
Author:
vboxsync
Message:

Corrected some unused code. Still untested though.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/EMAllA.asm

    r8225 r9250  
    843843
    844844%if 0
     845;; untested code!!
     846
    845847;;
    846848; Emulate LOCK CMPXCHG instruction, CDECL calling conv.
     
    898900    pop     eax
    899901
    900     mov     edx, [esp + 14h + 4]            ; eflags pointer
    901     mov     dword [edx], eax
    902 
    903902    pop     ebx
    904     mov     eax, VINF_SUCCESS
    905     retn
    906 
    907 ; Read error - we will be here after our page fault handler.
    908 GLOBALNAME EMEmulateLockCmpXchg32_Error
    909     pop     ebx
    910     mov     eax, VERR_ACCESS_DENIED
    911     ret
     903    retn
    912904
    913905ENDPROC     EMEmulateLockCmpXchg32
     
    968960    pop     eax
    969961
    970     mov     edx, [esp + 14h + 4]        ; eflags pointer
    971     mov     dword [edx], eax
    972 
    973962    pop     ebx
    974     mov     eax, VINF_SUCCESS
    975     retn
    976 
    977 ; Read error - we will be here after our page fault handler.
    978 GLOBALNAME EMEmulateCmpXchg32_Error
    979     pop     ebx
    980     mov     eax, VERR_ACCESS_DENIED
    981     ret
     963    retn
     964
    982965ENDPROC     EMEmulateCmpXchg32
    983966
     
    1007990
    1008991    lock cmpxchg8b qword [ebp]          ; do CMPXCHG8B
    1009     mov     dword [esp + 08h + 8], eax
    1010     mov     dword [esp + 0ch + 8], edx
     992    mov     ebx, dword [esp + 08h + 8]
     993    mov     dword [ebx], eax
     994    mov     ebx, dword [esp + 0ch + 8]
     995    mov     dword [ebx], edx
    1011996
    1012997    ; collect flags and return.
    1013998    pushf
    1014999    pop     eax
    1015 
    1016     mov     edx, [esp + 18h + 8]            ; eflags pointer
    1017     mov     dword [edx], eax
    10181000
    10191001    pop     ebx
    10201002    pop     ebp
    1021     mov     eax, VINF_SUCCESS
    1022     retn
    1023 
    1024 ; Read error - we will be here after our page fault handler.
    1025 GLOBALNAME EMEmulateLockCmpXchg8b32_Error
    1026     pop     ebx
    1027     pop     ebp
    1028     mov     eax, VERR_ACCESS_DENIED
    1029     ret
     1003    retn
    10301004
    10311005ENDPROC     EMEmulateLockCmpXchg8b32
     
    10561030
    10571031    cmpxchg8b qword [ebp]               ; do CMPXCHG8B
    1058     mov     dword [esp + 08h + 8], eax
    1059     mov     dword [esp + 0ch + 8], edx
     1032    mov     ebx, dword [esp + 08h + 8]
     1033    mov     dword [ebx], eax
     1034    mov     ebx, dword [esp + 0ch + 8]
     1035    mov     dword [ebx], edx
    10601036
    10611037    ; collect flags and return.
    10621038    pushf
    10631039    pop     eax
    1064 
    1065     mov     edx, [esp + 18h + 8]            ; eflags pointer
    1066     mov     dword [edx], eax
    10671040
    10681041    pop     ebx
    10691042    pop     ebp
    1070     mov     eax, VINF_SUCCESS
    1071     retn
    1072 
    1073 ; Read error - we will be here after our page fault handler.
    1074 GLOBALNAME EMEmulateCmpXchg8b32_Error
    1075     pop     ebx
    1076     pop     ebp
    1077     mov     eax, VERR_ACCESS_DENIED
    1078     ret
     1043    retn
    10791044ENDPROC     EMEmulateCmpXchg8b32
    10801045
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