Messages in this thread | ![/](/images/icornerl.gif) | | From | Christoph Müllner <> | Subject | [PATCH v3 0/2] RISC-V: Test th.sxstatus.MAEE bit before enabling MAEE | Date | Sun, 7 Apr 2024 23:32:34 +0200 |
| |
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 XTheadMae 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 "MAE"/"XTheadMae" and only enables it if the th.sxstatus.MAEE bit is set.
The th.sxstatus CSR is documented here: https://github.com/T-head-Semi/thead-extension-spec/blob/master/xtheadsxstatus.adoc
XTheadMae is documented here: https://github.com/T-head-Semi/thead-extension-spec/blob/master/xtheadmae.adoc
The QEMU patch to emulate th.sxstatus with the MAEE bit not set is here: https://lore.kernel.org/all/20240329120427.684677-1-christoph.muellner@vrull.eu/
After applying the referenced QEMU patch, this patchset allows to successfully boot a C906 QEMU system emulation ("-cpu thead-c906").
Changes in v3: * Rename to MAE instead of MAEE
Changes in v2: * use th.sxstatus.MAEE instead of th.mxstatus.MAEE
Christoph Müllner (2): riscv: thead: Rename T-Head PBMT to MAE riscv: T-Head: Test availability bit before enabling MAE errata
arch/riscv/Kconfig.errata | 8 ++++---- arch/riscv/errata/thead/errata.c | 24 +++++++++++++++--------- arch/riscv/include/asm/errata_list.h | 20 ++++++++++---------- 3 files changed, 29 insertions(+), 23 deletions(-)
-- 2.44.0
| ![\](/images/icornerr.gif) |