[PATCH v3 0/5] Split RX and RW regions for separate pmp entries
Himanshu Chauhan
hchauhan at ventanamicro.com
Thu Jan 19 07:18:21 PST 2023
This is second installment of the patch series sent earlier with
the subject: Split region permissions into M-mode and SU-mode. The
version 2 was recently posted, for which below is the link:
http://lists.infradead.org/pipermail/opensbi/2023-January/004127.html
This patch series splits the RX (text and read-only data) and RW data regions
so that each can have its independent pmp entries with correct permissions.
The linker script provides a new symbol _fw_rw_offset that marks the
beginning of the RW section. It also ensures that the split is a power-of-2
as required by pmp.
This lays ground work for enforcing the permissions from M-mode.
Changes in v2:
* Added a check if fw_rw_offset is a power of w
* Added a check if fw_start and fw_rw_offset are aligned
Changes in v3:
* Use of local variable to latch the value in fw_rw_offset linker symbol
* Check that fw_rw_offset is non-zero before power-of-2 check
Himanshu Chauhan (5):
firmware: Split RO/RX and RW sections
firmware: Move dynsym and reladyn sections to RX section
firmware: Add RW section offset in scratch
lib: sbi: Print the RW section offset
Add two entries:
firmware/fw_base.S | 8 ++++++++
firmware/fw_base.ldS | 43 ++++++++++++++++++++++++---------------
include/sbi/sbi_scratch.h | 24 +++++++++++++---------
lib/sbi/sbi_domain.c | 24 ++++++++++++++++++++--
lib/sbi/sbi_init.c | 1 +
5 files changed, 72 insertions(+), 28 deletions(-)
--
2.39.1
More information about the opensbi
mailing list