From: Alistair Francis Date: Tue, 18 Jun 2019 01:31:16 +0000 (-0700) Subject: target/riscv: Require either I or E base extension X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bdddd44635a7d3b0f746e449ff7a02328bc2b405;p=qemu.git target/riscv: Require either I or E base extension Signed-off-by: Alistair Francis Reviewed-by: Palmer Dabbelt Signed-off-by: Palmer Dabbelt --- diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index ba1325f435..1689ffecf8 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -373,6 +373,12 @@ static void riscv_cpu_realize(DeviceState *dev, Error **errp) return; } + if (!cpu->cfg.ext_i && !cpu->cfg.ext_e) { + error_setg(errp, + "Either I or E extension must be set"); + return; + } + if (cpu->cfg.ext_g && !(cpu->cfg.ext_i & cpu->cfg.ext_m & cpu->cfg.ext_a & cpu->cfg.ext_f & cpu->cfg.ext_d)) {