diff options
author | Palmer Dabbelt <palmer@rivosinc.com> | 2022-07-14 11:00:33 -0700 |
---|---|---|
committer | Alistair Francis <alistair.francis@wdc.com> | 2022-07-27 17:34:02 +1000 |
commit | 44602af8585fd2f331c69e2c071eff39227535ed (patch) | |
tree | fd0b285cf73a5acb62fa67c411fa304df2baa95a /target/riscv | |
parent | 7b17a1a841fc2336eba53afade9cadb14bd3dd9a (diff) | |
download | qemu-44602af8585fd2f331c69e2c071eff39227535ed.zip qemu-44602af8585fd2f331c69e2c071eff39227535ed.tar.gz qemu-44602af8585fd2f331c69e2c071eff39227535ed.tar.bz2 |
RISC-V: Allow both Zmmul and M
We got to talking about how Zmmul and M interact with each other
https://github.com/riscv/riscv-isa-manual/issues/869 , and it turns out
that QEMU's behavior is slightly wrong: having Zmmul and M is a legal
combination, it just means that the multiplication instructions are
supported even when M is disabled at runtime via misa.
This just stops overriding M from Zmmul, with that the other checks for
the multiplication instructions work as per the ISA.
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220714180033.22385-1-palmer@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'target/riscv')
-rw-r--r-- | target/riscv/cpu.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 1bb3973..ac6f82e 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -619,11 +619,6 @@ static void riscv_cpu_realize(DeviceState *dev, Error **errp) cpu->cfg.ext_ifencei = true; } - if (cpu->cfg.ext_m && cpu->cfg.ext_zmmul) { - warn_report("Zmmul will override M"); - cpu->cfg.ext_m = false; - } - if (cpu->cfg.ext_i && cpu->cfg.ext_e) { error_setg(errp, "I and E extensions are incompatible"); |