Messages in this thread | | | From | Christoph Müllner <> | Subject | [PATCH 0/2] RISC-V: Test th.mxstatus.MAEE bit before enabling MAEE | Date | Wed, 27 Mar 2024 11:31:28 +0100 |
| |
Currently, the Linux kernel suffers from a boot regression when running on the c906 QEMU emulation. Details have been reported here by Björn Töpel: https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg04766.html
The main issue is, that Linux enables MAEE for CPUs that have a T-Head mvendorid but QEMU maintainers don't want to emulate a CPU that uses reserved bits in PTEs. See also the following discussion for more context: https://lists.gnu.org/archive/html/qemu-devel/2024-02/msg00775.html
This series renames "T-Head PBMT" to "MAEE" and only enables it if the th.mxstatus.MAEE bit is set.
Since th.mxstatus is only accessible in M-mode, this patch depends on the following OpenSBI series: http://lists.infradead.org/pipermail/opensbi/2024-March/006718.html
The th.mxstatus CSR is documented here: https://github.com/T-head-Semi/thead-extension-spec/pull/45
The QEMU patch to emulate th.mxstatus with MAEE not set is here: https://lists.gnu.org/archive/html/qemu-devel/2024-03/msg06368.html
After applying all referenced patchsets, this patchset allows to successfully boot a C906 QEMU system emulation ("-cpu thead-c906").
Christoph Müllner (2): riscv: thead: Rename T-Head PBMT to MAEE riscv: T-Head: Test availability bit before enabling MAEE errata
arch/riscv/Kconfig.errata | 8 ++++---- arch/riscv/errata/thead/errata.c | 22 ++++++++++++++-------- arch/riscv/include/asm/errata_list.h | 20 ++++++++++---------- 3 files changed, 28 insertions(+), 22 deletions(-)
-- 2.44.0
| |