mirror of https://gitlab.com/qemu-project/qemu
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.
171 lines
3.7 KiB
C++
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
|