VirtualBox

Changeset 106632 in vbox


Ignore:
Timestamp:
Oct 23, 2024 7:15:01 PM (5 weeks ago)
Author:
vboxsync
Message:

Disassembler: Decode more hint instructions instructions, bugref:10394

Location:
trunk
Files:
3 edited

Legend:

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

    r106631 r106632  
    101101    OP_ARMV8_A64_BRK,
    102102    OP_ARMV8_A64_BTI,
     103    OP_ARMV8_A64_BTI_C,
     104    OP_ARMV8_A64_BTI_J,
     105    OP_ARMV8_A64_BTI_JC,
    103106    OP_ARMV8_A64_CASB,
    104107    OP_ARMV8_A64_CASAB,
     
    123126    OP_ARMV8_A64_CFINV,
    124127    OP_ARMV8_A64_CFP,
     128    OP_ARMV8_A64_CHKFEAT,
    125129    OP_ARMV8_A64_CINC,
    126130    OP_ARMV8_A64_CINV,
     131    OP_ARMV8_A64_CLRBHB,
    127132    OP_ARMV8_A64_CLREX,
    128133    OP_ARMV8_A64_CLS,
     
    202207    OP_ARMV8_A64_FSQRT,
    203208    OP_ARMV8_A64_FSUB,
     209    OP_ARMV8_A64_GCSB,
    204210    OP_ARMV8_A64_GMI,
    205211    OP_ARMV8_A64_HINT,
     
    392398    OP_ARMV8_A64_PRFM,
    393399    OP_ARMV8_A64_PRFUM,
     400    OP_ARMV8_A64_PSB,
    394401    OP_ARMV8_A64_PSBSYNC,
    395402    OP_ARMV8_A64_PSSBB,
     
    542549    OP_ARMV8_A64_TCOMMIT,
    543550    OP_ARMV8_A64_TLBI,
     551    OP_ARMV8_A64_TSB,
     552    OP_ARMV8_A64_TSBCSYNC,
     553    OP_ARMV8_A64_TST,
    544554    OP_ARMV8_A64_TSTART,
    545555    OP_ARMV8_A64_TTEST,
    546     OP_ARMV8_A64_TSBCSYNC,
    547     OP_ARMV8_A64_TST,
    548556    OP_ARMV8_A64_UBFIZ,
    549557    OP_ARMV8_A64_UBFM,
  • trunk/src/VBox/Disassembler/DisasmTables-armv8-a64.cpp

    r106631 r106632  
    248248    DIS_ARMV8_OP(0xd50320df, "dgh",             OP_ARMV8_A64_DGH,       DISOPTYPE_HARMLESS), /* FEAT_DGH */
    249249    DIS_ARMV8_OP(0xd50320ff, "xpaclri",         OP_ARMV8_A64_XPACLRI,   DISOPTYPE_HARMLESS), /* FEAT_PAuth */
    250     /** @todo */
     250    DIS_ARMV8_OP(0xd503211f, "pacia1716",       OP_ARMV8_A64_PACIA1716, DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     251    INVALID_OPCODE,
     252    DIS_ARMV8_OP(0xd503215f, "pacib1716",       OP_ARMV8_A64_PACIB1716, DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     253    INVALID_OPCODE,
     254    DIS_ARMV8_OP(0xd503219f, "autia1716",       OP_ARMV8_A64_AUTIA1716, DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     255    INVALID_OPCODE,
     256    DIS_ARMV8_OP(0xd50321df, "autib1716",       OP_ARMV8_A64_AUTIB1716, DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     257    INVALID_OPCODE,
     258    DIS_ARMV8_OP(0xd503221f, "esb",             OP_ARMV8_A64_ESB,       DISOPTYPE_HARMLESS), /* FEAT_RAS */
     259    DIS_ARMV8_OP(0xd503223f, "psb csync",       OP_ARMV8_A64_PSB,       DISOPTYPE_HARMLESS), /* FEAT_SPE */
     260    DIS_ARMV8_OP(0xd503225f, "tsb csync",       OP_ARMV8_A64_TSB,       DISOPTYPE_HARMLESS), /* FEAT_TRF */
     261    DIS_ARMV8_OP(0xd503227f, "gcsb dsync",      OP_ARMV8_A64_GCSB,      DISOPTYPE_HARMLESS), /* FEAT_GCS */
     262    DIS_ARMV8_OP(0xd503229f, "csdb",            OP_ARMV8_A64_CSDB,      DISOPTYPE_HARMLESS),
     263    INVALID_OPCODE,
     264    DIS_ARMV8_OP(0xd50322df, "clrbhb",          OP_ARMV8_A64_CLRBHB,    DISOPTYPE_HARMLESS), /* FEAT_CLRBHB */
     265    INVALID_OPCODE,
     266    DIS_ARMV8_OP(0xd503231f, "paciaz",          OP_ARMV8_A64_PACIAZ,    DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     267    DIS_ARMV8_OP(0xd503233f, "paciasp",         OP_ARMV8_A64_PACIASP,   DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     268    DIS_ARMV8_OP(0xd503235f, "pacibz",          OP_ARMV8_A64_PACIBZ,    DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     269    DIS_ARMV8_OP(0xd503237f, "pacibsp",         OP_ARMV8_A64_PACIBSP,   DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     270    DIS_ARMV8_OP(0xd503239f, "autiaz",          OP_ARMV8_A64_AUTIAZ,    DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     271    DIS_ARMV8_OP(0xd50323bf, "autiasp",         OP_ARMV8_A64_AUTIASP,   DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     272    DIS_ARMV8_OP(0xd50323df, "autibz",          OP_ARMV8_A64_AUTIBZ,    DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     273    DIS_ARMV8_OP(0xd50323ff, "autibsp",         OP_ARMV8_A64_AUTIBSP,   DISOPTYPE_HARMLESS), /* FEAT_PAuth */
     274    DIS_ARMV8_OP(0xd503241f, "bti",             OP_ARMV8_A64_BTI,       DISOPTYPE_HARMLESS), /* FEAT_BTI   */
     275    INVALID_OPCODE,
     276    DIS_ARMV8_OP(0xd503245f, "bti c",           OP_ARMV8_A64_BTI_C,     DISOPTYPE_HARMLESS), /* FEAT_BTI   */
     277    INVALID_OPCODE,
     278    DIS_ARMV8_OP(0xd503249f, "bti j",           OP_ARMV8_A64_BTI_J,     DISOPTYPE_HARMLESS), /* FEAT_BTI   */
     279    INVALID_OPCODE,
     280    DIS_ARMV8_OP(0xd50324df, "bti jc",          OP_ARMV8_A64_BTI_JC,    DISOPTYPE_HARMLESS), /* FEAT_BTI   */
     281    INVALID_OPCODE,
     282    DIS_ARMV8_OP(0xd503251f, "chkfeat x16",     OP_ARMV8_A64_CHKFEAT,   DISOPTYPE_HARMLESS), /* FEAT_CHK   */
     283
    251284DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END_PARAMS_0(Hints, 0xffffffff /*fFixedInsn*/,
    252285                                                kDisArmV8OpcDecodeNop, 0xfe0, 5);
  • trunk/src/VBox/Disassembler/testcase/tstDisasmArmv8-1-asm.S

    r106631 r106632  
    3838        dgh
    3939        xpaclri
     40
     41        pacia1716
     42        pacib1716
     43        autia1716
     44        autib1716
     45        esb
     46        ;psb csync - Requires FEAT_SPE
     47        tsb csync
     48        gcsb dsync
     49        csdb
     50        clrbhb
     51        paciaz
     52        paciasp
     53        pacibz
     54        pacibsp
     55        autiaz
     56        autiasp
     57        autibz
     58        autibsp
     59
     60        bti
     61        bti j
     62        bti c
     63        bti jc
     64
     65        chkfeat x16
    4066
    4167        ; Control flow instructions
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