Skip to content

Commit

Permalink
Add RPMI MPXY integration chapter
Browse files Browse the repository at this point in the history
Signed-off-by: Rahul Pathak <[email protected]>
  • Loading branch information
pathakraul committed Sep 6, 2024
1 parent a28c537 commit c15e8f4
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 1 deletion.
Binary file added images/mpxy-rpmi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions riscv-rpmi.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ include::src/transport.adoc[]

include::src/message-protocol.adoc[]

include::src/rpmi-mpxy.adoc[]

include::src/service-groups.adoc[]

include::src/srvgrp-base.adoc[]
Expand Down
41 changes: 41 additions & 0 deletions src/rpmi-mpxy.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
:path: src/
:imagesdir: ../images

ifdef::rootpath[]
:imagesdir: {rootpath}{path}{imagesdir}
endif::rootpath[]

ifndef::rootpath[]
:rootpath: ./../
endif::rootpath[]

== RPMI Integration with SBI MPXY Extension
The SBI MPXY (Message Proxy) extension is defined by the RISC-V SBI Specification
cite:[SBI] for sending and receiving the message data from the S-mode.

.RPMI and MPXY Integration
image::mpxy-rpmi.png[350,350, align="center"]

RPMI service groups that are M-mode only, including BASE, which is an exception
must not be accessible via SBI MPXY interface. A MPXY channel
corresponds to a single RPMI service group bound to that MPXY channel.

The following table lists the RPMI message protocol specific attributes for
a MPXY channel.

[#table_rpmi_mpxy_attributes]
.RPMI Attributes for MPXY Channel
[cols="2, 2, 1, 3", width=100%, align="center", options="header"]
|===
| Attribute Name
| Attribute ID
| Access
| Description

| SERVICEGROUP_ID
| 0x80000000
| RO
| RPMI service group ID
|===

TODO: Link to the MPXY Extension chapter in SBI spec (does not exist in SBI spec)
16 changes: 15 additions & 1 deletion src/service-groups.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,63 +38,77 @@ The following table lists the service groups.

[#table_service_groups]
.RPMI Service Groups
[cols="2, 2, 4", width=100%, align="center", options="header"]
[cols="2, 2, 4, 3", width=100%, align="center", options="header"]
|===
| Service Group ID
| Version (Major:Minor)
| Service Group Name
| RISC-V Privilege Mode

| 0x0001
|
| BASE
| M-mode, S-mode

| 0x0002
|
| SYSTEM_RESET
| M-mode

| 0x0003
|
| SYSTEM_SUSPEND
| M-mode

| 0x0004
|
| HART_STATE_MANAGEMENT
| M-mode

| 0x0005
|
| CPPC
| M-mode, S-mode

| 0x0006
|
| VOLTAGE
| M-mode, S-mode

| 0x0007
|
| CLOCK
| M-mode, S-mode

| 0x0008
|
| DEVICE_POWER
| M-mode, S-mode

| 0x0009
|
| PERFORMANCE
| M-mode, S-mode

| 0x000A
|
| MANAGEMENT_MODE
| M-mode, S-mode

| 0x000B
|
| RAS_AGENT
| M-mode, S-mode

| 0x000C - 0x7FFF
|
| _Reserved for Future Use_
|

| 0x8000 - 0xFFFF
|
| _Implementation Specific Service Groups_
|
|===

NOTE: The services listed within each service group do not have a specific order.
Expand Down

0 comments on commit c15e8f4

Please sign in to comment.