mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 02:24:18 +00:00
feat(versal): add SMCCC call TF_A_PM_REGISTER_SGI
This call is used to register and reset SGI interrupt. Before this functionality was performed using IOCTL_REGISTER_SGI pm_ioctl EEMI call. It's not correct use of PM_IOCTL as it is not EEMI functionality. Instead this new SMCCC call will be handled by TF-A specific handler. Change-Id: If2408af38b889d29a5c584e8eec5f1672eab4fb5 Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
This commit is contained in:
parent
bf70449ba2
commit
fcf6f46931
2 changed files with 13 additions and 0 deletions
|
@ -35,6 +35,7 @@
|
|||
|
||||
#define PM_GET_CALLBACK_DATA 0xa01U
|
||||
#define PM_GET_TRUSTZONE_VERSION 0xa03U
|
||||
#define TF_A_PM_REGISTER_SGI 0xa04U
|
||||
|
||||
/* PM API Versions */
|
||||
#define PM_API_BASE_VERSION 1U
|
||||
|
|
|
@ -237,6 +237,18 @@ static uintptr_t TF_A_specific_handler(uint32_t api_id, uint32_t *pm_arg,
|
|||
{
|
||||
switch (api_id) {
|
||||
|
||||
case TF_A_PM_REGISTER_SGI:
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = pm_register_sgi(pm_arg[0], pm_arg[1]);
|
||||
if (ret != 0) {
|
||||
SMC_RET1(handle, (uint32_t)PM_RET_ERROR_ARGS);
|
||||
}
|
||||
|
||||
SMC_RET1(handle, (uint32_t)PM_RET_SUCCESS);
|
||||
}
|
||||
|
||||
case PM_GET_CALLBACK_DATA:
|
||||
{
|
||||
uint32_t result[4] = {0};
|
||||
|
|
Loading…
Add table
Reference in a new issue