Skip to content

Conversation

@aasboddu
Copy link
Collaborator

@aasboddu aasboddu commented Jan 2, 2026

-Update apml_manager to call APML APIs to register for uevent from apml alertl driver.

APML library provides API to register, monitor and unregister for the alerts on RAS and temperature from apml alertl driver.
The alertEventHandler can handle alerts from socket 0 and 1.
On alerts, the monitor_ras_alert returns socket & die-id and alertl source information.

- Modify configure() to call APML API:
            The configure() function is modified to replace userspace
gpiolib with the APML API "apml_register_udev_monitor()" which
registers for uevents from the Alert_L driver associated with RAS events.

- Create alertSrcHandler() to monitor RAS alerts:
        The alertSrcHandler() function calls the APML API
"monitor_ras_alert()" to monitor RAS alert from the Alert_L driver.
A single instance of alertSrcHandler() can handle alerts from
multiple sockets. Monitoring the Alert_L GPIO and clearing
the RMI Status(0x2) and RMI RASstatus(0x4c) registers on RAS alert
is managed by the APML driver.

These change do not alter the overall structure and CPER creation.
Requesting, Binding and monitoring of GPIOs can be removed as this
functionality is now handled by the Alert_L driver. Only one thread
is required to monitor RAS alerts, regardless of the number of
sockets.

This implementation allows multiple user applications to register
for uevents and get the alert source information simultaneously.

Tested fields - Verified on Morocco system (P0 and P1).
CPER files are generated upon FATAL error injection for the socket.

Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com>
Signed-off-by: Sathya Priya Kumar <SathyaPriya.K@amd.com>
Signed-off-by: Akshay Gupta <akshay.gupta@amd.com>
Signed-off-by: Aashray Boddu <Aashray.Boddu@amd.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants