VirtualBox

Changeset 46548 in vbox for trunk/src/VBox/VMM/testcase


Ignore:
Timestamp:
Jun 14, 2013 9:42:21 AM (11 years ago)
Author:
vboxsync
Message:

asmdefs.mac,bootsectors,*: Removed xS and sZ in favor of xCB and sCB.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/testcase/Instructions/env-common.mac

    r46543 r46548  
    129129%else
    130130        mov     sBX, [VBINSTST_NAME(g_uVBInsTstSubTestIndicator)]
    131         mov     sCX, [xBP + 4 + xS]     ; expected
    132         mov     sAX, [xBP + 4 + xS + 4] ; actual
    133         mov     sDX, [xBP + 4 + xS + 8] ; reg#
     131        mov     sCX, [xBP + 4 + xCB]     ; expected
     132        mov     sAX, [xBP + 4 + xCB + 4] ; actual
     133        mov     sDX, [xBP + 4 + xCB + 8] ; reg#
    134134        push    sBX
    135135        push    sCX
  • trunk/src/VBox/VMM/testcase/tstX86-1A.asm

    r40248 r46548  
    15221522
    15231523.failed3:
    1524         add     xSP, 20h + xS
     1524        add     xSP, 20h + xCB
    15251525        jmp     .return
    15261526
     
    19421942        push    xDI
    19431943
    1944         lea     xDI, [xSP + xS * 5]
     1944        lea     xDI, [xSP + xCB * 5]
    19451945        mov     xCX, 512 / 4
    19461946        mov     eax, 0cccccccch
     
    19541954
    19551955        ; Save the FPU state.
    1956         mov     dword [xSP + xS + X86FXSTATE.FPUIP], 0
    1957         mov     dword [xSP + xS + X86FXSTATE.FPUCS], 0
    1958         mov     dword [xSP + xS + X86FXSTATE.FPUDP], 0
    1959         mov     dword [xSP + xS + X86FXSTATE.FPUDS], 0
    1960         arch_fxsave [xSP + xS]
     1956        mov     dword [xSP + xCB + X86FXSTATE.FPUIP], 0
     1957        mov     dword [xSP + xCB + X86FXSTATE.FPUCS], 0
     1958        mov     dword [xSP + xCB + X86FXSTATE.FPUDP], 0
     1959        mov     dword [xSP + xCB + X86FXSTATE.FPUDS], 0
     1960        arch_fxsave [xSP + xCB]
    19611961
    19621962        ; Save GRegs (80h bytes).
    19631963%ifdef RT_ARCH_AMD64
    1964         mov     [xSP + 512 + xS + 000h], xAX
    1965         mov     [xSP + 512 + xS + 008h], xBX
    1966         mov     [xSP + 512 + xS + 010h], xCX
    1967         mov     [xSP + 512 + xS + 018h], xDX
    1968         mov     [xSP + 512 + xS + 020h], xDI
    1969         mov     [xSP + 512 + xS + 028h], xSI
    1970         mov     [xSP + 512 + xS + 030h], xBP
    1971         mov     [xSP + 512 + xS + 038h], r8
    1972         mov     [xSP + 512 + xS + 040h], r9
    1973         mov     [xSP + 512 + xS + 048h], r10
    1974         mov     [xSP + 512 + xS + 050h], r11
    1975         mov     [xSP + 512 + xS + 058h], r12
    1976         mov     [xSP + 512 + xS + 060h], r13
    1977         mov     [xSP + 512 + xS + 068h], r14
    1978         mov     [xSP + 512 + xS + 070h], r15
     1964        mov     [xSP + 512 + xCB + 000h], xAX
     1965        mov     [xSP + 512 + xCB + 008h], xBX
     1966        mov     [xSP + 512 + xCB + 010h], xCX
     1967        mov     [xSP + 512 + xCB + 018h], xDX
     1968        mov     [xSP + 512 + xCB + 020h], xDI
     1969        mov     [xSP + 512 + xCB + 028h], xSI
     1970        mov     [xSP + 512 + xCB + 030h], xBP
     1971        mov     [xSP + 512 + xCB + 038h], r8
     1972        mov     [xSP + 512 + xCB + 040h], r9
     1973        mov     [xSP + 512 + xCB + 048h], r10
     1974        mov     [xSP + 512 + xCB + 050h], r11
     1975        mov     [xSP + 512 + xCB + 058h], r12
     1976        mov     [xSP + 512 + xCB + 060h], r13
     1977        mov     [xSP + 512 + xCB + 068h], r14
     1978        mov     [xSP + 512 + xCB + 070h], r15
    19791979        pushf
    19801980        pop     rax
    1981         mov     [xSP + 512 + xS + 078h], rax
    1982         mov     rax, [xSP + 512 + xS + 000h]
     1981        mov     [xSP + 512 + xCB + 078h], rax
     1982        mov     rax, [xSP + 512 + xCB + 000h]
    19831983%else
    1984         mov     [xSP + 512 + xS + 000h], eax
    1985         mov     [xSP + 512 + xS + 004h], eax
    1986         mov     [xSP + 512 + xS + 008h], ebx
    1987         mov     [xSP + 512 + xS + 00ch], ebx
    1988         mov     [xSP + 512 + xS + 010h], ecx
    1989         mov     [xSP + 512 + xS + 014h], ecx
    1990         mov     [xSP + 512 + xS + 018h], edx
    1991         mov     [xSP + 512 + xS + 01ch], edx
    1992         mov     [xSP + 512 + xS + 020h], edi
    1993         mov     [xSP + 512 + xS + 024h], edi
    1994         mov     [xSP + 512 + xS + 028h], esi
    1995         mov     [xSP + 512 + xS + 02ch], esi
    1996         mov     [xSP + 512 + xS + 030h], ebp
    1997         mov     [xSP + 512 + xS + 034h], ebp
    1998         mov     [xSP + 512 + xS + 038h], eax
    1999         mov     [xSP + 512 + xS + 03ch], eax
    2000         mov     [xSP + 512 + xS + 040h], eax
    2001         mov     [xSP + 512 + xS + 044h], eax
    2002         mov     [xSP + 512 + xS + 048h], eax
    2003         mov     [xSP + 512 + xS + 04ch], eax
    2004         mov     [xSP + 512 + xS + 050h], eax
    2005         mov     [xSP + 512 + xS + 054h], eax
    2006         mov     [xSP + 512 + xS + 058h], eax
    2007         mov     [xSP + 512 + xS + 05ch], eax
    2008         mov     [xSP + 512 + xS + 060h], eax
    2009         mov     [xSP + 512 + xS + 064h], eax
    2010         mov     [xSP + 512 + xS + 068h], eax
    2011         mov     [xSP + 512 + xS + 06ch], eax
    2012         mov     [xSP + 512 + xS + 070h], eax
    2013         mov     [xSP + 512 + xS + 074h], eax
     1984        mov     [xSP + 512 + xCB + 000h], eax
     1985        mov     [xSP + 512 + xCB + 004h], eax
     1986        mov     [xSP + 512 + xCB + 008h], ebx
     1987        mov     [xSP + 512 + xCB + 00ch], ebx
     1988        mov     [xSP + 512 + xCB + 010h], ecx
     1989        mov     [xSP + 512 + xCB + 014h], ecx
     1990        mov     [xSP + 512 + xCB + 018h], edx
     1991        mov     [xSP + 512 + xCB + 01ch], edx
     1992        mov     [xSP + 512 + xCB + 020h], edi
     1993        mov     [xSP + 512 + xCB + 024h], edi
     1994        mov     [xSP + 512 + xCB + 028h], esi
     1995        mov     [xSP + 512 + xCB + 02ch], esi
     1996        mov     [xSP + 512 + xCB + 030h], ebp
     1997        mov     [xSP + 512 + xCB + 034h], ebp
     1998        mov     [xSP + 512 + xCB + 038h], eax
     1999        mov     [xSP + 512 + xCB + 03ch], eax
     2000        mov     [xSP + 512 + xCB + 040h], eax
     2001        mov     [xSP + 512 + xCB + 044h], eax
     2002        mov     [xSP + 512 + xCB + 048h], eax
     2003        mov     [xSP + 512 + xCB + 04ch], eax
     2004        mov     [xSP + 512 + xCB + 050h], eax
     2005        mov     [xSP + 512 + xCB + 054h], eax
     2006        mov     [xSP + 512 + xCB + 058h], eax
     2007        mov     [xSP + 512 + xCB + 05ch], eax
     2008        mov     [xSP + 512 + xCB + 060h], eax
     2009        mov     [xSP + 512 + xCB + 064h], eax
     2010        mov     [xSP + 512 + xCB + 068h], eax
     2011        mov     [xSP + 512 + xCB + 06ch], eax
     2012        mov     [xSP + 512 + xCB + 070h], eax
     2013        mov     [xSP + 512 + xCB + 074h], eax
    20142014        pushf
    20152015        pop     eax
    2016         mov     [xSP + 512 + xS + 078h], eax
    2017         mov     [xSP + 512 + xS + 07ch], eax
    2018         mov     eax, [xSP + 512 + xS + 000h]
     2016        mov     [xSP + 512 + xCB + 078h], eax
     2017        mov     [xSP + 512 + xCB + 07ch], eax
     2018        mov     eax, [xSP + 512 + xCB + 000h]
    20192019%endif
    20202020        ret
     
    20292029;
    20302030CompareFPUAndGRegsOnStack:
    2031         lea     xSP, [xSP - (1024 - xS)]
     2031        lea     xSP, [xSP - (1024 - xCB)]
    20322032        call    SaveFPUAndGRegsToStack
    20332033
     
    20372037
    20382038        mov     xCX, 640
    2039         lea     xSI, [xSP + xS*3]
     2039        lea     xSI, [xSP + xCB*3]
    20402040        lea     xDI, [xSI + 1024]
    20412041
     
    20452045
    20462046        ;int3
    2047         lea     xAX, [xSP + xS*3]
     2047        lea     xAX, [xSP + xCB*3]
    20482048        xchg    xAX, xSI
    20492049        sub     xAX, xSI
     
    20602060        pop     xDI
    20612061        pop     xSI
    2062         lea     xSP, [xSP + (1024 - xS)]
     2062        lea     xSP, [xSP + (1024 - xCB)]
    20632063        or      eax, eax
    20642064        ret
     
    20732073;
    20742074CompareFPUAndGRegsOnStackIgnoreOpAndIp:
    2075         lea     xSP, [xSP - (1024 - xS)]
     2075        lea     xSP, [xSP - (1024 - xCB)]
    20762076        call    SaveFPUAndGRegsToStack
    20772077
     
    20812081
    20822082        mov     xCX, 640
    2083         lea     xSI, [xSP + xS*3]
     2083        lea     xSI, [xSP + xCB*3]
    20842084        lea     xDI, [xSI + 1024]
    20852085
     
    20942094
    20952095        ;int3
    2096         lea     xAX, [xSP + xS*3]
     2096        lea     xAX, [xSP + xCB*3]
    20972097        xchg    xAX, xSI
    20982098        sub     xAX, xSI
     
    21092109        pop     xDI
    21102110        pop     xSI
    2111         lea     xSP, [xSP + (1024 - xS)]
     2111        lea     xSP, [xSP + (1024 - xCB)]
    21122112        or      eax, eax
    21132113        ret
     
    24942494;
    24952495; @returns ZF=1 on success, ZF=0 on failure.
    2496 ; @param    xSP + xS    fxsave image followed by fnstenv.
     2496; @param    xSP + xCB    fxsave image followed by fnstenv.
    24972497; @param    xCX         Opcode address (no prefixes).
    24982498;
     
    25042504        ; Check the IP.
    25052505%ifdef RT_ARCH_AMD64
    2506         cmp     rcx, [xBP + xS*2 + X86FXSTATE.FPUIP]
     2506        cmp     rcx, [xBP + xCB*2 + X86FXSTATE.FPUIP]
    25072507%else
    2508         cmp     ecx, [xBP + xS*2 + X86FXSTATE.FPUIP]
     2508        cmp     ecx, [xBP + xCB*2 + X86FXSTATE.FPUIP]
    25092509%endif
    25102510        jne     .failure1
     
    25122512.check_fpucs:
    25132513        mov     ax, cs
    2514         cmp     ax, [xBP + xS*2 + 512 + X86FSTENV32P.FPUCS]
     2514        cmp     ax, [xBP + xCB*2 + 512 + X86FSTENV32P.FPUCS]
    25152515        jne     .failure2
    25162516
     
    25202520        and     ax, 07ffh
    25212521
    2522         cmp     ax, [xBP + xS*2 + X86FXSTATE.FOP]
     2522        cmp     ax, [xBP + xCB*2 + X86FXSTATE.FOP]
    25232523        je      .success
    2524         cmp     ax, [xBP + xS*2 + 512 + X86FSTENV32P.FOP]
     2524        cmp     ax, [xBP + xCB*2 + 512 + X86FSTENV32P.FOP]
    25252525        je      .success
    25262526
    25272527;        xor     ax, ax
    2528 ;        cmp     ax, [xBP + xS*2 + X86FXSTATE.FOP]
     2528;        cmp     ax, [xBP + xCB*2 + X86FXSTATE.FOP]
    25292529;        jne     .failure3
    25302530
     
    25402540        ; fnstenv image instead even if that only contains the lower 32-bit.
    25412541        xor     eax, eax
    2542         cmp     xAX, [xBP + xS*2 + X86FXSTATE.FPUIP]
     2542        cmp     xAX, [xBP + xCB*2 + X86FXSTATE.FPUIP]
    25432543        jne     .failure1_for_real
    2544         cmp     xAX, [xBP + xS*2 + X86FXSTATE.FPUDP]
     2544        cmp     xAX, [xBP + xCB*2 + X86FXSTATE.FPUDP]
    25452545        jne     .failure1_for_real
    2546         cmp     ecx, [xBP + xS*2 + 512 + X86FSTENV32P.FPUIP]
     2546        cmp     ecx, [xBP + xCB*2 + 512 + X86FSTENV32P.FPUIP]
    25472547        je      .check_fpucs
    25482548.failure1_for_real:
     
    26382638;
    26392639; @returns ZF=1 on success, ZF=0+EAX on failure.
    2640 ; @param    xSP + xS    fxsave image followed by fnstenv.
     2640; @param    xSP + xCB    fxsave image followed by fnstenv.
    26412641; @param    xCX         Opcode address (no prefixes).
    26422642; @param    xDX         Memory address (DS relative).
     
    26492649        ; Check the memory operand.
    26502650%ifdef RT_ARCH_AMD64
    2651         cmp     rdx, [xBP + xS*2 + X86FXSTATE.FPUDP]
     2651        cmp     rdx, [xBP + xCB*2 + X86FXSTATE.FPUDP]
    26522652%else
    2653         cmp     edx, [xBP + xS*2 + X86FXSTATE.FPUDP]
     2653        cmp     edx, [xBP + xCB*2 + X86FXSTATE.FPUDP]
    26542654%endif
    26552655        jne     .failure1
     
    26572657.check_fpuds:
    26582658        mov     ax, ds
    2659         cmp     ax, [xBP + xS*2 + 512 + X86FSTENV32P.FPUDS]
     2659        cmp     ax, [xBP + xCB*2 + 512 + X86FSTENV32P.FPUDS]
    26602660        jne     .failure2
    26612661
     
    26702670        ; if there is a flag controlling this anywhere...
    26712671        xor        eax, eax
    2672         cmp     xAX, [xBP + xS*2 + X86FXSTATE.FPUDP]
     2672        cmp     xAX, [xBP + xCB*2 + X86FXSTATE.FPUDP]
    26732673        jne     .failure1_for_real
    2674         cmp     xAX, [xBP + xS*2 + X86FXSTATE.FPUIP]
     2674        cmp     xAX, [xBP + xCB*2 + X86FXSTATE.FPUIP]
    26752675        jne     .failure1_for_real
    2676         cmp     edx, [xBP + xS*2 + 512 + X86FSTENV32P.FPUDP]
     2676        cmp     edx, [xBP + xCB*2 + 512 + X86FSTENV32P.FPUDP]
    26772677        je      .check_fpuds
    26782678.failure1_for_real:
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