aboutsummaryrefslogtreecommitdiff
path: root/hw/intc
diff options
context:
space:
mode:
authorIrina Ryapolova <irina.ryapolova@syntacore.com>2024-01-09 17:59:21 +0300
committerAlistair Francis <alistair.francis@wdc.com>2024-03-08 16:36:51 +1000
commit57020a464c1c8ff1d40a94a4eca6c6955ca0a6e1 (patch)
tree459758c4003265bf3774231498f76ca32186de42 /hw/intc
parentadb49752dd18e556427c634ed1d3570378e87819 (diff)
downloadqemu-57020a464c1c8ff1d40a94a4eca6c6955ca0a6e1.zip
qemu-57020a464c1c8ff1d40a94a4eca6c6955ca0a6e1.tar.gz
qemu-57020a464c1c8ff1d40a94a4eca6c6955ca0a6e1.tar.bz2
target/riscv: FIX xATP_MODE validation
The SATP register is an SXLEN-bit read/write WARL register. It means that CSR fields are only defined for a subset of bit encodings, but allow any value to be written while guaranteeing to return a legal value whenever read (See riscv-privileged-20211203, SATP CSR). For example on rv64 we are trying to write to SATP CSR val = 0x1000000000000000 (SATP_MODE = 1 - Reserved for standard use) and after that we are trying to read SATP_CSR. We read from the SATP CSR value = 0x1000000000000000, which is not a correct operation (return illegal value). Signed-off-by: Irina Ryapolova <irina.ryapolova@syntacore.com> Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20240109145923.37893-1-irina.ryapolova@syntacore.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'hw/intc')
0 files changed, 0 insertions, 0 deletions