Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes across specification in the post ARC review spec #77

Merged
merged 11 commits into from
Nov 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/intro.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ only by that RISC-V privilege level.
types of RPMI messages and the format for each RPMI message type.

*RPMI Service Groups*: The services provided by the platform microcontrollers
to the application processors are grouped based functionality into RPMI service
groups. Each RPMI service group specifies the RISC-V privilege levels from which
the application processor can be access it. Platform vendors can implement
custom RPMI service groups.
to the application processors are grouped into RPMI service groups based on
functionality. Each RPMI service group specifies the RISC-V privilege levels
from which the application processor can access it. Platform vendors can
implement custom RPMI service groups.

*RPMI Client*: An RPMI client is a software or a driver running on the
application processor which is capable of sending and receiving RPMI messages.
Expand Down
2 changes: 1 addition & 1 deletion src/message-protocol.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ specification or the extension version mismatch.

| RPMI_ERR_BAD_RANGE
| -11
| Index out of range.
| Bad or invalid range.

| RPMI_ERR_TIMEOUT
| -12
Expand Down
2 changes: 1 addition & 1 deletion src/srvgrp-base.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The following table lists the services in the BASE service group:
| NORMAL_REQUEST

| 0x05
| BASE_GET_HW_INFO
| BASE_GET_PLATFORM_INFO
| NORMAL_REQUEST

| 0x06
Expand Down
20 changes: 10 additions & 10 deletions src/srvgrp-clock.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ described in <<clock-notifications>>.
==== Service: CLK_GET_NUM_CLOCKS (SERVICE_ID: 0x02)
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`.
called `CLOCK_ID`.

[#table_clock_getnumclocks_request_data]
.Request Data
Expand Down Expand Up @@ -393,10 +393,7 @@ to get all the clock rates. In case the `CLOCK_FORMAT` is a linear range the
! Service completed successfully.

! RPMI_ERR_INVALID_PARAM
! `CLOCK_ID` is invalid.

! RPMI_ERR_BAD_RANGE
! `CLOCK_RATE_INDEX` is not in valid range.
! `CLOCK_ID` or `CLOCK_RATE_INDEX` is invalid.

!===
- Other errors <<table_error_codes>>
Expand Down Expand Up @@ -579,16 +576,19 @@ This service is used to set the clock rate of a specific clock.
! Bits
! Description

! [31:30] ! Clock rate round up/round down
! [31:2]
! _Reserved_ and must be `0`.

! [1:0]
! Clock rate rounding mode
----
0b00: Round down
0b01: Round up
0b10: Auto
0b11: Reserved
Platform autonomously choose rate closest to the requested rate.
----

! [29:0] ! _Reserved_ and must be `0`.
In Auto mode the platform can autonomously chooses a supported rate closest to the requested rate.
----
!===

| 2
Expand Down Expand Up @@ -625,7 +625,7 @@ Platform autonomously choose rate closest to the requested rate.
! Service completed successfully.

! RPMI_ERR_INVALID_PARAM
! `CLOCK_ID` or clock rate is invalid.
! `CLOCK_ID` or clock rate is invalid or the flags passed are invalid or reserved.

!===
- Other errors <<table_error_codes>>
Expand Down
4 changes: 2 additions & 2 deletions src/srvgrp-cppc.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -693,8 +693,8 @@ may need to call this service again with the appropriate `START_INDEX` until the
! RPMI_SUCCESS
! Service completed successfully.

! RPMI_ERR_BAD_RANGE
! `START_INDEX` is not in valid range.
! RPMI_ERR_INVALID_PARAM
! `START_INDEX` is invalid.
!===
- Other errors <<table_error_codes>>

Expand Down
17 changes: 9 additions & 8 deletions src/srvgrp-hart-state-management.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -241,8 +241,8 @@ may need to call this service again with the appropriate `START_INDEX` until the
! RPMI_SUCCESS
! Service completed successfully.

! RPMI_ERR_BAD_RANGE
! `START_INDEX` is not in valid range.
! RPMI_ERR_INVALID_PARAM
! `START_INDEX` is invalid.
!===
- Other errors <<table_error_codes>>

Expand Down Expand Up @@ -314,8 +314,8 @@ items.
! RPMI_SUCCESS
! Service completed successfully.

! RPMI_ERR_BAD_RANGE
! `START_INDEX` is not in valid range.
! RPMI_ERR_INVALID_PARAM
! `START_INDEX` is invalid.
!===
- Other errors <<table_error_codes>>

Expand Down Expand Up @@ -392,9 +392,10 @@ This service is used to get the attributes of a suspend type.
! _Reserved_, must be initialized to `0`.

! [0]
!
0b0: Counter does not stop if this bit is cleared.
0b1: Local timer stops when the hart is suspended if this bit is set.
! Local timer running status

0b1: Local timer stops when the hart is suspended.
0b0: Local timer does not stop when hart is suspended.
!===
| 2
| ENTRY_LATENCY
Expand Down Expand Up @@ -620,4 +621,4 @@ _Only used for non-retentive suspend types._
! `HART_ID` or `SUSPEND_TYPE` is invalid.
!===
- Other errors <<table_error_codes>>
|===
|===
31 changes: 23 additions & 8 deletions src/srvgrp-system-reset.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,6 @@ default. System Warm Reset support can be discovered with this service.
! RPMI_SUCCESS
! Attributes returned successfully.

! RPMI_ERR_INVALID_PARAM
! `RESET_TYPE` is invalid.

!===
- Other errors <<table_error_codes>>

Expand Down Expand Up @@ -187,8 +184,8 @@ default. System Warm Reset support can be discovered with this service.
This service is used to initiate the system reset or system shutdown.
The application processor must only request supported reset types, discovered
using the `SYSRST_GET_ATTRIBUTES` service except for System Shutdown and System
Cold Reset which are supported by default. Requesting an unsupported or
invalid reset type may result in the system entering a non-functional state.
Cold Reset which are supported by default. This service does not return response
message in case of successful reset.

[#table_sysreset_sysreset_request_data]
.Request Data
Expand All @@ -208,7 +205,25 @@ invalid reset type may result in the system entering a non-functional state.

[#table_sysreset_sysreset_response_data]
.Response Data
[cols="1", width=100%, align="center", options="header"]
|===
| NA
[cols="1, 2, 1, 7a", width=100%, align="center", options="header"]
|===
| Word
| Name
| Type
| Description

| 0
| STATUS
| int32
| Return error code

[cols="5,5a", options="header"]
!===
! Error Code
! Description

! RPMI_ERR_INVALID_PARAM
! `RESET_TYPE` is not supported or invalid.
!===
- Other errors <<table_error_codes>>
|===
8 changes: 4 additions & 4 deletions src/srvgrp-system-suspend.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,6 @@ a resume address.

! RPMI_SUCCESS
! Attributes returned successfully.

! RPMI_ERR_INVALID_PARAM
! `SUSPEND_TYPE` is invalid.
!===
- Other errors <<table_error_codes>>

Expand Down Expand Up @@ -256,7 +253,10 @@ such as the `WFI` instruction.
! Service completed successfully. Suspend request has been accepted.

! RPMI_ERR_INVALID_PARAM
! `SUSPEND_TYPE` is invalid.
! `HART_ID` or `SUSPEND_TYPE` is invalid.

! RPMI_ERR_INVALID_ADDR
! Resume address is invalid.
!===
- Other errors <<table_error_codes>>
|===
4 changes: 2 additions & 2 deletions src/srvgrp-voltage.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -417,8 +417,8 @@ calls may be necessary to retrieve all the voltage levels.
! RPMI_ERR_INVALID_PARAM
! Voltage `DOMAIN_ID` is invalid.

! RPMI_ERR_BAD_RANGE
! `VOLTAGE_LEVEL_INDEX` is not in valid range.
! RPMI_ERR_INVALID_PARAM
! `VOLTAGE_LEVEL_INDEX` is invalid.

!===
- Other errors <<table_error_codes>>
Expand Down
2 changes: 1 addition & 1 deletion src/terms.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

| A2P | Application Processor to Platform Microcontroller
| ACPI | Advanced Configuration and Power Interface Specification
| AEPI | ACPI Platform Error Interfaces
| APEI | ACPI Platform Error Interfaces
| AP | Application Processor
| CPPC | Collaborative Processor Performance Control
| GHES | Generic Hardware Error Source
Expand Down
Loading