[PATCH v2 0/5] OpenSBI hart protection abstraction
Anup Patel
apatel at ventanamicro.com
Tue Dec 9 05:52:30 PST 2025
Currently, PMP and ePMP are the only hart protection mechanisms
available in OpenSBI but new protection mechanisms (such as Smmpt)
will be added in the near future. This series adds hart protection
abstraction and related APIs for allowing multiple hart protection
mechanisms.
These patches can also found in hart_protection_v2 branch at:
https://github.com/avpatel/opensbi.git
Changes since v1:
- Added documentation for function parameters in PATCH2
- Dropped return value of sbi_hart_protection_unregister() in PATCH2
- Register oldpmp hart protection only when Smepmp is not available
in PATCH3
Anup Patel (5):
lib: sbi: Introduce sbi_hart_pmp_unconfigure() function
lib: sbi: Introduce hart protection abstraction
lib: sbi: Implement hart protection for PMP and ePMP
lib: sbi: Replace sbi_hart_pmp_xyz() and sbi_hart_map/unmap_addr()
lib: sbi: Factor-out PMP programming into separate sources
include/sbi/sbi_hart.h | 25 +--
include/sbi/sbi_hart_pmp.h | 20 ++
include/sbi/sbi_hart_protection.h | 100 +++++++++
lib/sbi/objects.mk | 2 +
lib/sbi/sbi_dbtr.c | 33 +--
lib/sbi/sbi_domain_context.c | 13 +-
lib/sbi/sbi_ecall_dbcn.c | 6 +-
lib/sbi/sbi_hart.c | 308 +-------------------------
lib/sbi/sbi_hart_pmp.c | 355 ++++++++++++++++++++++++++++++
lib/sbi/sbi_hart_protection.c | 96 ++++++++
lib/sbi/sbi_init.c | 22 +-
lib/sbi/sbi_mpxy.c | 25 ++-
lib/sbi/sbi_pmu.c | 5 +-
lib/sbi/sbi_sse.c | 9 +-
14 files changed, 645 insertions(+), 374 deletions(-)
create mode 100644 include/sbi/sbi_hart_pmp.h
create mode 100644 include/sbi/sbi_hart_protection.h
create mode 100644 lib/sbi/sbi_hart_pmp.c
create mode 100644 lib/sbi/sbi_hart_protection.c
--
2.43.0
More information about the opensbi
mailing list