ArmPkg: ArmFfaSvc: Adding missing FF-A definitions

This change added missing FF-A definitions for certain FF-A function IDs.

The `ARM_FFA_NOTIFICATION_*` and `ARM_FFA_FEATURE_*` definitions are
based on FF-A spec v1.3 ALP1.

The `ARM_FFA_MEM_PERM_RESERVED_MASK` definition is based on FF-A memory
protocol spec v1.3 ALP1.

Signed-off-by: Kun Qin <kun.qin@microsoft.com>
This commit is contained in:
Kun Qin 2024-11-06 15:17:56 -08:00 committed by mergify[bot]
parent 49ae82a08e
commit f75e6952ca
1 changed files with 37 additions and 0 deletions

View File

@ -196,6 +196,8 @@
#define ARM_FFA_SET_MEM_ATTR_CODE_PERM_X 0
#define ARM_FFA_SET_MEM_ATTR_CODE_PERM_XN 1
#define ARM_FFA_MEM_PERM_RESERVED_MASK 0xFFFFFFF8
#define ARM_FFA_SET_MEM_ATTR_MAKE_PERM_REQUEST(dataperm, codeperm) \
((((codeperm) & ARM_FFA_SET_MEM_ATTR_CODE_PERM_MASK) << \
ARM_FFA_SET_MEM_ATTR_CODE_PERM_SHIFT) | \
@ -224,4 +226,39 @@
#define IS_FID_FFA_ERROR(fid) \
(fid == ARM_FID_FFA_ERROR)
/*
* macro used in FFA_NOTIFICATION_GET/SET
* See FF-A spec sections for FFA_NOTIFICATION_GET and
* FFA_NOTIFICATION_SET
*/
#define ARM_FFA_NOTIFICATION_FLAG_PER_VCPU (0x1 << 0)
/** Flag to delay Schedule Receiver Interrupt. */
#define ARM_FFA_NOTIFICATION_FLAG_DELAY_SRI (0x1 << 1)
#define ARM_FFA_NOTIFICATION_FLAGS_VCPU_ID(id) ((id & 0xFFFF) << 16)
#define ARM_FFA_NOTIFICATION_FLAG_BITMAP_SP (0x1 << 0)
#define ARM_FFA_NOTIFICATION_FLAG_BITMAP_VM (0x1 << 1)
#define ARM_FFA_NOTIFICATION_FLAG_BITMAP_SPM (0x1 << 2)
#define ARM_FFA_NOTIFICATION_FLAG_BITMAP_HYP (0x1 << 3)
/*
* macro used in FFA_FEATURES function.
* See FF-A spec sections for FFA_FEATURES, Table of
* Feature IDs and properties table.
*/
/** Query interrupt ID of Notification Pending Interrupt. */
#define ARM_FFA_FEATURE_NPI 0x1U
/** Query interrupt ID of Schedule Receiver Interrupt. */
#define ARM_FFA_FEATURE_SRI 0x2U
/** Query interrupt ID of the Managed Exit Interrupt. */
#define ARM_FFA_FEATURE_MEI 0x3U
/** Query notifications features. */
#define ARM_FFA_FEATURE_NOTIFICATIONS 0x4U
#endif // ARM_FFA_SVC_H_