linux-riscv.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: "Christoph Müllner" <christoph.muellner@vrull.eu>
To: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Paul Walmsley" <paul.walmsley@sifive.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Philipp Tomsich" <philipp.tomsich@vrull.eu>,
	"Björn Töpel" <bjorn@kernel.org>,
	"Daniel Henrique Barboza" <dbarboza@ventanamicro.com>,
	"Heiko Stuebner" <heiko@sntech.de>,
	"Cooper Qu" <cooper.qu@linux.alibaba.com>,
	"Zhiwei Liu" <zhiwei_liu@linux.alibaba.com>,
	"Huang Tao" <eric.huang@linux.alibaba.com>,
	"Alistair Francis" <alistair.francis@wdc.com>,
	"Andrew Jones" <ajones@ventanamicro.com>,
	"Conor Dooley" <conor@kernel.org>,
	"Qingfang Deng" <dqfext@gmail.com>,
	"Alexandre Ghiti" <alex@ghiti.fr>,
	"Samuel Holland" <samuel.holland@sifive.com>
Cc: "Christoph Müllner" <christoph.muellner@vrull.eu>
Subject: [PATCH v3 0/2] RISC-V: Test th.sxstatus.MAEE bit before enabling MAEE
Date: Sun,  7 Apr 2024 23:32:34 +0200	[thread overview]
Message-ID: <20240407213236.2121592-1-christoph.muellner@vrull.eu> (raw)

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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

             reply	other threads:[~2024-04-07 21:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-07 21:32 Christoph Müllner [this message]
2024-04-07 21:32 ` [PATCH v3 1/2] riscv: thead: Rename T-Head PBMT to MAE Christoph Müllner
2024-04-07 21:32 ` [PATCH v3 2/2] riscv: T-Head: Test availability bit before enabling MAE errata Christoph Müllner
2024-04-08  1:58   ` Yangyu Chen
2024-04-08  6:00     ` Christoph Müllner
2024-04-08  7:36       ` Yangyu Chen
2024-04-08  7:55         ` Christoph Müllner
2024-04-08  8:10           ` Conor Dooley
2024-04-08  8:21             ` Yangyu Chen
2024-04-08  9:06               ` Conor Dooley
2024-04-25 23:00 ` [PATCH v3 0/2] RISC-V: Test th.sxstatus.MAEE bit before enabling MAEE patchwork-bot+linux-riscv

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240407213236.2121592-1-christoph.muellner@vrull.eu \
    --to=christoph.muellner@vrull.eu \
    --cc=ajones@ventanamicro.com \
    --cc=alex@ghiti.fr \
    --cc=alistair.francis@wdc.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=bjorn@kernel.org \
    --cc=conor@kernel.org \
    --cc=cooper.qu@linux.alibaba.com \
    --cc=dbarboza@ventanamicro.com \
    --cc=dqfext@gmail.com \
    --cc=eric.huang@linux.alibaba.com \
    --cc=heiko@sntech.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=samuel.holland@sifive.com \
    --cc=zhiwei_liu@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).