VirtualBox

Ignore:
Timestamp:
Dec 4, 2024 3:20:14 PM (6 weeks ago)
Author:
vboxsync
Message:

VMM: Cleaning up ARMv8 / x86 split. jiraref:VBP-1470

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/DBGF.cpp

    r107030 r107227  
    15981598         * Do minimal parsing.  No real need to involve the disassembler here.
    15991599         */
    1600         if (   (u32Insn & 0xfffffc1f) == 0xd65f0000 /* RET */
    1601             || (u32Insn & 0xfffffc1f) == 0xd65f081f /* RETAA */
    1602             || (u32Insn & 0xfffffc1f) == 0xd65f0c1f /* RETAB */
    1603             || (u32Insn & 0xffffffff) == 0xd69f03e0 /* ERET */
    1604             || (u32Insn & 0xffffffff) == 0xd69f0bff /* ERETAA */
    1605             || (u32Insn & 0xffffffff) == 0xd69f0fff /* ERETAB */)
     1600        if (   (u32Insn & UINT32_C(0xfffffc1f)) == UINT32_C(0xd65f0000) /* RET */
     1601            || (u32Insn & UINT32_C(0xfffffc1f)) == UINT32_C(0xd65f081f) /* RETAA */
     1602            || (u32Insn & UINT32_C(0xfffffc1f)) == UINT32_C(0xd65f0c1f) /* RETAB */
     1603            || (u32Insn & UINT32_C(0xffffffff)) == UINT32_C(0xd69f03e0) /* ERET */
     1604            || (u32Insn & UINT32_C(0xffffffff)) == UINT32_C(0xd69f0bff) /* ERETAA */
     1605            || (u32Insn & UINT32_C(0xffffffff)) == UINT32_C(0xd69f0fff) /* ERETAB */)
    16061606            return DBGFSTEPINSTRTYPE_RET;
    1607         else if (   (u32Insn & 0xfffffc1f) == 0xd63f0000 /* BLR */
    1608                  || (u32Insn & 0xfffffc1f) == 0xd63f081f /* BLRAAZ */
    1609                  || (u32Insn & 0xfffffc1f) == 0xd63f0c1f /* BLRABZ */
    1610                  || (u32Insn & 0xfffffc00) == 0xd73f0800 /* BLRAA */
    1611                  || (u32Insn & 0xfffffc00) == 0xd73f0c00 /* BLRAB */
    1612                  || (u32Insn & 0xfc000000) == 0x14000000 /* BL */
    1613                  || (u32Insn & 0xffe0001f) == 0xd4000001 /* SVC */
    1614                  || (u32Insn & 0xffe0001f) == 0xd4000002 /* HVC */
    1615                  || (u32Insn & 0xffe0001f) == 0xd4000003 /* SMC */
    1616                  || (u32Insn & 0xffe0001f) == 0xd4200000 /* BRK */
    1617                  || (u32Insn & 0xffe0001f) == 0xd4400000 /* HLT */)
     1607        if (   (u32Insn & UINT32_C(0xfffffc1f)) == UINT32_C(0xd63f0000) /* BLR */
     1608            || (u32Insn & UINT32_C(0xfffffc1f)) == UINT32_C(0xd63f081f) /* BLRAAZ */
     1609            || (u32Insn & UINT32_C(0xfffffc1f)) == UINT32_C(0xd63f0c1f) /* BLRABZ */
     1610            || (u32Insn & UINT32_C(0xfffffc00)) == UINT32_C(0xd73f0800) /* BLRAA */
     1611            || (u32Insn & UINT32_C(0xfffffc00)) == UINT32_C(0xd73f0c00) /* BLRAB */
     1612            || (u32Insn & UINT32_C(0xfc000000)) == UINT32_C(0x14000000) /* BL */
     1613            || (u32Insn & UINT32_C(0xffe0001f)) == UINT32_C(0xd4000001) /* SVC */
     1614            || (u32Insn & UINT32_C(0xffe0001f)) == UINT32_C(0xd4000002) /* HVC */
     1615            || (u32Insn & UINT32_C(0xffe0001f)) == UINT32_C(0xd4000003) /* SMC */
     1616            || (u32Insn & UINT32_C(0xffe0001f)) == UINT32_C(0xd4200000) /* BRK */
     1617            || (u32Insn & UINT32_C(0xffe0001f)) == UINT32_C(0xd4400000) /* HLT */)
    16181618            return DBGFSTEPINSTRTYPE_CALL;
    1619         else
    1620             return DBGFSTEPINSTRTYPE_OTHER;
    1621     }
    1622 #else
     1619        return DBGFSTEPINSTRTYPE_OTHER;
     1620    }
     1621
     1622#elif defined(VBOX_VMM_TARGET_X86)
    16231623    /*
    16241624     * Read the instruction.
     
    16941694        }
    16951695    }
     1696
     1697#else
     1698# error "port me"
    16961699#endif
    16971700
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