VirtualBox

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


Ignore:
Timestamp:
Jul 29, 2023 2:04:22 AM (22 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
158604
Message:

VMM/IEM: Generate TBs for invalid instruction encodings as well. This involved special casing recompiler call generation for C instruction implementation function that doesn't take any extra arguments, so that we can catch all the deeply hidden IEMOP_RAISE_INVALID_OPCODE_RET invocations and similar. Also had to clean up hacky decoding of effective address related opcode bytes for undefined opcodes, introducing IEM_OPCODE_SKIP_RM_EFF_ADDR_BYTES(a_bRm) to hide the uglyness. bugref:10369

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp

    r100733 r100734  
    144144#define IEM_OPCODE_GET_NEXT_S32_SX_U64(a_pu64)              do { *(a_pu64) = g_bRandom; CHK_PTYPE(uint64_t *, a_pu64); } while (0)
    145145#define IEM_OPCODE_GET_NEXT_U64(a_pu64)                     do { *(a_pu64) = g_bRandom; CHK_PTYPE(uint64_t *, a_pu64); } while (0)
     146#define IEM_OPCODE_SKIP_RM_EFF_ADDR_BYTES(a_bRm)            do { RT_NOREF(a_bRm); } while (0)
    146147#define IEMOP_HLP_MIN_186()                                 do { } while (0)
    147148#define IEMOP_HLP_MIN_286()                                 do { } while (0)
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