The RAS_AGENT service group provides services to enumerate various error sources in a system and to retrieve their descriptors.
Each error source in a system is assigned a unique 32-bit identification number,
referred to as RAS_ERR_SRC_ID
.
The following table lists the services in the RAS_AGENT service group:
Service ID | Service Name | Request Type |
---|---|---|
0x01 |
RAS_ENABLE_NOTIFICATION |
NORMAL_REQUEST |
0x02 |
RAS_GET_NUM_ERR_SRCS |
NORMAL_REQUEST |
0x03 |
RAS_GET_ERR_SRCS_ID_LIST |
NORMAL_REQUEST |
0x04 |
RAS_GET_ERR_SRC_DESC |
NORMAL_REQUEST |
For systems that support ACPI/APEI, the format of the error source descriptor
is as defined in ACPI specification v6.4 or above, (GHESv2) cite:[ACPI].
If the value of RAS_GET_ERR_SRC_DESC.FLAGS[3:0]
is 0
, it indicates that the
error source descriptor format is GHESv2.
The RAS agent populates the error source descriptor fields according to the
error source specified by RAS_ERR_SRC_ID
.
Note
|
The error source descriptor has an error_status_structure field which
is a generic address structure (GAS ) as defined in ACPI v6.4 (GHESv2)
cite:[ACPI]. This field specifies the location of a register that contains the
physical address of a block of memory that holds the error status data for the
specified error source. This block of memory is referred to as
error_status_block . The allocation of error_status_block is platform
dependent and is done by the RAS agent. The physical address of
error_status_block is stored in the error_status_structure field of the
error source descriptor being returned.
|
This service allows the application processor to subscribe to RAS_AGENT
service group notifications. The platform may optionally support notifications
for events that may occur. The platform microcontroller can send these
notification messages to the application processor if they are implemented and
the application processor has subscribed to them. The supported events are
described in Notifications.
Word | Name | Type | Description |
---|---|---|---|
0 |
EVENT_ID |
uint32 |
The event to be subscribed for notification. |
1 |
REQ_STATE |
uint32 |
Requested event notification state 0: Disable 1: Enable 2: Return current state. Any other values of |
Word | Name | Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0 |
STATUS |
int32 |
Return error code
|
||||||||
1 |
CURRENT_STATE |
uint32 |
Current 0: Notification is disabled 1: Notification is enabled. In case of |
This service queries number of error sources available in the system.
NA |
---|
Word | Name | Type | Description | ||||
---|---|---|---|---|---|---|---|
0 |
STATUS |
int32 |
Return error code
|
||||
1 |
NUM_ERR_SRCS |
uint32 |
Number of error sources. |
This service returns a list of RAS_ERR_SRC_ID
for all error sources present
in the system. The RAS_ERR_SRC_ID
can be used to get the associated
descriptor of the error source.
Word | Name | Type | Description |
---|---|---|---|
0 |
START_INDEX |
uint32 |
Starting index of |
Word | Name | Type | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
0 |
STATUS |
int32 |
Return error code
|
||||||
1 |
FLAGS |
uint32 |
Reserved and must be |
||||||
2 |
REMAINING |
uint32 |
Remaining number of error source IDs. |
||||||
3 |
RETURNED |
uint32 |
Number of error source IDs returned in this request. |
||||||
4 |
RAS_ERR_SRC_ID[N] |
uint32 |
An array of error source IDs where each entry in the array is a unique error source ID. N is equal to |
This service retrieves the error source descriptor of an error source specified
by RAS_ERR_SRC_ID
.
Word | Name | Type | Description |
---|---|---|---|
0 |
RAS_ERR_SRC_ID |
uint32 |
Error source ID for which attributes are to be returned. |
1 |
BYTE_OFFSET |
uint32 |
Offset from which the descriptor is to be read. Offset |
Word | Name | Type | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
0 |
STATUS |
int32 |
Return error code
|
||||||
1 |
FLAGS |
uint32 |
|
||||||
2 |
REMAINING |
uint32 |
Remaining number of bytes to be read. |
||||||
3 |
RETURNED |
uint32 |
Number of bytes read in this request. |
||||||
4 |
ERR_SRC_DESC[N] |
uint8 |
Full or partial descriptor N is equal to the |