OSDN Git Service

RISC-V: Add misa runtime write support
authorMichael Clark <mjc@sifive.com>
Mon, 14 Jan 2019 23:59:00 +0000 (23:59 +0000)
committerPalmer Dabbelt <palmer@sifive.com>
Mon, 11 Feb 2019 23:56:22 +0000 (15:56 -0800)
commitf18637cd611cd42bfe1eb4dafa337051fc4f6061
treeaeec56acd8090e601a86f49b6b039df366a8d722
parentd77c3401e694900a15dd8a658ae524f33fc8bc50
RISC-V: Add misa runtime write support

This patch adds support for writing misa. misa is validated based
on rules in the ISA specification. 'E' is mutually exclusive with
all other extensions. 'D' depends on 'F' so 'D' bit is dropped
if 'F' is not present. A conservative approach to consistency is
taken by flushing the translation cache on misa writes. misa_mask
is added to the CPU struct to store the original set of extensions.

Signed-off-by: Michael Clark <mjc@sifive.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
target/riscv/cpu.c
target/riscv/cpu.h
target/riscv/cpu_bits.h
target/riscv/csr.c