EDK2_00_15 - StandaloneMmPkg RPMI MM support

EDK2_00_15 - StandaloneMmPkg RPMI MM support

About

This project aims to implement and upstream the MM service group based on MPXY SBI extension and RPMI protocol in EDK2.  This project helps the PoC project EDK2_00_02 - StandaloneMmPkg (PoC) and let it use the spec defined SBI interface.

Latest update (22-June-2025): Based on latest discussions, we will have 2 separate data paths to enable MM properly. 1. Communicate with m-mode over MPXY (using MM RPMI API). Have a monitor like code in OpenSBI to forward MM data packets to STMM using RPMI Req-Fwd APIs.

Project Scope and Timelines

The MM service group implementation includes.

  • Leverage the SBI MPXY extension and RPMI protocol, which carries the RPMI message in EDK2

  • Put MM inter-domain messaging payload in shared memory in EDK2

  • Add an MM Service in RPMI with APIs:

    • MM_VERSION

    • MM_COMMUNICATE

    • MM_COMPLETE

Components and Repos.

Baseline code (RPMI PoC)

OpenSBI : https://github.com/cap2k4-rivos/opensbi/tree/dev/cap2k4/MultiChannelV2

EDK2 : https://github.com/cap2k4-rivos/edk2-staging/tree/dev/cap2k4/multiChannel

Stakeholders and Partners

Dependencies

Here are the links to the draft specifications for RPMI and MPXY which were shared in the past on the riscv org mailing list for review.
RPMI: https://github.com/riscv-non-isa/riscv-rpmi
MPXY: https://lists.riscv.org/g/tech-prs/message/948

Measure of Success

Code upstream to EDK2 and OpenSBI

RISE Requirements

None,

Status

 

Dependency

MPXY/RPMI Specification

 

Development

ONGOING

URL: NA

Development Timeline

2025

 

Upstreaming

WIP

URL:

Upstream version

 

 

Contacts

Yong Li, Akshay Behl <cap2k4@rivosinc.com>

Akshay Behl <cap2k4@rivosinc.com>

 

Updates

Jul 3, 2025 

  1. Communicate with m-mode over MPXY (using MM RPMI API). Have a monitor like code in OpenSBI to forward MM data packets to STMM using RPMI Req-Fwd APIs. (In development, OpenSBI part works but not yet ready for upstream).

  2. Currently a shared buffer between Non Secure(UPL) and Secure Mode(STMM) is setup for data transfer between them.

Jul 11, 2024 

Rebased code with the latest RPMI PoC

https://github.com/yli147/edk2/tree/dev-standalonemm-mpxy-v3

 

 

Mar 6, 2024 

Pending on RPMI spec ratification, will do the code rebase once spec has been ratified