mhartid csr is not available in user-mode code path and user-mode build fails because of its reference in riscv_cpu_realize function
Commit causing the issue is currently in Alistair's riscv-to-apply.next branch and need to be squashed there. Fixes: 7ecee770d40 ("target/riscv: Force disable extensions if priv spec version does not match") Signed-off-by: Rahul Pathak <rpat...@ventanamicro.com> --- Changes in V2: - remove the stray format specifier - add the Fixes tag and reference to external tree --- target/riscv/cpu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index e4ec05abf4..509923f15e 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -636,9 +636,15 @@ static void riscv_cpu_realize(DeviceState *dev, Error **errp) if (isa_ext_is_enabled(cpu, &isa_edata_arr[i]) && (env->priv_ver < isa_edata_arr[i].min_version)) { isa_ext_update_enabled(cpu, &isa_edata_arr[i], false); +#ifndef CONFIG_USER_ONLY warn_report("disabling %s extension for hart 0x%lx because " "privilege spec version does not match", isa_edata_arr[i].name, (unsigned long)env->mhartid); +#else + warn_report("disabling %s extension for hart because " + "privilege spec version does not match", + isa_edata_arr[i].name); +#endif } } -- 2.34.1