| /* | |
| * Required definitions before including this file: | |
| * | |
| * #define BOOL_FIELD(x) | |
| * #define TYPED_FIELD(type, x, default) | |
| */ | |
| BOOL_FIELD(ext_zba) | |
| BOOL_FIELD(ext_zbb) | |
| BOOL_FIELD(ext_zbc) | |
| BOOL_FIELD(ext_zbkb) | |
| BOOL_FIELD(ext_zbkc) | |
| BOOL_FIELD(ext_zbkx) | |
| BOOL_FIELD(ext_zbs) | |
| BOOL_FIELD(ext_zca) | |
| BOOL_FIELD(ext_zcb) | |
| BOOL_FIELD(ext_zcd) | |
| BOOL_FIELD(ext_zce) | |
| BOOL_FIELD(ext_zcf) | |
| BOOL_FIELD(ext_zcmp) | |
| BOOL_FIELD(ext_zcmt) | |
| BOOL_FIELD(ext_zclsd) | |
| BOOL_FIELD(ext_zk) | |
| BOOL_FIELD(ext_zkn) | |
| BOOL_FIELD(ext_zknd) | |
| BOOL_FIELD(ext_zkne) | |
| BOOL_FIELD(ext_zknh) | |
| BOOL_FIELD(ext_zkr) | |
| BOOL_FIELD(ext_zks) | |
| BOOL_FIELD(ext_zksed) | |
| BOOL_FIELD(ext_zksh) | |
| BOOL_FIELD(ext_zkt) | |
| BOOL_FIELD(ext_zifencei) | |
| BOOL_FIELD(ext_zicntr) | |
| BOOL_FIELD(ext_zicsr) | |
| BOOL_FIELD(ext_zicbom) | |
| BOOL_FIELD(ext_zicbop) | |
| BOOL_FIELD(ext_zicboz) | |
| BOOL_FIELD(ext_zicfilp) | |
| BOOL_FIELD(ext_zicfiss) | |
| BOOL_FIELD(ext_zicond) | |
| BOOL_FIELD(ext_zihintntl) | |
| BOOL_FIELD(ext_zihintpause) | |
| BOOL_FIELD(ext_zihpm) | |
| BOOL_FIELD(ext_zilsd) | |
| BOOL_FIELD(ext_zimop) | |
| BOOL_FIELD(ext_zcmop) | |
| BOOL_FIELD(ext_ztso) | |
| BOOL_FIELD(ext_smstateen) | |
| BOOL_FIELD(ext_sstc) | |
| BOOL_FIELD(ext_smcdeleg) | |
| BOOL_FIELD(ext_ssccfg) | |
| BOOL_FIELD(ext_smcntrpmf) | |
| BOOL_FIELD(ext_smcsrind) | |
| BOOL_FIELD(ext_sscsrind) | |
| BOOL_FIELD(ext_ssdbltrp) | |
| BOOL_FIELD(ext_smdbltrp) | |
| BOOL_FIELD(ext_svadu) | |
| BOOL_FIELD(ext_svinval) | |
| BOOL_FIELD(ext_svnapot) | |
| BOOL_FIELD(ext_svpbmt) | |
| BOOL_FIELD(ext_smpmpmt) | |
| BOOL_FIELD(ext_svrsw60t59b) | |
| BOOL_FIELD(ext_svvptc) | |
| BOOL_FIELD(ext_svukte) | |
| BOOL_FIELD(ext_zdinx) | |
| BOOL_FIELD(ext_zaamo) | |
| BOOL_FIELD(ext_zacas) | |
| BOOL_FIELD(ext_zama16b) | |
| BOOL_FIELD(ext_zabha) | |
| BOOL_FIELD(ext_zalasr) | |
| BOOL_FIELD(ext_zalrsc) | |
| BOOL_FIELD(ext_zawrs) | |
| BOOL_FIELD(ext_zfa) | |
| BOOL_FIELD(ext_zfbfmin) | |
| BOOL_FIELD(ext_zfh) | |
| BOOL_FIELD(ext_zfhmin) | |
| BOOL_FIELD(ext_zfinx) | |
| BOOL_FIELD(ext_zhinx) | |
| BOOL_FIELD(ext_zhinxmin) | |
| BOOL_FIELD(ext_zve32f) | |
| BOOL_FIELD(ext_zve32x) | |
| BOOL_FIELD(ext_zve64f) | |
| BOOL_FIELD(ext_zve64d) | |
| BOOL_FIELD(ext_zve64x) | |
| BOOL_FIELD(ext_zvbb) | |
| BOOL_FIELD(ext_zvbc) | |
| BOOL_FIELD(ext_zvkb) | |
| BOOL_FIELD(ext_zvkg) | |
| BOOL_FIELD(ext_zvkned) | |
| BOOL_FIELD(ext_zvknha) | |
| BOOL_FIELD(ext_zvknhb) | |
| BOOL_FIELD(ext_zvksed) | |
| BOOL_FIELD(ext_zvksh) | |
| BOOL_FIELD(ext_zvkt) | |
| BOOL_FIELD(ext_zvkn) | |
| BOOL_FIELD(ext_zvknc) | |
| BOOL_FIELD(ext_zvkng) | |
| BOOL_FIELD(ext_zvks) | |
| BOOL_FIELD(ext_zvksc) | |
| BOOL_FIELD(ext_zvksg) | |
| BOOL_FIELD(ext_zmmul) | |
| BOOL_FIELD(ext_zvfbfa) | |
| BOOL_FIELD(ext_zvfbfmin) | |
| BOOL_FIELD(ext_zvfbfwma) | |
| BOOL_FIELD(ext_zvfh) | |
| BOOL_FIELD(ext_zvfhmin) | |
| BOOL_FIELD(ext_sdext) | |
| BOOL_FIELD(ext_sdtrig) | |
| BOOL_FIELD(ext_smaia) | |
| BOOL_FIELD(ext_ssaia) | |
| BOOL_FIELD(ext_smctr) | |
| BOOL_FIELD(ext_ssctr) | |
| BOOL_FIELD(ext_sscofpmf) | |
| BOOL_FIELD(ext_smepmp) | |
| BOOL_FIELD(ext_smrnmi) | |
| BOOL_FIELD(ext_ssnpm) | |
| BOOL_FIELD(ext_smnpm) | |
| BOOL_FIELD(ext_smmpm) | |
| BOOL_FIELD(ext_sspm) | |
| BOOL_FIELD(ext_supm) | |
| BOOL_FIELD(rvv_ta_all_1s) | |
| BOOL_FIELD(rvv_ma_all_1s) | |
| BOOL_FIELD(rvv_vl_half_avl) | |
| BOOL_FIELD(rvv_vsetvl_x0_vill) | |
| /* Named features */ | |
| BOOL_FIELD(ext_svade) | |
| BOOL_FIELD(ext_zic64b) | |
| BOOL_FIELD(ext_ssstateen) | |
| BOOL_FIELD(ext_sha) | |
| /* | |
| * Always 'true' booleans for named features | |
| * TCG always implement/can't be user disabled, | |
| * based on spec version. | |
| */ | |
| BOOL_FIELD(has_priv_1_13) | |
| BOOL_FIELD(has_priv_1_12) | |
| BOOL_FIELD(has_priv_1_11) | |
| /* Always enabled for TCG if has_priv_1_11 */ | |
| BOOL_FIELD(ext_ziccrse) | |
| BOOL_FIELD(ext_zicclsm) | |
| /* Vendor-specific custom extensions */ | |
| BOOL_FIELD(ext_xtheadba) | |
| BOOL_FIELD(ext_xtheadbb) | |
| BOOL_FIELD(ext_xtheadbs) | |
| BOOL_FIELD(ext_xtheadcmo) | |
| BOOL_FIELD(ext_xtheadcondmov) | |
| BOOL_FIELD(ext_xtheadfmemidx) | |
| BOOL_FIELD(ext_xtheadfmv) | |
| BOOL_FIELD(ext_xtheadmac) | |
| BOOL_FIELD(ext_xtheadmemidx) | |
| BOOL_FIELD(ext_xtheadmempair) | |
| BOOL_FIELD(ext_xtheadsync) | |
| BOOL_FIELD(ext_XVentanaCondOps) | |
| BOOL_FIELD(ext_xmipscbop) | |
| BOOL_FIELD(ext_xmipscmov) | |
| BOOL_FIELD(ext_xmipslsp) | |
| BOOL_FIELD(ext_xlrbr) | |
| BOOL_FIELD(ext_xsfvqmaccdod) | |
| BOOL_FIELD(ext_xsfvqmaccqoq) | |
| BOOL_FIELD(big_endian) | |
| BOOL_FIELD(mmu) | |
| BOOL_FIELD(pmp) | |
| BOOL_FIELD(debug) | |
| BOOL_FIELD(misa_w) | |
| BOOL_FIELD(short_isa_string) | |
| TYPED_FIELD(uint32_t, mvendorid, 0) | |
| TYPED_FIELD(uint64_t, marchid, 0) | |
| TYPED_FIELD(uint64_t, mimpid, 0) | |
| TYPED_FIELD(uint32_t, pmu_mask, 0) | |
| TYPED_FIELD(uint16_t, vlenb, 0) | |
| TYPED_FIELD(uint16_t, elen, 0) | |
| TYPED_FIELD(uint16_t, cbom_blocksize, 0) | |
| TYPED_FIELD(uint16_t, cbop_blocksize, 0) | |
| TYPED_FIELD(uint16_t, cboz_blocksize, 0) | |
| TYPED_FIELD(uint8_t, pmp_regions, 0) | |
| TYPED_FIELD(uint32_t, pmp_granularity, 0) | |
| TYPED_FIELD(int8_t, max_satp_mode, -1) | |
| #undef BOOL_FIELD | |
| #undef TYPED_FIELD |