VirtualBox

Changeset 107101 in vbox


Ignore:
Timestamp:
Nov 22, 2024 7:56:43 AM (3 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
166067
Message:

ValidationKit/bootsectors: Save some image space by coalescing format strings & code; bugref:9898; bugref:10658; jiraref:VBP-1207

Save about 4K in bs3-cpu-instr-2, 2K in bs3-cpu-instr-3 -- enough to turn on asserts

Location:
trunk/src/VBox/ValidationKit/bootsectors
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-2-gen-asm.asm

    r104002 r107101  
    4444BEGINCODE
    4545
    46 %ifdef ASM_CALL64_MSC
    47  %define EFLAGS_PARAM_REG   r8d
    48 %else
    49  %define EFLAGS_PARAM_REG   edx
     46preface_0:
     47%ifdef ASM_CALL64_GCC
     48        mov     r9, rcx
     49        mov     r8, rdx
     50        mov     rdx, rsi
     51        mov     rcx, rdi
    5052%endif
    51 
     53        ret
     54
     55preface_1:
     56%ifdef ASM_CALL64_GCC
     57        mov     r9, rcx
     58        mov     r8, rdx
     59        mov     rdx, rsi
     60        mov     rcx, rdi
     61%endif
     62        lahf
     63        and     ah, 0xfe
     64        shl     r8d, 8
     65        or      eax, r8d
     66        sahf
     67        ret
     68
     69preface_2:
     70%ifdef ASM_CALL64_GCC
     71        mov     r9, rcx
     72        mov     r8, rdx
     73        mov     rdx, rsi
     74        mov     rcx, rdi
     75%endif
     76        pushf
     77        and     dword [rsp], ~X86_EFL_STATUS_BITS
     78        or      dword [rsp], r8d
     79        popf
     80        ret
     81
     82;;
     83; @param 1 which preface to use:
     84;        0 = no flags meddling
     85;        1 = takes carry flag in
     86;        2 = takes entire flags register in
     87%macro DO_PREFACE 1
     88        call    preface_ %+ %1
     89%endmacro
    5290
    5391;;
     
    5997 %if %3 != 0
    6098BEGINPROC   GenU8_ %+ %1
    61   %ifdef ASM_CALL64_GCC
    62         mov     r9, rcx
    63         mov     r8, rdx
    64         mov     rdx, rsi
    65         mov     rcx, rdi
    66   %endif
    67   %if %2 != 0
    68         lahf
    69         and     ah, 0xfe
    70         shl     r8d, 8
    71         or      eax, r8d
    72         sahf
    73   %endif
     99        DO_PREFACE %2
    74100        %1      cl, dl
    75101        mov     [r9], cl
     
    81107
    82108BEGINPROC   GenU16_ %+ %1
    83  %ifdef ASM_CALL64_GCC
    84         mov     r9, rcx
    85         mov     r8, rdx
    86         mov     rdx, rsi
    87         mov     rcx, rdi
    88  %endif
    89  %if %2 != 0
    90         lahf
    91         and     ah, 0xfe
    92         shl     r8d, 8
    93         or      eax, r8d
    94         sahf
    95  %endif
     109        DO_PREFACE %2
    96110        %1      cx, dx
    97111        mov     [r9], cx
     
    102116
    103117BEGINPROC   GenU32_ %+ %1
    104  %ifdef ASM_CALL64_GCC
    105         mov     r9, rcx
    106         mov     r8, rdx
    107         mov     rdx, rsi
    108         mov     rcx, rdi
    109  %endif
    110  %if %2 != 0
    111         lahf
    112         and     ah, 0xfe
    113         shl     r8d, 8
    114         or      eax, r8d
    115         sahf
    116  %endif
     118        DO_PREFACE %2
    117119        %1      ecx, edx
    118120        mov     [r9], ecx
     
    123125
    124126BEGINPROC   GenU64_ %+ %1
    125  %ifdef ASM_CALL64_GCC
    126         mov     r9, rcx
    127         mov     r8, rdx
    128         mov     rdx, rsi
    129         mov     rcx, rdi
    130  %endif
    131  %if %2 != 0
    132         lahf
    133         and     ah, 0xfe
    134         shl     r8d, 8
    135         or      eax, r8d
    136         sahf
    137  %endif
     127        DO_PREFACE %2
    138128        %1      rcx, rdx
    139129        mov     [r9], rcx
     
    168158
    169159BEGINPROC   GenU8_ %+ %1
    170  %ifdef ASM_CALL64_GCC
    171         mov     r9, rcx
    172         mov     r8, rdx
    173         mov     rdx, rsi
    174         mov     rcx, rdi
    175  %endif
    176         pushf
    177         and     dword [rsp], ~X86_EFL_STATUS_BITS
    178         or      dword [rsp], r8d
    179         popf
     160        DO_PREFACE 2
    180161        xchg    rcx, rdx
    181162        %1      dl, cl
     
    187168
    188169BEGINPROC   GenU16_ %+ %1
    189  %ifdef ASM_CALL64_GCC
    190         mov     r9, rcx
    191         mov     r8, rdx
    192         mov     rdx, rsi
    193         mov     rcx, rdi
    194  %endif
    195         pushf
    196         and     dword [rsp], ~X86_EFL_STATUS_BITS
    197         or      dword [rsp], r8d
    198         popf
     170        DO_PREFACE 2
    199171        xchg    cx, dx
    200172        %1      dx, cl
     
    206178
    207179BEGINPROC   GenU32_ %+ %1
    208  %ifdef ASM_CALL64_GCC
    209         mov     r9, rcx
    210         mov     r8, rdx
    211         mov     rdx, rsi
    212         mov     rcx, rdi
    213  %endif
    214         pushf
    215         and     dword [rsp], ~X86_EFL_STATUS_BITS
    216         or      dword [rsp], r8d
    217         popf
     180        DO_PREFACE 2
    218181        xchg    rcx, rdx
    219182        %1      edx, cl
     
    225188
    226189BEGINPROC   GenU64_ %+ %1
    227  %ifdef ASM_CALL64_GCC
    228         mov     r9, rcx
    229         mov     r8, rdx
    230         mov     rdx, rsi
    231         mov     rcx, rdi
    232  %endif
    233         pushf
    234         and     dword [rsp], ~X86_EFL_STATUS_BITS
    235         or      dword [rsp], r8d
    236         popf
     190        DO_PREFACE 2
    237191        xchg    rcx, rdx
    238192        %1      rdx, cl
     
    245199
    246200BEGINPROC   GenU8_ %+ %1 %+ _Ib
    247  %ifdef ASM_CALL64_GCC
    248         mov     r9, rcx
    249         mov     r8, rdx
    250         mov     rdx, rsi
    251         mov     rcx, rdi
    252  %endif
    253         pushf
    254         and     dword [rsp], ~X86_EFL_STATUS_BITS
    255         or      dword [rsp], r8d
    256         popf
    257 
     201        DO_PREFACE 2
    258202        movzx   r11d, dl
    259203        mov     al, cl
     
    283227
    284228BEGINPROC   GenU16_ %+ %1 %+ _Ib
    285  %ifdef ASM_CALL64_GCC
    286         mov     r9, rcx
    287         mov     r8, rdx
    288         mov     rdx, rsi
    289         mov     rcx, rdi
    290  %endif
    291         pushf
    292         and     dword [rsp], ~X86_EFL_STATUS_BITS
    293         or      dword [rsp], r8d
    294         popf
    295 
     229        DO_PREFACE 2
    296230        movzx   r11d, dl
    297231        mov     ax, cx
     
    322256
    323257BEGINPROC   GenU32_ %+ %1 %+ _Ib
    324  %ifdef ASM_CALL64_GCC
    325         mov     r9, rcx
    326         mov     r8, rdx
    327         mov     rdx, rsi
    328         mov     rcx, rdi
    329  %endif
    330         pushf
    331         and     dword [rsp], ~X86_EFL_STATUS_BITS
    332         or      dword [rsp], r8d
    333         popf
    334 
     258        DO_PREFACE 2
    335259        movzx   r11d, dl
    336260        mov     eax, ecx
     
    360284
    361285BEGINPROC   GenU64_ %+ %1 %+ _Ib
    362  %ifdef ASM_CALL64_GCC
    363         mov     r9, rcx
    364         mov     r8, rdx
    365         mov     rdx, rsi
    366         mov     rcx, rdi
    367  %endif
    368         pushf
    369         and     dword [rsp], ~X86_EFL_STATUS_BITS
    370         or      dword [rsp], r8d
    371         popf
    372 
     286        DO_PREFACE 2
    373287        movzx   r11d, dl
    374288        mov     rax, rcx
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-2-template.c

    r106061 r107101  
    17641764                        Bs3TestFailedF("Expected bXcpt = %#x, got %#x", X86_XCPT_UD, TrapFrame.bXcpt);
    17651765                    if (TrapFrame.Ctx.rip.u != uExpectRip)
    1766                         Bs3TestFailedF("Expected RIP = %#06RX64, got %#06RX64", uExpectRip, TrapFrame.Ctx.rip.u);
     1766                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RIP", uExpectRip, TrapFrame.Ctx.rip.u);
    17671767                    if (TrapFrame.Ctx.rax.u != uExpectRax)
    1768                         Bs3TestFailedF("Expected RAX = %#06RX64, got %#06RX64", uExpectRax, TrapFrame.Ctx.rax.u);
     1768                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RAX", uExpectRax, TrapFrame.Ctx.rax.u);
    17691769                    if (TrapFrame.Ctx.rcx.u != Ctx.rcx.u)
    1770                         Bs3TestFailedF("Expected RCX = %#06RX64, got %#06RX64", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
     1770                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RCX", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
    17711771                    if (TrapFrame.Ctx.rbx.u != Ctx.rbx.u)
    17721772                        Bs3TestFailedF("Expected RBX = %#06RX64, got %#06RX64 (dst)", Ctx.rbx.u, TrapFrame.Ctx.rbx.u);
     
    17801780                        Bs3TestFailedF("Expected RDX = %#06RX64, got %#06RX64 (src)", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
    17811781                    if (TrapFrame.Ctx.rsp.u != Ctx.rsp.u)
    1782                         Bs3TestFailedF("Expected RSP = %#06RX64, got %#06RX64", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
     1782                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSP", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
    17831783                    if (TrapFrame.Ctx.rbp.u != Ctx.rbp.u)
    1784                         Bs3TestFailedF("Expected RBP = %#06RX64, got %#06RX64", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
     1784                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBP", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
    17851785                    if (TrapFrame.Ctx.rsi.u != Ctx.rsi.u)
    1786                         Bs3TestFailedF("Expected RSI = %#06RX64, got %#06RX64", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
     1786                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSI", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
    17871787                    if (TrapFrame.Ctx.rdi.u != Ctx.rdi.u)
    1788                         Bs3TestFailedF("Expected RDI = %#06RX64, got %#06RX64", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
     1788                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDI", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
    17891789                    if (uMemSrc != uMemSrcExpect)
    1790                         Bs3TestFailedF("Expected uMemSrc = %#06RX64, got %#06RX64", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
     1790                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMemSrc", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
    17911791                }
    17921792            }
     
    22692269                    Bs3TestFailedF("Expected bXcpt = %#x, got %#x", bExpectXcpt, TrapFrame.bXcpt);
    22702270                if (TrapFrame.Ctx.rip.u != uExpectRip)
    2271                     Bs3TestFailedF("Expected RIP = %#06RX64, got %#06RX64", uExpectRip, TrapFrame.Ctx.rip.u);
     2271                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RIP", uExpectRip, TrapFrame.Ctx.rip.u);
    22722272                if (TrapFrame.Ctx.rdx.u != Ctx.rdx.u)
    22732273                    Bs3TestFailedF("Expected RDX = %#06RX64, got %#06RX64 (src)", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
     
    22762276
    22772277                if ((TrapFrame.Ctx.rflags.u16 & X86_EFL_STATUS_BITS) != (Ctx.rflags.u16 & X86_EFL_STATUS_BITS))
    2278                     Bs3TestFailedF("Expected EFLAGS = %#06RX64, got %#06RX64",
     2278                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "EFLAGS",
    22792279                                   Ctx.rflags.u16 & X86_EFL_STATUS_BITS, TrapFrame.Ctx.rflags.u16 & X86_EFL_STATUS_BITS);
    22802280                if (TrapFrame.Ctx.rax.u != Ctx.rax.u)
    2281                     Bs3TestFailedF("Expected RAX = %#06RX64, got %#06RX64", Ctx.rax.u, TrapFrame.Ctx.rax.u);
     2281                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RAX", Ctx.rax.u, TrapFrame.Ctx.rax.u);
    22822282                if (TrapFrame.Ctx.rcx.u != Ctx.rcx.u)
    2283                     Bs3TestFailedF("Expected RCX = %#06RX64, got %#06RX64", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
     2283                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RCX", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
    22842284                if (TrapFrame.Ctx.rsp.u != Ctx.rsp.u)
    2285                     Bs3TestFailedF("Expected RSP = %#06RX64, got %#06RX64", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
     2285                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSP", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
    22862286                if (TrapFrame.Ctx.rbp.u != Ctx.rbp.u)
    2287                     Bs3TestFailedF("Expected RBP = %#06RX64, got %#06RX64", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
     2287                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBP", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
    22882288                if (TrapFrame.Ctx.rsi.u != Ctx.rsi.u)
    2289                     Bs3TestFailedF("Expected RSI = %#06RX64, got %#06RX64", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
     2289                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSI", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
    22902290                if (TrapFrame.Ctx.rdi.u != Ctx.rdi.u)
    2291                     Bs3TestFailedF("Expected RDI = %#06RX64, got %#06RX64", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
     2291                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDI", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
    22922292                if (uMemSrc != uMemSrcExpect)
    2293                     Bs3TestFailedF("Expected uMemSrc = %#06RX64, got %#06RX64", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
     2293                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMemSrc", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
    22942294            }
    22952295        }
     
    24102410                    Bs3TestFailedF("Expected bXcpt = %#x, got %#x", bExpectXcpt, TrapFrame.bXcpt);
    24112411                if (TrapFrame.Ctx.rip.u != uExpectRip)
    2412                     Bs3TestFailedF("Expected RIP = %#06RX64, got %#06RX64", uExpectRip, TrapFrame.Ctx.rip.u);
     2412                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RIP", uExpectRip, TrapFrame.Ctx.rip.u);
    24132413                if (TrapFrame.Ctx.rax.u != uExpectRax)
    2414                     Bs3TestFailedF("Expected RAX = %#06RX64, got %#06RX64", uExpectRax, TrapFrame.Ctx.rax.u);
     2414                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RAX", uExpectRax, TrapFrame.Ctx.rax.u);
    24152415                if (TrapFrame.Ctx.rcx.u != Ctx.rcx.u)
    2416                     Bs3TestFailedF("Expected RCX = %#06RX64, got %#06RX64", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
     2416                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RCX", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
    24172417                if (TrapFrame.Ctx.rbx.u != Ctx.rbx.u)
    24182418                    Bs3TestFailedF("Expected RBX = %#06RX64, got %#06RX64 (dst)", Ctx.rbx.u, TrapFrame.Ctx.rbx.u);
     
    24302430                    Bs3TestFailedF("Expected RDX = %#06RX64, got %#06RX64 (src)", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
    24312431                if (TrapFrame.Ctx.rsp.u != Ctx.rsp.u)
    2432                     Bs3TestFailedF("Expected RSP = %#06RX64, got %#06RX64", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
     2432                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSP", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
    24332433                if (TrapFrame.Ctx.rbp.u != Ctx.rbp.u)
    2434                     Bs3TestFailedF("Expected RBP = %#06RX64, got %#06RX64", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
     2434                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBP", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
    24352435                if (TrapFrame.Ctx.rsi.u != Ctx.rsi.u)
    2436                     Bs3TestFailedF("Expected RSI = %#06RX64, got %#06RX64", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
     2436                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSI", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
    24372437                if (TrapFrame.Ctx.rdi.u != Ctx.rdi.u)
    2438                     Bs3TestFailedF("Expected RDI = %#06RX64, got %#06RX64", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
     2438                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDI", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
    24392439                if (uMemSrc2 != uMemSrc2Expect)
    2440                     Bs3TestFailedF("Expected uMemSrc2 = %#06RX64, got %#06RX64", (uint64_t)uMemSrc2Expect, (uint64_t)uMemSrc2);
     2440                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMemSrc2", (uint64_t)uMemSrc2Expect, (uint64_t)uMemSrc2);
    24412441            }
    24422442        }
     
    25472547                        Bs3TestFailedF("Expected bXcpt = %#x, got %#x", bExpectXcpt, TrapFrame.bXcpt);
    25482548                    if (TrapFrame.Ctx.rip.u != uExpectRip)
    2549                         Bs3TestFailedF("Expected RIP = %#06RX64, got %#06RX64", uExpectRip, TrapFrame.Ctx.rip.u);
     2549                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RIP", uExpectRip, TrapFrame.Ctx.rip.u);
    25502550                    if (TrapFrame.Ctx.rax.u != uExpectRax)
    2551                         Bs3TestFailedF("Expected RAX = %#06RX64, got %#06RX64", uExpectRax, TrapFrame.Ctx.rax.u);
     2551                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RAX", uExpectRax, TrapFrame.Ctx.rax.u);
    25522552                    if (TrapFrame.Ctx.rcx.u != Ctx.rcx.u)
    2553                         Bs3TestFailedF("Expected RCX = %#06RX64, got %#06RX64", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
     2553                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RCX", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
    25542554                    if (TrapFrame.Ctx.rbx.u != Ctx.rbx.u)
    2555                         Bs3TestFailedF("Expected RBX = %#06RX64, got %#06RX64", Ctx.rbx.u, TrapFrame.Ctx.rbx.u);
     2555                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBX", Ctx.rbx.u, TrapFrame.Ctx.rbx.u);
    25562556                    if (   (TrapFrame.Ctx.rflags.u16 & fEflCheck)
    25572557                        != ((fOkay ? paTests[i].paSubTests[k].fEflOut : Ctx.rflags.u16) & fEflCheck))
     
    25662566
    25672567                    if (TrapFrame.Ctx.rdx.u != Ctx.rdx.u)
    2568                         Bs3TestFailedF("Expected RDX = %#06RX64, got %#06RX64", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
     2568                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDX", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
    25692569                    if (TrapFrame.Ctx.rsp.u != Ctx.rsp.u)
    2570                         Bs3TestFailedF("Expected RSP = %#06RX64, got %#06RX64", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
     2570                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSP", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
    25712571                    if (TrapFrame.Ctx.rbp.u != Ctx.rbp.u)
    2572                         Bs3TestFailedF("Expected RBP = %#06RX64, got %#06RX64", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
     2572                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBP", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
    25732573                    if (TrapFrame.Ctx.rsi.u != Ctx.rsi.u)
    2574                         Bs3TestFailedF("Expected RSI = %#06RX64, got %#06RX64", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
     2574                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSI", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
    25752575                    if (TrapFrame.Ctx.rdi.u != Ctx.rdi.u)
    2576                         Bs3TestFailedF("Expected RDI = %#06RX64, got %#06RX64", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
     2576                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDI", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
    25772577                    if (uMemSrc1 != uMemSrc1Expect)
    2578                         Bs3TestFailedF("Expected uMemSrc1 = %#06RX64, got %#06RX64", (uint64_t)uMemSrc1Expect, (uint64_t)uMemSrc1);
     2578                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMemSrc1", (uint64_t)uMemSrc1Expect, (uint64_t)uMemSrc1);
    25792579                }
    25802580            }
     
    29482948                        Bs3TestFailedF("Expected bXcpt = %#x, got %#x", bExpectXcpt, TrapFrame.bXcpt);
    29492949                    if (TrapFrame.Ctx.rip.u != uExpectRip)
    2950                         Bs3TestFailedF("Expected RIP = %#06RX64, got %#06RX64", uExpectRip, TrapFrame.Ctx.rip.u);
     2950                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RIP", uExpectRip, TrapFrame.Ctx.rip.u);
    29512951                    if (TrapFrame.Ctx.rax.u != uExpectRax)
    2952                         Bs3TestFailedF("Expected RAX = %#06RX64, got %#06RX64", uExpectRax, TrapFrame.Ctx.rax.u);
     2952                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RAX", uExpectRax, TrapFrame.Ctx.rax.u);
    29532953                    if (TrapFrame.Ctx.rbx.u != Ctx.rbx.u)
    29542954                        Bs3TestFailedF("Expected RBX = %#06RX64, got %#06RX64 (dst)", Ctx.rbx.u, TrapFrame.Ctx.rbx.u);
     
    29652965
    29662966                    if (TrapFrame.Ctx.rcx.u != Ctx.rcx.u)
    2967                         Bs3TestFailedF("Expected RCX = %#06RX64, got %#06RX64", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
     2967                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RCX", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
    29682968                    if (TrapFrame.Ctx.rdx.u != Ctx.rdx.u)
    2969                         Bs3TestFailedF("Expected RDX = %#06RX64, got %#06RX64", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
     2969                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDX", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
    29702970                    if (TrapFrame.Ctx.rsp.u != Ctx.rsp.u)
    2971                         Bs3TestFailedF("Expected RSP = %#06RX64, got %#06RX64", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
     2971                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSP", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
    29722972                    if (TrapFrame.Ctx.rbp.u != Ctx.rbp.u)
    2973                         Bs3TestFailedF("Expected RBP = %#06RX64, got %#06RX64", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
     2973                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBP", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
    29742974                    if (TrapFrame.Ctx.rsi.u != Ctx.rsi.u)
    2975                         Bs3TestFailedF("Expected RSI = %#06RX64, got %#06RX64", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
     2975                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSI", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
    29762976                    if (TrapFrame.Ctx.rdi.u != Ctx.rdi.u)
    2977                         Bs3TestFailedF("Expected RDI = %#06RX64, got %#06RX64", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
     2977                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDI", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
    29782978                    if (uMemSrc != uMemSrcExpect)
    2979                         Bs3TestFailedF("Expected uMemSrc = %#06RX64, got %#06RX64", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
     2979                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMemSrc", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
    29802980                }
    29812981            }
     
    32183218                    Bs3TestFailedF("Expected bXcpt = %#x, got %#x", bExpectXcpt, TrapFrame.bXcpt);
    32193219                if (TrapFrame.Ctx.rip.u != uExpectRip)
    3220                     Bs3TestFailedF("Expected RIP = %#06RX64, got %#06RX64", uExpectRip, TrapFrame.Ctx.rip.u);
     3220                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RIP", uExpectRip, TrapFrame.Ctx.rip.u);
    32213221                if (TrapFrame.Ctx.rax.u != uExpectRax)
    3222                     Bs3TestFailedF("Expected RAX = %#06RX64, got %#06RX64", uExpectRax, TrapFrame.Ctx.rax.u);
     3222                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RAX", uExpectRax, TrapFrame.Ctx.rax.u);
    32233223                if (TrapFrame.Ctx.rcx.u != uExpectRcx)
    3224                     Bs3TestFailedF("Expected RCX = %#06RX64, got %#06RX64", uExpectRcx, TrapFrame.Ctx.rcx.u);
     3224                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RCX", uExpectRcx, TrapFrame.Ctx.rcx.u);
    32253225                if (TrapFrame.Ctx.rbx.u != Ctx.rbx.u)
    32263226                    Bs3TestFailedF("Expected RBX = %#06RX64, got %#06RX64 (dst)", Ctx.rbx.u, TrapFrame.Ctx.rbx.u);
     
    32323232                                   Ctx.rflags.u16 & X86_EFL_STATUS_BITS, TrapFrame.Ctx.rflags.u16 & X86_EFL_STATUS_BITS);
    32333233                if (TrapFrame.Ctx.rsp.u != Ctx.rsp.u)
    3234                     Bs3TestFailedF("Expected RSP = %#06RX64, got %#06RX64", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
     3234                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSP", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
    32353235                if (TrapFrame.Ctx.rbp.u != Ctx.rbp.u)
    3236                     Bs3TestFailedF("Expected RBP = %#06RX64, got %#06RX64", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
     3236                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBP", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
    32373237                if (TrapFrame.Ctx.rsi.u != Ctx.rsi.u)
    3238                     Bs3TestFailedF("Expected RSI = %#06RX64, got %#06RX64", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
     3238                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSI", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
    32393239                if (TrapFrame.Ctx.rdi.u != Ctx.rdi.u)
    3240                     Bs3TestFailedF("Expected RDI = %#06RX64, got %#06RX64", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
     3240                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDI", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
    32413241                if (uMemSrc1 != uMemSrc1Expect)
    3242                     Bs3TestFailedF("Expected uMemSrc1 = %#06RX64, got %#06RX64", (uint64_t)uMemSrc1Expect, (uint64_t)uMemSrc1);
     3242                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMemSrc1", (uint64_t)uMemSrc1Expect, (uint64_t)uMemSrc1);
    32433243            }
    32443244        }
     
    33763376                    Bs3TestFailedF("Expected bXcpt = %#x, got %#x", bExpectXcpt, TrapFrame.bXcpt);
    33773377                if (TrapFrame.Ctx.rip.u != uExpectRip)
    3378                     Bs3TestFailedF("Expected RIP = %#06RX64, got %#06RX64", uExpectRip, TrapFrame.Ctx.rip.u);
     3378                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RIP", uExpectRip, TrapFrame.Ctx.rip.u);
    33793379                if (TrapFrame.Ctx.rax.u != uExpectRax)
    3380                     Bs3TestFailedF("Expected RAX = %#06RX64, got %#06RX64", uExpectRax, TrapFrame.Ctx.rax.u);
     3380                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RAX", uExpectRax, TrapFrame.Ctx.rax.u);
    33813381                if (TrapFrame.Ctx.rbx.u != Ctx.rbx.u)
    33823382                    Bs3TestFailedF("Expected RBX = %#06RX64, got %#06RX64 (dst)", Ctx.rbx.u, TrapFrame.Ctx.rbx.u);
     
    33863386
    33873387                if (TrapFrame.Ctx.rcx.u != Ctx.rcx.u)
    3388                     Bs3TestFailedF("Expected RCX = %#06RX64, got %#06RX64", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
     3388                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RCX", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
    33893389                if (TrapFrame.Ctx.rdx.u != Ctx.rdx.u)
    33903390                    Bs3TestFailedF("Expected RDX = %#06RX64, got %#06RX64 (src)", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
    33913391                if (TrapFrame.Ctx.rsp.u != Ctx.rsp.u)
    3392                     Bs3TestFailedF("Expected RSP = %#06RX64, got %#06RX64", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
     3392                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSP", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
    33933393                if (TrapFrame.Ctx.rbp.u != Ctx.rbp.u)
    3394                     Bs3TestFailedF("Expected RBP = %#06RX64, got %#06RX64", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
     3394                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBP", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
    33953395                if (TrapFrame.Ctx.rsi.u != Ctx.rsi.u)
    3396                     Bs3TestFailedF("Expected RSI = %#06RX64, got %#06RX64", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
     3396                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSI", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
    33973397                if (TrapFrame.Ctx.rdi.u != Ctx.rdi.u)
    3398                     Bs3TestFailedF("Expected RDI = %#06RX64, got %#06RX64", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
     3398                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDI", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
    33993399                if (uMemSrc != uMemSrcExpect)
    3400                     Bs3TestFailedF("Expected uMemSrc = %#06RX64, got %#06RX64", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
     3400                    Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMemSrc", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
    34013401            }
    34023402        }
     
    35843584                        Bs3TestFailedF("Expected bXcpt = %#x, got %#x", bExpectXcpt, TrapFrame.bXcpt);
    35853585                    if (TrapFrame.Ctx.rip.u != uExpectRip)
    3586                         Bs3TestFailedF("Expected RIP = %#06RX64, got %#06RX64", uExpectRip, TrapFrame.Ctx.rip.u);
     3586                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RIP", uExpectRip, TrapFrame.Ctx.rip.u);
    35873587                    if (TrapFrame.Ctx.rax.u != uExpectRax)
    35883588                        Bs3TestFailedF("Expected RAX = %#010RX64, got %#010RX64", uExpectRax, TrapFrame.Ctx.rax.u);
     
    35933593                        Bs3TestFailedF("Expected EFLAGS = %#06RX32, got %#06RX32", Ctx.rflags.u16, TrapFrame.Ctx.rflags.u16);
    35943594                    if (TrapFrame.Ctx.rcx.u != Ctx.rcx.u)
    3595                         Bs3TestFailedF("Expected RCX = %#06RX64, got %#06RX64", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
     3595                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RCX", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
    35963596                    if (TrapFrame.Ctx.rdx.u != Ctx.rdx.u)
    35973597                        Bs3TestFailedF("Expected RDX = %#06RX64, got %#06RX64 (src)", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
    35983598                    if (TrapFrame.Ctx.rsp.u != Ctx.rsp.u)
    3599                         Bs3TestFailedF("Expected RSP = %#06RX64, got %#06RX64", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
     3599                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSP", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
    36003600                    if (TrapFrame.Ctx.rbp.u != Ctx.rbp.u)
    3601                         Bs3TestFailedF("Expected RBP = %#06RX64, got %#06RX64", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
     3601                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBP", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
    36023602                    if (TrapFrame.Ctx.rsi.u != Ctx.rsi.u)
    3603                         Bs3TestFailedF("Expected RSI = %#06RX64, got %#06RX64", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
     3603                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSI", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
    36043604                    if (TrapFrame.Ctx.rdi.u != Ctx.rdi.u)
    3605                         Bs3TestFailedF("Expected RDI = %#06RX64, got %#06RX64", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
     3605                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDI", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
    36063606                    if (uMemSrc != uMemSrcExpect)
    3607                         Bs3TestFailedF("Expected uMemSrc = %#06RX64, got %#06RX64", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
     3607                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMemSrc", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
    36083608                }
    36093609            }
     
    38353835                        Bs3TestFailedF("Expected bXcpt = %#x, got %#x", bExpectXcpt, TrapFrame.bXcpt);
    38363836                    if (TrapFrame.Ctx.rip.u != uExpectRip)
    3837                         Bs3TestFailedF("Expected RIP = %#06RX64, got %#06RX64", uExpectRip, TrapFrame.Ctx.rip.u);
     3837                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RIP", uExpectRip, TrapFrame.Ctx.rip.u);
    38383838                    if (TrapFrame.Ctx.rax.u != uExpectRax)
    38393839                        Bs3TestFailedF("Expected RAX = %#010RX64, got %#010RX64", uExpectRax, TrapFrame.Ctx.rax.u);
     
    38443844                        Bs3TestFailedF("Expected EFLAGS = %#06RX16, got %#06RX16", Ctx.rflags.u16, TrapFrame.Ctx.rflags.u16);
    38453845                    if (TrapFrame.Ctx.rcx.u != Ctx.rcx.u)
    3846                         Bs3TestFailedF("Expected RCX = %#06RX64, got %#06RX64", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
     3846                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RCX", Ctx.rcx.u, TrapFrame.Ctx.rcx.u);
    38473847                    if (TrapFrame.Ctx.rdx.u != Ctx.rdx.u)
    38483848                        Bs3TestFailedF("Expected RDX = %#06RX64, got %#06RX64 (src)", Ctx.rdx.u, TrapFrame.Ctx.rdx.u);
    38493849                    if (TrapFrame.Ctx.rsp.u != Ctx.rsp.u)
    3850                         Bs3TestFailedF("Expected RSP = %#06RX64, got %#06RX64", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
     3850                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSP", Ctx.rsp.u, TrapFrame.Ctx.rsp.u);
    38513851                    if (TrapFrame.Ctx.rbp.u != Ctx.rbp.u)
    3852                         Bs3TestFailedF("Expected RBP = %#06RX64, got %#06RX64", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
     3852                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RBP", Ctx.rbp.u, TrapFrame.Ctx.rbp.u);
    38533853                    if (TrapFrame.Ctx.rsi.u != Ctx.rsi.u)
    3854                         Bs3TestFailedF("Expected RSI = %#06RX64, got %#06RX64", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
     3854                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RSI", Ctx.rsi.u, TrapFrame.Ctx.rsi.u);
    38553855                    if (TrapFrame.Ctx.rdi.u != Ctx.rdi.u)
    3856                         Bs3TestFailedF("Expected RDI = %#06RX64, got %#06RX64", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
     3856                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "RDI", Ctx.rdi.u, TrapFrame.Ctx.rdi.u);
    38573857                    if (uMemSrc != uMemSrcExpect)
    3858                         Bs3TestFailedF("Expected uMemSrc = %#06RX64, got %#06RX64", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
     3858                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMemSrc", (uint64_t)uMemSrcExpect, (uint64_t)uMemSrc);
    38593859                }
    38603860            }
     
    40034003                        Bs3TestFailedF("Expected bXcpt=#%x, got %#x (%#x)", bExpectXcpt, TrapFrame.bXcpt, TrapFrame.uErrCd);
    40044004                    if (uMem != uMemExpect)
    4005                         Bs3TestFailedF("Expected uMem = %#06RX64, got %#06RX64", (uint64_t)uMemExpect, (uint64_t)uMem);
     4005                        Bs3TestFailedF("Expected %s = %#06RX64, got %#06RX64", "uMem", (uint64_t)uMemExpect, (uint64_t)uMem);
    40064006                    Bs3TestFailedF("^^^ iCfg=%u iWorker=%d iValue=%d\n",
    40074007                                   j, i, iValue);
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-TestCheckRegCtxEx.c

    r106061 r107101  
    5252    do { \
    5353        if ((a_Actual) == (a_Expected)) { /* likely */ } \
    54         else Bs3TestFailedF("%u - %s: " a_szName "=" a_szFmt " expected " a_szFmt, idTestStep, pszMode, (a_Actual), (a_Expected)); \
     54        else Bs3TestFailedF("%u - %s: %s=" a_szFmt " expected " a_szFmt, idTestStep, pszMode, a_szName, (a_Actual), (a_Expected)); \
    5555    } while (0)
    5656
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