Skip to content

Commit

Permalink
srvgrp: Add prefix to all services
Browse files Browse the repository at this point in the history
Add prefix to all services to easily differentiate
similar service name from different service group.

Signed-off-by: Joshua Yeong <[email protected]>
  • Loading branch information
Joshua Yeong committed Apr 17, 2024
1 parent fa71016 commit ac8726e
Show file tree
Hide file tree
Showing 10 changed files with 149 additions and 149 deletions.
34 changes: 17 additions & 17 deletions src/srvgrp-base.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,15 @@ Below table lists the services in this group:
.Base Services
[cols="1, 3, 2", width=100%, align="center", options="header"]
|===
| Service ID | Service Name | Request Type
| 0x01 | ENABLE_NOTIFICATION | NORMAL_REQUEST
| 0x02 | GET_IMPLEMENTATION_VERSION | NORMAL_REQUEST
| 0x03 | GET_IMPLEMENTATION_ID | NORMAL_REQUEST
| 0x04 | GET_SPEC_VERSION | NORMAL_REQUEST
| 0x05 | GET_HW_INFO | NORMAL_REQUEST
| 0x06 | PROBE_SERVICE_GROUP | NORMAL_REQUEST
| 0x07 | GET_BASE_ATTRIBUTES | NORMAL_REQUEST
| 0x08 | SET_MSI | NORMAL_REQUEST
| Service ID | Service Name | Request Type
| 0x01 | BASE_ENABLE_NOTIFICATION | NORMAL_REQUEST
| 0x02 | BASE_GET_IMPLEMENTATION_VERSION | NORMAL_REQUEST
| 0x03 | BASE_GET_IMPLEMENTATION_ID | NORMAL_REQUEST
| 0x04 | BASE_GET_SPEC_VERSION | NORMAL_REQUEST
| 0x05 | BASE_GET_HW_INFO | NORMAL_REQUEST
| 0x06 | BASE_PROBE_SERVICE_GROUP | NORMAL_REQUEST
| 0x07 | BASE_GET_BASE_ATTRIBUTES | NORMAL_REQUEST
| 0x08 | BASE_SET_MSI | NORMAL_REQUEST
|===

==== Base Notifications
Expand All @@ -77,7 +77,7 @@ this event may send the list of messages which the Platform Microcontroller was
notification
|===

==== Service: *ENABLE_NOTIFICATION*
==== Service: *BASE_ENABLE_NOTIFICATION*
This service allows AP to subscribe to Base service group notifications. +
Platform can optionally support notifications of errors which might occur in the platform. PuC can send these notification messages to AP if they are implemented
and AP has subscribed to these. Events supported are described above in Base Notifications.
Expand Down Expand Up @@ -106,7 +106,7 @@ notification.
- Other errors <<table_error_codes>>
|===

==== Service: *GET_IMPLEMENTATION_VERSION*
==== Service: *BASE_GET_IMPLEMENTATION_VERSION*
Get the implementation version of the message framework from Platform Microcontroller. Versioning is also done for the spec but it's possible that for a single version of spec there may be multiple implementation versions and based on that any lowest supported implementation version can be mandated to ensure the stability and support. Version returned using this service is a 32 bits composite number which contains both Major and Minor numbers.

[#table_base_getimplversion_request_data]
Expand Down Expand Up @@ -134,7 +134,7 @@ Get the implementation version of the message framework from Platform Microcontr
!===
|===

==== Service: *GET_IMPLEMENTATION_ID*
==== Service: *BASE_GET_IMPLEMENTATION_ID*
Get the RPMI Implementation ID assigned to the Operating system or Firmware or any other software host which implements the RPMI specification.
[#table_base_getimplid_request_data]
.Request Data
Expand All @@ -155,7 +155,7 @@ Get the RPMI Implementation ID assigned to the Operating system or Firmware or a
| 1 | IMPL_ID | uint32 | Implementation ID
|===

==== Service: *GET_SPEC_VERSION*
==== Service: *BASE_GET_SPEC_VERSION*
Get version of the implemented RPMI specification
[#table_base_getspecversion_request_data]
.Request Data
Expand All @@ -182,7 +182,7 @@ Get version of the implemented RPMI specification
!===
|===

==== Service: *GET_HW_INFO*
==== Service: *BASE_GET_HW_INFO*
This service is used to retrieve the Vendor ID and Name of the Vendor having an
RPMI implementation on PuC. Each vendor will be assigned a unique Vendor ID.
[#table_base_gethwinfo_request_data]
Expand Down Expand Up @@ -223,7 +223,7 @@ RPMI implementation on PuC. Each vendor will be assigned a unique Vendor ID.
hardware.
|===

==== Service: *PROBE_SERVICE_GROUP*
==== Service: *BASE_PROBE_SERVICE_GROUP*
Probe the implementation of any service group by its service group id. Except
BASE, rest of the service groups are optional but if a service group is
implemented then it has to be implemented completely with all services in that group. The notifications in that service group are still optional which will be implemented by the PuC.
Expand Down Expand Up @@ -258,7 +258,7 @@ implemented then it has to be implemented completely with all services in that g
1: Service group implemented by platform.
|===

==== Service: *GET_BASE_ATTRIBUTES*
==== Service: *BASE_GET_BASE_ATTRIBUTES*
This service is used to discover additional features supported by the base service group.
[#table_base_getbaseattrs_request_data]
.Request Data
Expand Down Expand Up @@ -296,7 +296,7 @@ This service is used to discover additional features supported by the base servi
| 4 | FLAGS3 | uint32 | _Reserved, initialized to_ `0`
|===

==== Service: *SET_MSI*
==== Service: *BASE_SET_MSI*
Configure the MSI address and data which the Platform Microcontroller can use as a doorbell to AP.

The PuC to AP MSI can be used for both sending MSI or injecting wired interrupts. If the MSI target address is IMSIC then AP will take MSI whereas if the MSI target address is "setipnum" of APLIC then AP will take wired interrupt.
Expand Down
34 changes: 17 additions & 17 deletions src/srvgrp-clock.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,21 @@ Below table lists the services in this group:
.Clock Services
[cols="1, 3, 2", width=100%, align="center", options="header"]
|===
| Service ID | Service Name | Request Type
| 0x01 | ENABLE_NOTIFICATION | NORMAL_REQUEST
| 0x02 | GET_NUM_CLOCKS | NORMAL_REQUEST
| 0x03 | GET_ATTRIBUTES | NORMAL_REQUEST
| 0x04 | GET_SUPPORTED_RATES | NORMAL_REQUEST
| 0x05 | SET_CONFIG | NORMAL_REQUEST
| 0x06 | GET_CONFIG | NORMAL_REQUEST
| 0x07 | SET_RATE | NORMAL_REQUEST
| 0x08 | GET_RATE | NORMAL_REQUEST
| Service ID | Service Name | Request Type
| 0x01 | CLK_ENABLE_NOTIFICATION | NORMAL_REQUEST
| 0x02 | CLK_GET_NUM_CLOCKS | NORMAL_REQUEST
| 0x03 | CLK_GET_ATTRIBUTES | NORMAL_REQUEST
| 0x04 | CLK_GET_SUPPORTED_RATES | NORMAL_REQUEST
| 0x05 | CLK_SET_CONFIG | NORMAL_REQUEST
| 0x06 | CLK_GET_CONFIG | NORMAL_REQUEST
| 0x07 | CLK_SET_RATE | NORMAL_REQUEST
| 0x08 | CLK_GET_RATE | NORMAL_REQUEST
|===

==== Clock Notifications
This service group does not support any event for notification

==== Service: *ENABLE_NOTIFICATION*
==== Service: *CLK_ENABLE_NOTIFICATION*
This service allows the AP to subscribe to clock service group notifications.
The platform can optionally support notifications of events which might occur in
the platform. The PuC can send these notification messages to AP if they are
Expand Down Expand Up @@ -72,7 +72,7 @@ notification.
- Other errors <<table_error_codes>>
|===

==== Service: *GET_NUM_CLOCKS*
==== Service: *CLK_GET_NUM_CLOCKS*
This service is used to query the number of clocks available in the system.
All supported clocks in the system are designated by an integer identifier
called CLOCK_ID. CLOCK_ID are sequential starting from `0`.
Expand All @@ -96,7 +96,7 @@ called CLOCK_ID. CLOCK_ID are sequential starting from `0`.
| 1 | NUM_CLOCKS | uint32 | Number of Clocks
|===

==== Service: *GET_ATTRIBUTES*
==== Service: *CLK_GET_ATTRIBUTES*
This service provides detailed attributes of a clock, including its name,
represented as a 16-byte array of ASCII strings. It also specifies the
transition latency, which denotes the maximum time for the clock to stabilize
Expand Down Expand Up @@ -152,7 +152,7 @@ the future, as needed.
| 4:7 | CLOCK_NAME | uint8[16] | Clock name
|===

==== Service: *GET_SUPPORTED_RATES*
==== Service: *CLK_GET_SUPPORTED_RATES*
Each domain may support multiple clock rate values which are allowed by the
domain to operate. Message can also pass the `CLOCK_RATE_INDEX` which is the index
to the first rate value to be described in the return rate array. If all
Expand Down Expand Up @@ -204,7 +204,7 @@ In case the CLOCK_FORMAT is a linear range the RETURNED field will be set to `3`
| ... | CLOCK_RATE[N-1] | (uint32, uint32) | Clock rate value.
|===

==== Service: *SET_CONFIG*
==== Service: *CLK_SET_CONFIG*
Set clock config, enable or disable the clock.

[#table_clock_setconfig_request_data]
Expand Down Expand Up @@ -243,7 +243,7 @@ Set clock config, enable or disable the clock.
|===


==== Service: *GET_CONFIG*
==== Service: *CLK_GET_CONFIG*
Get the current status of a clock, if it's enabled or disabled.

[#table_clock_getconfig_request_data]
Expand Down Expand Up @@ -276,7 +276,7 @@ Get the current status of a clock, if it's enabled or disabled.
!===
|===

==== Service: *SET_RATE*
==== Service: *CLK_SET_RATE*
Set clock rate.

[#table_clock_setrate_request_data]
Expand Down Expand Up @@ -320,7 +320,7 @@ Set clock rate.
- Other errors <<table_error_codes>>
|===

==== Service: *GET_RATE*
==== Service: *CLK_GET_RATE*
Get the current clock rate value.

[#table_clock_getrate_request_data]
Expand Down
38 changes: 19 additions & 19 deletions src/srvgrp-cppc.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,34 +16,34 @@ CPPC Fast-channel REQ-ACK Memory Entry per Hart:
.CPPC Fast-Channel Memory Entry
[cols="1, 3, 2", width=100%, align="center", options="header"]
|===
| Word | Description | Entity which writes the word
| Word | Description | Entity which writes the word
| 0 | Request Sequence Number Register | AP
| 1 | Request Register | AP
| 2 | Acknowledgement Register | PuC
| 3 | Reserved | None
| 1 | Request Register | AP
| 2 | Acknowledgement Register | PuC
| 3 | Reserved | None
|===

Below table lists the services in this group:
[#table_cppc_services]
.CPPC Services
[cols="1, 3, 2", width=100%, align="center", options="header"]
|===
| Service ID | Service Name | Request Type
| 0x01 | ENABLE_NOTIFICATION | NORMAL_REQUEST
| 0x02 | PROBE_REG | NORMAL_REQUEST
| 0x03 | READ_REG | NORMAL_REQUEST
| 0x04 | WRITE_REG | NORMAL_REQUEST
| 0x05 | GET_FAST_CHANNEL_ATTRIBUTES | NORMAL_REQUEST
| 0x06 | POKE_FAST_CHANNEL | NORMAL_REQUEST
| 0x07 | GET_HART_LIST | NORMAL_REQUEST
| Service ID | Service Name | Request Type
| 0x01 | CPPC_ENABLE_NOTIFICATION | NORMAL_REQUEST
| 0x02 | CPPC_PROBE_REG | NORMAL_REQUEST
| 0x03 | CPPC_READ_REG | NORMAL_REQUEST
| 0x04 | CPPC_WRITE_REG | NORMAL_REQUEST
| 0x05 | CPPC_GET_FAST_CHANNEL_ATTRIBUTES | NORMAL_REQUEST
| 0x06 | CPPC_POKE_FAST_CHANNEL | NORMAL_REQUEST
| 0x07 | CPPC_GET_HART_LIST | NORMAL_REQUEST
|===

==== CPPC Notifications
This service group does not support any event for notification.



==== Service: *ENABLE_NOTIFICATION*
==== Service: *CPPC_ENABLE_NOTIFICATION*
This service allows AP to subscribe to CPPC service group notifications.
Platform can optionally support notifications of events which might occur in the platform. PuC can send these notification messages to AP if they are implemented
and AP has subscribed to these. Events supported are described above in CPPC Notifications.
Expand Down Expand Up @@ -75,7 +75,7 @@ notification.



==== Service: *PROBE_REG*
==== Service: *CPPC_PROBE_REG*
Probe for CPPC register and get its length in bytes. If the register is not
implemented, REG_LENGTH returned will be zero.

Expand Down Expand Up @@ -107,7 +107,7 @@ https://github.com/riscv-non-isa/riscv-sbi-doc/blob/master/src/ext-cppc.adoc[SBI



==== Service: *READ_REG*
==== Service: *CPPC_READ_REG*
Read CPPC register value

[#table_cppc_readreg_request_data]
Expand Down Expand Up @@ -141,7 +141,7 @@ probe the REG_ID before reading.



==== Service: *WRITE_REG*
==== Service: *CPPC_WRITE_REG*
Write a CPPC register

[#table_cppc_writereg_request_data]
Expand Down Expand Up @@ -175,7 +175,7 @@ probe the REG_ID before reading.



==== Service: *GET_FAST_CHANNEL_ATTRIBUTES*
==== Service: *CPPC_GET_FAST_CHANNEL_ATTRIBUTES*
This request retrieves attributes of the Fast-channel for a specified hart ID.
The physical address from this request shall be used to write the value of the https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/08_Processor_Configuration_and_Control/declaring-processors.html?highlight=desired-performance-register#desired-performance-register[CPPC Desired
Performance Register].
Expand Down Expand Up @@ -228,7 +228,7 @@ Performance Register].



==== Service: *POKE_FAST_CHANNEL*
==== Service: *CPPC_POKE_FAST_CHANNEL*
Debug request message to poke the PuC FW to process the pending CPPC messages if
any.

Expand All @@ -253,7 +253,7 @@ any.



==== Service: *GET_HART_LIST*
==== Service: *CPPC_GET_HART_LIST*
This service gets the list of a hart with a specified hart ID start index.

[#table_cppc_gethartlist_request_data]
Expand Down
22 changes: 11 additions & 11 deletions src/srvgrp-device-power.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,18 @@ corresponding to that state.
.Device Power Services
[cols="1, 3, 2", width=100%, align="center", options="header"]
|===
| Service ID | Service Name | Request Type
| 0x01 | ENABLE_NOTIFICATION | NORMAL_REQUEST
| 0x02 | GET_NUM_DOMAINS | NORMAL_REQUEST
| 0x03 | GET_DOMAIN_ATTRIBUTES | NORMAL_REQUEST
| 0x04 | SET_DOMAIN_STATE | NORMAL_REQUEST
| 0x05 | GET_DOMAIN_STATE | NORMAL_REQUEST
| 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
This service group does not support any event for notification.

==== Service: *ENABLE_NOTIFICATION*
==== Service: *DPWR_ENABLE_NOTIFICATION*
This service allows the AP to subscribe to Device Power service group notifications.
The platform can optionally support notifications of events that may occur in the platform.
The PuC can send these notification messages to the AP if they are implemented
Expand Down Expand Up @@ -87,7 +87,7 @@ notification.
- Other errors <<table_error_codes>>
|===

==== Service: *GET_NUM_DOMAINS*
==== Service: *DPWR_GET_NUM_DOMAINS*
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.
Expand All @@ -112,7 +112,7 @@ the actual number of domains present with the platform.
|===


==== Service: *GET_DOMAIN_ATTRIBUTES*
==== Service: *DPWR_GET_ATTRIBUTES*
This service is used to query the attributes of a device power domain.

[#table_devpower_getattrs_request_data]
Expand Down Expand Up @@ -144,7 +144,7 @@ name, a NULL-terminated ASCII string up to 16-bytes.
|===


==== Service: *SET_DOMAIN_STATE*
==== Service: *DPWR_SET_STATE*
This service is used to change the power state of a device power domain.

[#table_devpower_setstate_request_data]
Expand Down Expand Up @@ -177,7 +177,7 @@ See Power States description in the <<table_devpower_powerstate_data>>.
- Other errors <<table_error_codes>>
|===

==== Service: *GET_DOMAIN_STATE*
==== Service: *DPWR_GET_STATE*
This service is used to get the current power state of a device power domain.

[#table_devpower_getstate_request_data]
Expand Down
Loading

0 comments on commit ac8726e

Please sign in to comment.