VirtualBox

Changeset 107011 in vbox


Ignore:
Timestamp:
Nov 15, 2024 8:39:44 AM (2 months ago)
Author:
vboxsync
Message:

Disassembler/DisasmCore-armv8: Implemented stub for parsing CRnCRm to avoid crashing here on Win11/Arm. Added some assertions to better catch unhandled stuff.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Disassembler/DisasmCore-armv8.cpp

    r106817 r107011  
    9292static FNDISPARSEARMV8 disArmV8ParseCond;
    9393static FNDISPARSEARMV8 disArmV8ParsePState;
     94static FNDISPARSEARMV8 disArmV8ParseCRnCRm;
    9495static FNDISPARSEARMV8 disArmV8ParseSysReg;
    9596static FNDISPARSEARMV8 disArmV8ParseSh12;
     
    159160    disArmV8ParseCond,
    160161    disArmV8ParsePState,
    161     NULL,
     162    disArmV8ParseCRnCRm,
    162163    disArmV8ParseSysReg,
    163164    disArmV8ParseSh12,
     
    590591
    591592
     593static int disArmV8ParseCRnCRm(PDISSTATE pDis, uint32_t u32Insn, PCDISARMV8OPCODE pOp, PCDISARMV8INSNCLASS pInsnClass, PDISOPPARAM pParam, PCDISARMV8INSNPARAM pInsnParm, bool *pf64Bit)
     594{
     595    RT_NOREF(pDis, u32Insn, pOp, pInsnClass, pParam, pInsnParm, pf64Bit);
     596
     597    Assert(pInsnParm->cBits == 8);
     598
     599    /** @todo Needs implementation. */
     600    return VERR_DIS_INVALID_OPCODE;
     601}
     602
     603
    592604static int disArmV8ParseSysReg(PDISSTATE pDis, uint32_t u32Insn, PCDISARMV8OPCODE pOp, PCDISARMV8INSNCLASS pInsnClass, PDISOPPARAM pParam, PCDISARMV8INSNPARAM pInsnParm, bool *pf64Bit)
    593605{
     
    13461358           && RT_SUCCESS(rc))
    13471359    {
     1360        Assert(pDecode->idxParse < kDisParmParseMax);
     1361        Assert(g_apfnDisasm[pDecode->idxParse]);
    13481362        rc = g_apfnDisasm[pDecode->idxParse](pDis, u32Insn, pOp, pInsnClass,
    13491363                                               pDecode->idxParam != DIS_ARMV8_INSN_PARAM_UNSET
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