VirtualBox

Changeset 99319 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Apr 6, 2023 7:28:23 PM (21 months ago)
Author:
vboxsync
Message:

Disassember: Continue work on the ARMv8 disassember, defining the instruction table layout and intermediate structures for decoding, bugref:10394

Location:
trunk/include/VBox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/dis-armv8.h

    r99241 r99319  
    5555typedef struct DISOPPARAMARMV8
    5656{
     57    /** The register operand. */
     58    union
     59    {
     60        /** General register index (DISGREG_XXX), applicable if DISUSE_REG_GEN32
     61         * or DISUSE_REG_GEN64 is set in fUse. */
     62        uint8_t     idxGenReg;
     63    } Reg;
     64    /** Scale factor. */
    5765    uint8_t           uScale;
    5866    /** Parameter size. */
     
    6775/** Pointer to opcode parameter. */
    6876typedef const DISOPPARAMARMV8 *PCDISOPPARAMARMV8;
    69 
    70 
    71 /** Parser callback.
    72  * @remark no DECLCALLBACK() here because it's considered to be internal and
    73  *         there is no point in enforcing CDECL. */
    74 typedef size_t FNDISPARSEARMV8(size_t offInstr, PCDISOPCODE pOp, PDISSTATE pDis, PDISOPPARAM pParam, uint8_t cBitStart, uint8_t cBits);
    75 /** Pointer to a disassembler parser function. */
    76 typedef FNDISPARSEARMV8 *PFNDISPARSEARMV8;
    7777
    7878
  • trunk/include/VBox/dis.h

    r99241 r99319  
    552552DISDECL(size_t) DISFormatGasEx( PCDISSTATE pDis, char *pszBuf, size_t cchBuf, uint32_t fFlags, PFNDISGETSYMBOL pfnGetSymbol, void *pvUser);
    553553
     554DISDECL(size_t) DISFormatArmV8(  PCDISSTATE pDis, char *pszBuf, size_t cchBuf);
     555DISDECL(size_t) DISFormatArmV8Ex(PCDISSTATE pDis, char *pszBuf, size_t cchBuf, uint32_t fFlags, PFNDISGETSYMBOL pfnGetSymbol, void *pvUser);
     556
    554557/** @todo DISAnnotate(PCDISSTATE pDis, char *pszBuf, size_t cchBuf, register
    555558 *        reader, memory reader); */
  • trunk/include/VBox/disopcode-armv8.h

    r99243 r99319  
    520520};
    521521
     522
     523/** @defgroup grp_dis_opparam Opcode parameters (DISOPCODE::fParam1,
     524 *            DISOPCODE::fParam2, DISOPCODE::fParam3)
     525 * @ingroup grp_dis
     526 * @{
     527 */
     528
     529enum OP_ARMV8_PARM
     530{
     531    OP_ARMV8_PARM_NONE,
     532};
     533
     534
     535/** Immediate (the instruction class gives the range of the immediate). */
     536#define OP_ARMV8_PARM_Imm               1
     537
    522538/** @} */
    523539
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