hw/{misc, riscv}: pfsoc: add system controller as unimplemented
authorConor Dooley <conor.dooley@microchip.com>
Thu, 17 Nov 2022 22:55:18 +0000 (22:55 +0000)
committerAlistair Francis <alistair.francis@wdc.com>
Fri, 6 Jan 2023 00:42:55 +0000 (10:42 +1000)
commit592f0a9429b924bc7eec0aee60afa391f7ca96b2
tree8f45f7eb4fb33777a84712a1b33ddc0ddb4a9c2f
parent8d32e374a805976c622ed58073015eaf2e6859dc
hw/{misc, riscv}: pfsoc: add system controller as unimplemented

The system controller on PolarFire SoC is access via a mailbox. The
control registers for this mailbox lie in the "IOSCB" region & the
interrupt is cleared via write to the "SYSREG" region. It also has a
QSPI controller, usually connected to a flash chip, that is used for
storing FPGA bitstreams and used for In-Application Programming (IAP).

Linux has an implementation of the system controller, through which the
hwrng is accessed, leading to load/store access faults.

Add the QSPI as unimplemented and a very basic (effectively
unimplemented) version of the system controller's mailbox. Rather than
purely marking the regions as unimplemented, service the mailbox
requests by reporting failures and raising the interrupt so a guest can
better handle the lack of support.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20221117225518.4102575-4-conor@kernel.org>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
hw/misc/mchp_pfsoc_ioscb.c
hw/misc/mchp_pfsoc_sysreg.c
hw/riscv/microchip_pfsoc.c
include/hw/misc/mchp_pfsoc_ioscb.h
include/hw/misc/mchp_pfsoc_sysreg.h
include/hw/riscv/microchip_pfsoc.h