You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/target/riscv/cpu_cfg_fields.h.inc

171 lines
3.7 KiB
C++

/*
* 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_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_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_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_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_zvfbfmin)
BOOL_FIELD(ext_zvfbfwma)
BOOL_FIELD(ext_zvfh)
BOOL_FIELD(ext_zvfhmin)
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)
/* 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)
/* 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(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(int8_t, max_satp_mode, -1)
#undef BOOL_FIELD
#undef TYPED_FIELD