From: guoren@kernel.org
To: palmer@rivosinc.com
Cc: linux-riscv@lists.infradead.org, Guo Ren <guoren@linux.alibaba.com>
Subject: [RFC PATCH 0/4] Proof of concept for rv32 svpbmt support
Date: Tue, 5 Jul 2022 06:05:19 -0400 [thread overview]
Message-ID: <20220705100523.1204595-1-guoren@kernel.org> (raw)
From: Guo Ren <guoren@linux.alibaba.com>
Make rv32 support svpbmt & napot by reducing the PPN witdth (sv32p34 ->
sv32p31).
RISC-V 32bit also requires svpbmt in cost-down chip embedded scenarios,
and their RAM is limited (No more than 1GB). It is worth mentioning that
rv32-Linux currently only supports 1GB of DRAM, and there is no plan for
high-memory. So, there seems to be no obstacle to shrinking the physical
address space of the rv32 from 16GB to 2GB. We recommend that ISA
consider sv32p31 as the recommended configuration for the software
ecosystem instead of sv32p34. Then we could merge rv64 & rv32 into one
PTE format:
| XLEN-1 | XLEN-2 XLEN-3 | XLEN-4 10 | 9 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
N MT[2] RSV & PFN reserved for SW D A G U X W R V
We've finished the Linux Proof of concept of the proposal, which contains
three parts:
- Qemu rv32 svpbmt & napot support & hw/virt memory layout of 1GB IO
range [1]
- Linux rv32 sv32p31 & svpbmt support
- Opensbi needs to compile with FW_TEXT_START=0x40000000
[1] https://github.com/guoren83/qemu/tree/rv32svpbmt
Guo Ren (4):
riscv: Optimize satp_mode data type
riscv: Cleanup ERRATA_THEAD_PBMT for rv32 svpbmt compile
riscv: pgtable: Move svpbmt into the common pgtable-bits.h
riscv: Change rv32p34 to rv32p31 for svpbmt
arch/riscv/Kconfig | 2 +-
arch/riscv/include/asm/errata_list.h | 11 +++++-
arch/riscv/include/asm/pgtable-32.h | 20 +---------
arch/riscv/include/asm/pgtable-64.h | 55 ---------------------------
arch/riscv/include/asm/pgtable-bits.h | 53 ++++++++++++++++++++++++++
arch/riscv/include/asm/pgtable.h | 7 +++-
arch/riscv/mm/init.c | 4 +-
7 files changed, 74 insertions(+), 78 deletions(-)
--
2.36.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2022-07-05 10:05 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-05 10:05 guoren [this message]
2022-07-05 10:05 ` [RFC PATCH 1/4] riscv: Optimize satp_mode data type guoren
2022-07-05 17:26 ` Christoph Hellwig
2022-07-05 23:45 ` Guo Ren
2022-07-05 10:05 ` [RFC PATCH 2/4] riscv: Cleanup ERRATA_THEAD_PBMT for rv32 svpbmt compile guoren
2022-07-08 8:50 ` Heiko Stübner
2022-07-09 16:24 ` Guo Ren
2022-07-10 2:25 ` Guo Ren
2022-07-05 10:05 ` [RFC PATCH 3/4] riscv: pgtable: Move svpbmt into the common pgtable-bits.h guoren
2022-07-08 6:10 ` Guo Ren
2022-07-08 9:03 ` Heiko Stübner
2022-07-08 9:49 ` Guo Ren
2022-07-05 10:05 ` [RFC PATCH 4/4] riscv: Change rv32p34 to rv32p31 for svpbmt guoren
2022-07-05 17:22 ` [RFC PATCH 0/4] Proof of concept for rv32 svpbmt support Christoph Hellwig
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=20220705100523.1204595-1-guoren@kernel.org \
--to=guoren@kernel.org \
--cc=guoren@linux.alibaba.com \
--cc=linux-riscv@lists.infradead.org \
--cc=palmer@rivosinc.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).