[PATCH v2 0/5] OpenSBI hart protection abstraction

Anup Patel anup at brainfault.org
Tue Dec 16 06:47:21 PST 2025


On Tue, Dec 9, 2025 at 7:22 PM Anup Patel <apatel at ventanamicro.com> wrote:
>
> 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

Applied this series to the riscv/opensbi repo.

Regards,
Anup

>
>  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