target/riscv: rvk: add cfg properties for zbk* and zk*

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220423023510.30794-2-liweiwei@iscas.ac.cn>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
Weiwei Li 2022-04-23 10:34:57 +08:00 committed by Alistair Francis
parent 9951ba948a
commit eef82872be
2 changed files with 36 additions and 0 deletions

View File

@ -612,6 +612,29 @@ static void riscv_cpu_realize(DeviceState *dev, Error **errp)
cpu->cfg.ext_zfinx = true; cpu->cfg.ext_zfinx = true;
} }
if (cpu->cfg.ext_zk) {
cpu->cfg.ext_zkn = true;
cpu->cfg.ext_zkr = true;
cpu->cfg.ext_zkt = true;
}
if (cpu->cfg.ext_zkn) {
cpu->cfg.ext_zbkb = true;
cpu->cfg.ext_zbkc = true;
cpu->cfg.ext_zbkx = true;
cpu->cfg.ext_zkne = true;
cpu->cfg.ext_zknd = true;
cpu->cfg.ext_zknh = true;
}
if (cpu->cfg.ext_zks) {
cpu->cfg.ext_zbkb = true;
cpu->cfg.ext_zbkc = true;
cpu->cfg.ext_zbkx = true;
cpu->cfg.ext_zksed = true;
cpu->cfg.ext_zksh = true;
}
/* Set the ISA extensions, checks should have happened above */ /* Set the ISA extensions, checks should have happened above */
if (cpu->cfg.ext_i) { if (cpu->cfg.ext_i) {
ext |= RVI; ext |= RVI;

View File

@ -377,7 +377,20 @@ struct RISCVCPUConfig {
bool ext_zba; bool ext_zba;
bool ext_zbb; bool ext_zbb;
bool ext_zbc; bool ext_zbc;
bool ext_zbkb;
bool ext_zbkc;
bool ext_zbkx;
bool ext_zbs; bool ext_zbs;
bool ext_zk;
bool ext_zkn;
bool ext_zknd;
bool ext_zkne;
bool ext_zknh;
bool ext_zkr;
bool ext_zks;
bool ext_zksed;
bool ext_zksh;
bool ext_zkt;
bool ext_counters; bool ext_counters;
bool ext_ifencei; bool ext_ifencei;
bool ext_icsr; bool ext_icsr;