riscv/sifive_u: Add L2-LIM cache memory
commita6902ef0e3a83ea3dcf54f1919d485d4cf148506
authorAlistair Francis <alistair.francis@wdc.com>
Tue, 8 Oct 2019 23:32:07 +0000 (8 16:32 -0700)
committerPalmer Dabbelt <palmer@sifive.com>
Mon, 28 Oct 2019 14:47:27 +0000 (28 07:47 -0700)
tree364617a96147f56626c4b2f1c0e178909f6cf8d6
parent2921343b3df93e4848034ec615c01ee221212c3a
riscv/sifive_u: Add L2-LIM cache memory

On reset only a single L2 cache way is enabled, the others are exposed
as memory that can be used by early boot firmware. This L2 region is
generally disabled using the WayEnable register at a later stage in the
boot process. To allow firmware to target QEMU and the HiFive Unleashed
let's add the L2 LIM (LooselyIntegrated Memory).

Ideally we would want to adjust the size of this chunk of memory as the
L2 Cache Controller WayEnable register is incremented. Unfortunately I
don't see a nice way to handle reducing or blocking out the L2 LIM while
still allowing it be re returned to all enabled from a reset.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
hw/riscv/sifive_u.c
include/hw/riscv/sifive_u.h