From 4aaf9dba7133c004948dafbf8e18bc9f21db0fce Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 17:53:02 +0800 Subject: [PATCH 01/11] clock: Update service description and CLK_GET_CONFIG value CONFIG in SET_CONFIG is bitwise definition. Bit 0 for clock enable/disable status. So, CONFIG in GET_CONFIG should follow the same definition. Signed-off-by: Ley Foon Tan --- src/srvgrp-clock.adoc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/srvgrp-clock.adoc b/src/srvgrp-clock.adoc index 831e5b5..9634de4 100644 --- a/src/srvgrp-clock.adoc +++ b/src/srvgrp-clock.adoc @@ -540,16 +540,19 @@ This serivce is used to get the configuration of a clock device. [cols="2,5a", options="header"] !=== -! Value +! Bits ! Description -! 0x0 ! Disabled -! 0x1 ! Enabled +! [31:1] ! _Reserved_ +! [0] ! Disable/enable + + 0b0: Clock is disabled. + 0b1: Clock is enabled. !=== |=== ==== Service: CLK_SET_RATE (SERVICE_ID: 0x07) -Set clock rate. +This service is used to set the clock rate of a specific clock. [#table_clock_setrate_request_data] .Request Data @@ -626,7 +629,7 @@ Platform autonomously choose rate closest to the requested rate. |=== ==== Service: CLK_GET_RATE (SERVICE_ID: 0x08) -Get the current clock rate value. +This service is used to get the current clock rate. [#table_clock_getrate_request_data] .Request Data From b0a1214a764ad6c88b526d6b9adc84647133b636 Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 18:01:30 +0800 Subject: [PATCH 02/11] ras: Update some description Standardize with other service groups. Signed-off-by: Ley Foon Tan --- src/srvgrp-ras-agent.adoc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/srvgrp-ras-agent.adoc b/src/srvgrp-ras-agent.adoc index 451120a..8dcf28a 100644 --- a/src/srvgrp-ras-agent.adoc +++ b/src/srvgrp-ras-agent.adoc @@ -17,7 +17,8 @@ by RAS Agent. Each error source in a system has a unique 32-bit identification number called as `RAS_ERR_SRC_ID`. -Below table lists the services in this group: +The following table lists the services in the RAS_AGENT service group: + [#table_ras_agent_services] .RAS Agent Services [cols="1, 3, 2", width=100%, align="center", options="header"] @@ -116,7 +117,7 @@ described in <>. ! Description ! RPMI_SUCCESS -! Notification is subscribed successfully. +! Event is subscribed successfully. ! RPMI_ERR_INVALID_PARAM ! `EVENT_ID` is invalid. From e1b7a03fed030c78eaba8bd33efb44e51aa362a0 Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 18:26:44 +0800 Subject: [PATCH 03/11] mm: Improve MM chapter Signed-off-by: Ley Foon Tan --- src/srvgrp-management.adoc | 45 ++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/src/srvgrp-management.adoc b/src/srvgrp-management.adoc index a51bc35..4ca1a65 100644 --- a/src/srvgrp-management.adoc +++ b/src/srvgrp-management.adoc @@ -16,9 +16,11 @@ on Management Mode, refer to the Platform Initialization (PI) specifications cite:[PI], Volume 4: Management Mode Core Interface. Management Mode provides an environment for implementing OS agnostic services (MM services) like secure variable storage, and firmware updates in system firmware. This service group describes the -interfaces for invoking MM services synchronously, the MM_COMMUNICATE serves as the +interfaces for invoking MM services synchronously, the `MM_COMMUNICATE` serves as the world-switch synchronous call from the non-secure to the secure world while the -MM_COMPLETE facilitates synchronous call from the secure to the non-secure world. +`MM_COMPLETE` facilitates synchronous call from the secure to the non-secure world. + +The following table lists the services in the MANAGEMENT_MODE service group: [#table_mm_services] .MANAGEMENT_MODE Services @@ -92,7 +94,7 @@ in <>. ! Description ! RPMI_SUCCESS -! Notification is subscribed successfully. +! Event is subscribed successfully. ! RPMI_ERR_INVALID_PARAM ! `EVENT_ID` is invalid. @@ -164,10 +166,11 @@ This service returns the version of a Management Mode. ==== Service: MM_COMMUNICATE (SERVICE_ID: 0x03) -Calling this MM_COMMUNICATE api invokes a MM service that is implemented in the -secure execution environment. The MM_COMM_DATA contains data to identify and -invoke the MM service. The readiness of this synchronous request from the non-secure -world is signaled by the MM_COMPLETE call from the secure world. +This service invokes an MM service implemented in the secure execution +environment. The `MM_COMM_DATA` contains data needed to identify and +invoke the MM service. The readiness of this synchronous request from +the non-secure world is signaled by the `MM_COMPLETE` call from the secure +world. [#table_mm_communicate_request_data] .Request Data @@ -181,22 +184,22 @@ world is signaled by the MM_COMPLETE call from the secure world. | 0 | MM_COMM_DATA_ADDR_LOW | uint32 -| Lower 32-bit of MM data's physical address from non-secure to secure world. +| Lower 32-bit of the MM data's physical address from non-secure to secure world. | 1 | MM_COMM_DATA_ADDR_HIGH | uint32 -| Upper 32-bit of MM data's physical address from non-secure to secure world. +| Upper 32-bit of the MM data's physical address from non-secure to secure world. | 2 | MM_COMM_DATA_SIZE_LOW | uint32 -| Lower 32-bit of MM data's length from non-secure to secure world. +| Lower 32-bit of the MM data's length from non-secure to secure world. | 3 | MM_COMM_DATA_SIZE_HIGH | uint32 -| Upper 32-bit of MM data's length from non-secure to secure world. +| Upper 32-bit of the MM data's length from non-secure to secure world. |=== [#table_mm_communicate_response_data] @@ -211,7 +214,7 @@ world is signaled by the MM_COMPLETE call from the secure world. | 0 | STATUS | int32 -| Status code return from MM service to non-secure world. +| Return error code [cols="4,5", options="header"] !=== @@ -231,10 +234,10 @@ world is signaled by the MM_COMPLETE call from the secure world. ==== Service: MM_COMPLETE (SERVICE_ID: 0x04) -Use this MM_COMPLETE as the “world-switch synchronous call” normally at the end -of a synchronous MM_COMMUNICATE call to signal the readiness for handling the -synchronous request. The MM_COMM_DATA contains the returned data of the MM -service invoked. +This service is used as the world-switch synchronous call, typically at the end +of a synchronous `MM_COMMUNICATE` call, to signal the readiness for handling +the synchronous request. The `MM_COMM_DATA` contains the returned data from the +invoked MM service. [#table_mm_complete_request_data] .Request Data @@ -248,7 +251,7 @@ service invoked. | 0 | STATUS | int32 -| Status code sent from MM service to non-secure world. +| Return error code [cols="4,5", options="header"] !=== @@ -277,20 +280,20 @@ service invoked. | 0 | MM_COMM_DATA_ADDR_LOW | uint32 -| Lower 32-bit of MM data's physical address from non-secure to secure world. +| Lower 32-bit of the MM data's physical address from non-secure to secure world. | 1 | MM_COMM_DATA_ADDR_HIGH | uint32 -| Upper 32-bit of MM data's physical address from non-secure to secure world. +| Upper 32-bit of the MM data's physical address from non-secure to secure world. | 2 | MM_COMM_DATA_SIZE_LOW | uint32 -| Lower 32-bit of MM data's length from non-secure to secure world. +| Lower 32-bit of the MM data's length from non-secure to secure world. | 3 | MM_COMM_DATA_SIZE_HIGH | uint32 -| Upper 32-bit of MM data's length from non-secure to secure world. +| Upper 32-bit of the MM data's length from non-secure to secure world. |=== From f970e9e6c4cbfe4f8626dbe19afdd978b34cd834 Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 18:31:42 +0800 Subject: [PATCH 04/11] devicepower: Improve Device Power chapter - Update power state table. - Move service group list to earlier. Signed-off-by: Ley Foon Tan --- src/srvgrp-device-power.adoc | 100 +++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 46 deletions(-) diff --git a/src/srvgrp-device-power.adoc b/src/srvgrp-device-power.adoc index 36e7915..7adf5c1 100644 --- a/src/srvgrp-device-power.adoc +++ b/src/srvgrp-device-power.adoc @@ -31,25 +31,62 @@ The DEVICE_POWER services take a 32-bit integer identifier known as `DOMAIN_ID` to specify the device power domain. These `DOMAIN_ID` identifiers are sequential and start from 0. +The following table lists the services in the DEVICE_POWER service group: + +[#table_devpower_services] +.DEVICE_POWER Services +[cols="1, 3, 2", width=100%, align="center", options="header"] +|=== +| Service ID +| Service Name +| Request Type + +| 0x01 +| DPWR_ENABLE_NOTIFICATION +| NORMAL_REQUEST + +| 0x02 +| DPWR_GET_NUM_DOMAINS +| NORMAL_REQUEST + +| 0x03 +| DPWR_GET_ATTRIBUTES +| NORMAL_REQUEST + +| 0x04 +| DPWR_SET_STATE +| NORMAL_REQUEST + +| 0x05 +| DPWR_GET_STATE +| NORMAL_REQUEST +|=== + +[#section-power-state] +Power State Format:: + +The power state is represented as a 32-bit value. The following table shows the +encoding for the power state. + [#table_devpower_powerstate_data] -.Power States Encoding +.Power State Encoding [cols="2, 1, 5a", width=100%, align="center", options="header"] |=== -| POWER_STATE -| Field +| Bit +| Name | Description -| POWER_STATE[31] +| [31] | CONTEX | 0b0: Context is preserved 0b1: Context is lost -| POWER_STATE[30:16] +| [30:16] | RESERVED | _Reserved_ and must be `0`. -| POWER_STATE[15:0] +| [15:0] | VALUE | [cols="2,5", options="header"] @@ -77,35 +114,6 @@ and start from 0. !=== |=== -[#table_devpower_services] -.DEVICE_POWER Services -[cols="1, 3, 2", width=100%, align="center", options="header"] -|=== -| Service ID -| Service Name -| Request Type - -| 0x01 -| DPWR_ENABLE_NOTIFICATION -| NORMAL_REQUEST - -| 0x02 -| DPWR_GET_NUM_DOMAINS -| NORMAL_REQUEST - -| 0x03 -| DPWR_GET_ATTRIBUTES -| NORMAL_REQUEST - -| 0x04 -| DPWR_SET_STATE -| NORMAL_REQUEST - -| 0x05 -| DPWR_GET_STATE -| NORMAL_REQUEST -|=== - [#device-power-notifications] ==== Notifications This service group does not support any event for notification. @@ -153,7 +161,7 @@ described in <>. ! Description ! RPMI_SUCCESS -! Notification is subscribed successfully. +! Event is subscribed successfully. ! RPMI_ERR_INVALID_PARAM ! `EVENT_ID` is invalid. @@ -166,8 +174,8 @@ described in <>. ==== Service: DPWR_GET_NUM_DOMAINS (SERVICE_ID: 0x02) This service is used to query the number of device power domains available which -can be controlled by the client. The number of domains returned can be less than -the actual number of domains present with the platform. +can be controlled by the client. The number of domains returned may be less than +the actual number of domains present on the platform. [#table_devpower_getdomains_request_data] .Request Data @@ -213,7 +221,7 @@ This service is used to query the attributes of a device power domain. [#table_devpower_getattrs_request_data] .Request Data -[cols="1, 4, 1, 6", width=100%, align="center", options="header"] +[cols="1, 3, 1, 6", width=100%, align="center", options="header"] |=== | Word | Name @@ -228,7 +236,7 @@ This service is used to query the attributes of a device power domain. [#table_devpower_getattrs_response_data] .Response Data -[cols="1, 4, 2, 6a", width=100%, align="center", options="header"] +[cols="1, 3, 2, 6a", width=100%, align="center", options="header"] |=== | Word | Name @@ -240,7 +248,7 @@ This service is used to query the attributes of a device power domain. | int32 | Return error code -[cols="7,5", options="header"] +[cols="8,5", options="header"] !=== ! Error Code ! Description @@ -259,7 +267,7 @@ This service is used to query the attributes of a device power domain. | _Reserved_ and must be `0`. | 2 -| TRANSITION_LATENCY +| TRANS_LATENCY | uint32 | Worst case transition latency of domain from one power state to another, in microseconds (us). @@ -293,8 +301,8 @@ This service is used to change the power state of a device power domain. | This field indicates the power state to which the power domain should transition. The specific power states and their meanings may vary depending on the implementation, but generally, they include values such as "ON", "OFF" -and vendor specific power state. See Power States description in the -<>. +and vendor specific power state. See <> +for more details. |=== [#table_devpower_setstate_response_data] @@ -384,6 +392,6 @@ This service is used to get the current power state of a device power domain. | uint32 | This field indicates the current power state of the specified domain. The power state can be one of several predefined values, such as ON, OFF, or vendor -specific implementation. See Power States description in the -<>. +specific implementation. See <> +for more details. |=== From 5f10382303507c433544539c5e2e4e702ecc4391 Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 19:30:11 +0800 Subject: [PATCH 05/11] perf: Create sub-section for performance level Signed-off-by: Ley Foon Tan --- src/srvgrp-performance.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/srvgrp-performance.adoc b/src/srvgrp-performance.adoc index b7ac2c0..3fb5358 100644 --- a/src/srvgrp-performance.adoc +++ b/src/srvgrp-performance.adoc @@ -51,8 +51,8 @@ The following table lists the services in the PERFORMANCE service group: | 0x09 | PERF_GET_FAST_CHANNEL_ATTRIBUTES | NORMAL_REQUEST |=== - -*Performance Level Structure*:: +[#section-perf-level] +==== Performance Level The following table shows the structure of a single performance level. @@ -528,7 +528,7 @@ levels. | 4 | LEVEL[N] | uint32[3] -| List of performance levels. Refer to <> for the +| List of performance levels. Refer to <> for the structure of performance level. |=== From 2f5c94bd676e1fa75b000b46a4d6c34ccee7a971 Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 19:32:59 +0800 Subject: [PATCH 06/11] device power: Create sub-section for power state format Signed-off-by: Ley Foon Tan --- src/srvgrp-device-power.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/srvgrp-device-power.adoc b/src/srvgrp-device-power.adoc index 7adf5c1..62e8f85 100644 --- a/src/srvgrp-device-power.adoc +++ b/src/srvgrp-device-power.adoc @@ -63,7 +63,7 @@ The following table lists the services in the DEVICE_POWER service group: |=== [#section-power-state] -Power State Format:: +==== Power State Format The power state is represented as a 32-bit value. The following table shows the encoding for the power state. @@ -301,7 +301,7 @@ This service is used to change the power state of a device power domain. | This field indicates the power state to which the power domain should transition. The specific power states and their meanings may vary depending on the implementation, but generally, they include values such as "ON", "OFF" -and vendor specific power state. See <> +and vendor specific power state. See <> for more details. |=== @@ -392,6 +392,6 @@ This service is used to get the current power state of a device power domain. | uint32 | This field indicates the current power state of the specified domain. The power state can be one of several predefined values, such as ON, OFF, or vendor -specific implementation. See <> +specific implementation. See <> for more details. |=== From 0c83ec1d5909ea4f55d3af70414a9477abdcf1ac Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 21:41:12 +0800 Subject: [PATCH 07/11] clock: Create sub-section for clock rate format Signed-off-by: Ley Foon Tan --- src/srvgrp-clock.adoc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/srvgrp-clock.adoc b/src/srvgrp-clock.adoc index 9634de4..87069f0 100644 --- a/src/srvgrp-clock.adoc +++ b/src/srvgrp-clock.adoc @@ -70,14 +70,12 @@ The following table lists the services in the CLOCK service group: | NORMAL_REQUEST |=== -Clock Rate Representation:: +[#clock-rate-format-section] +==== Clock Rate Format Each clock rate is a array of two 32-bit values `(uint32, uint32)` represented as `(clock_rate_low, clock_rate_high)` and packed in the same order where `clock_rate_low` is at the lower index than the `clock_rate_high`. -[#clock-rate-format-section] -Clock Rate Format:: - * Discrete Clock Format The following table shows the structure of the Discrete clock format. @@ -302,7 +300,7 @@ the future, as needed. ! [31:30] ! CLOCK_FORMAT -Refer to <> for more details. +Refer to <> for more details. ---- 0b00: Discrete Format 0b01: Linear Range @@ -419,7 +417,7 @@ RETURNED field will be set to `3`. | uint32[2] | Clock rate. -Refer to <> for more details. +Refer to <> for more details. |=== ==== Service: CLK_SET_CONFIG (SERVICE_ID: 0x05) From f1252b8fa45fa2aeed2cb61a2f5879936bb89845 Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 21:57:57 +0800 Subject: [PATCH 08/11] Update notification error code description Signed-off-by: Ley Foon Tan --- src/srvgrp-base.adoc | 4 ++-- src/srvgrp-system-reset.adoc | 2 +- src/srvgrp-system-suspend.adoc | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/srvgrp-base.adoc b/src/srvgrp-base.adoc index 0c5109d..8cbd34a 100644 --- a/src/srvgrp-base.adoc +++ b/src/srvgrp-base.adoc @@ -142,13 +142,13 @@ in table <>. ! Description ! RPMI_SUCCESS -! Notifications are subscribed successfully. +! Event is subscribed successfully. ! RPMI_ERR_INVALID_PARAM ! `EVENT_ID` is invalid. ! RPMI_ERR_NOT_SUPPORTED -! Notifications not supported. +! Notification is not supported. !=== - Other errors <> |=== diff --git a/src/srvgrp-system-reset.adoc b/src/srvgrp-system-reset.adoc index 61a82dc..641026b 100644 --- a/src/srvgrp-system-reset.adoc +++ b/src/srvgrp-system-reset.adoc @@ -106,7 +106,7 @@ to them. Supported events are described in <>. ! `EVENT_ID` is invalid. ! RPMI_ERR_NOT_SUPPORTED -! Notifications are not supported. +! Notification is not supported. !=== - Other errors <> |=== diff --git a/src/srvgrp-system-suspend.adoc b/src/srvgrp-system-suspend.adoc index 523f109..25e0e74 100644 --- a/src/srvgrp-system-suspend.adoc +++ b/src/srvgrp-system-suspend.adoc @@ -93,13 +93,13 @@ to them. Supported events are described in <>. ! Description ! RPMI_SUCCESS -! Notifications are subscribed successfully. +! Event is subscribed successfully. ! RPMI_ERR_INVALID_PARAM ! `EVENT_ID` is invalid. ! RPMI_ERR_NOT_SUPPORTED -! Notifications not supported. +! Notification is not supported. !=== - Other errors <> |=== From 82b78b71b9ea9788e4dbabee9773b5b38310e60e Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 22:02:10 +0800 Subject: [PATCH 09/11] message: Add full-stop for error code descriptions Signed-off-by: Ley Foon Tan --- src/message-protocol.adoc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/message-protocol.adoc b/src/message-protocol.adoc index f3bf147..2b3c92d 100644 --- a/src/message-protocol.adoc +++ b/src/message-protocol.adoc @@ -291,7 +291,7 @@ condition. | RPMI_SUCCESS | 0 -| Service has been completed successfully +| Service has been completed successfully. | RPMI_ERR_FAILED | -1 @@ -299,11 +299,11 @@ condition. | RPMI_ERR_NOT_SUPPORTED | -2 -| Service or feature not supported +| Service or feature is not supported. | RPMI_ERR_INVALID_PARAM | -3 -| One or more parameters passed are invalid +| One or more parameters passed are invalid. | RPMI_ERR_DENIED | -4 @@ -334,20 +334,20 @@ violates the extension specification or the extension version mismatch. | RPMI_ERR_INVALID_STATE | -10 -| Invalid state +| Invalid state. | RPMI_ERR_BAD_RANGE | -11 -| Index out of range +| Index out of range. | RPMI_ERR_TIMEOUT | -12 -| Failed due to timeout +| Failed due to timeout. | RPMI_ERR_IO | -13 | Input/Output error. -| | -14 to -127 | _Reserved_ -| | < -127 | _Vendor specific_ +| | -14 to -127 | _Reserved_. +| | < -127 | _Vendor specific_. |=== From 88e8eb5d6b1c9fb69b67b002c72dcf7548569f5d Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 23:12:42 +0800 Subject: [PATCH 10/11] Minor fix on some grammar Signed-off-by: Ley Foon Tan --- src/message-protocol.adoc | 2 +- src/service-groups.adoc | 12 ++++++------ src/srvgrp-base.adoc | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/message-protocol.adoc b/src/message-protocol.adoc index 2b3c92d..07e95b7 100644 --- a/src/message-protocol.adoc +++ b/src/message-protocol.adoc @@ -13,7 +13,7 @@ endif::rootpath[] The RPMI protocol defines the message format and different messages for system management and control tasks. A message is called a Service if its designated to perform a specific task. Multiple similar services are grouped -logically into a Service Group like Clock, Voltage, Perf Management, etc. +logically into a Service Group like Clock, Voltage, Performance, etc. A service call results in a request message being sent on a transport channel from the application processor to the platform microcontroller or vice-versa. If the request has an associated response, the platform diff --git a/src/service-groups.adoc b/src/service-groups.adoc index 94f690c..e8117ed 100644 --- a/src/service-groups.adoc +++ b/src/service-groups.adoc @@ -19,15 +19,15 @@ provision to add more service groups as required in the future. The service group ID namespace also provides a means to platform vendors to add their implementation-specific service groups. -All service groups except the `BASE` service group are optional. If a service +All service groups except the BASE service group are optional. If a service group is implemented, it must implement all its services except a dedicated -notification service (SERVICE_ID: 0x00) meant to deliver events. +notification service (`SERVICE_ID: 0x00`) meant to deliver events. A service group must not implement defined services partially unless it also defines a mechanism to discover its implemented services. If a service group defines events then it must also implement notification -service (SERVICE_ID: 0x00). +service (`SERVICE_ID: 0x00`). -The following table lists the service group +The following table lists the service groups. [#table_service_groups] .RPMI Service Groups @@ -45,8 +45,8 @@ The following table lists the service group | 0x0009 | PERFORMANCE | 0x000A | MANAGEMENT_MODE | 0x000B | RAS_AGENT -| 0x000C - 0x7FFF | _Reserved for Future Use_ -| 0x8000 - 0xFFFF | _Implementation Specific Service Groups_ +| 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. Additionally, the sequence in which services are defined in the specification diff --git a/src/srvgrp-base.adoc b/src/srvgrp-base.adoc index 8cbd34a..e7f9293 100644 --- a/src/srvgrp-base.adoc +++ b/src/srvgrp-base.adoc @@ -81,7 +81,7 @@ The below table lists the services in this group: This service is used by the platform microcontroller to send the asynchronous message of type notification to the application processor. The message transfers the events defined by this service group. The events defined are -listed in the below table. +listed in the table below. [#table_base_srvgroup_events] .BASE Service Group Events From 03a91c6852267a70c7d1ea74a94d1504ad673629 Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Fri, 6 Sep 2024 23:13:26 +0800 Subject: [PATCH 11/11] Add cross reference link for reset type and suspend type Signed-off-by: Ley Foon Tan --- src/srvgrp-system-reset.adoc | 5 +++-- src/srvgrp-system-suspend.adoc | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/srvgrp-system-reset.adoc b/src/srvgrp-system-reset.adoc index 641026b..91b7900 100644 --- a/src/srvgrp-system-reset.adoc +++ b/src/srvgrp-system-reset.adoc @@ -49,6 +49,7 @@ Below table lists the services in this group: | POSTED_REQUEST |=== +[#section-reset-types] ==== Reset Types RPMI supports reset types and their values as defined by SBI specification. Refer to https://github.com/riscv-non-isa/riscv-sbi-doc/blob/master/src/ext-sys-reset.adoc#table_srst_system_reset_types[*SRST System Reset Types*^] @@ -129,7 +130,7 @@ default. System Warm Reset support can be discovered with this service. | 0 | RESET_TYPE | uint32 -| Reset type +| Reset type. See <> for more details. |=== [#table_sysreset_getsysresetattrs_response_data] @@ -200,7 +201,7 @@ invalid state may result in the system entering a non-functional state. | 0 | RESET_TYPE | uint32 -| Reset type +| Reset type. See <> for more details. |=== diff --git a/src/srvgrp-system-suspend.adoc b/src/srvgrp-system-suspend.adoc index 25e0e74..3c51651 100644 --- a/src/srvgrp-system-suspend.adoc +++ b/src/srvgrp-system-suspend.adoc @@ -40,6 +40,7 @@ Below if the list of services in this group: | NORMAL_REQUEST |=== +[#section-suspend-types] ==== Suspend Types RPMI supports suspend types and their values as defined by SBI specification. @@ -121,7 +122,7 @@ if a `SUSPEND_TYPE` supports resume address. | 0 | SUSPEND_TYPE | uint32 -| Suspend type +| Suspend type. See <> for more details. |=== [#table_syssuspend_getsysuspendattrs_response_data] @@ -214,7 +215,7 @@ after the `WFI` instruction. | 1 | SUSPEND_TYPE | uint32 -| Suspend type +| Suspend type. See <> for more details. | 2 | RESUME_ADDR_LOW