|
|
@ -22,7 +22,7 @@ |
|
|
|
|
|
|
|
/* The macros below are used to identify FFA calls from the SMC function ID */ |
|
|
|
#define FFA_FNUM_MIN_VALUE U(0x60) |
|
|
|
#define FFA_FNUM_MAX_VALUE U(0x85) |
|
|
|
#define FFA_FNUM_MAX_VALUE U(0x87) |
|
|
|
#define is_ffa_fid(fid) __extension__ ({ \ |
|
|
|
__typeof__(fid) _fid = (fid); \ |
|
|
|
((GET_SMC_NUM(_fid) >= FFA_FNUM_MIN_VALUE) && \ |
|
|
@ -32,7 +32,7 @@ |
|
|
|
#define FFA_VERSION_MAJOR U(1) |
|
|
|
#define FFA_VERSION_MAJOR_SHIFT 16 |
|
|
|
#define FFA_VERSION_MAJOR_MASK U(0x7FFF) |
|
|
|
#define FFA_VERSION_MINOR U(0) |
|
|
|
#define FFA_VERSION_MINOR U(1) |
|
|
|
#define FFA_VERSION_MINOR_SHIFT 0 |
|
|
|
#define FFA_VERSION_MINOR_MASK U(0xFFFF) |
|
|
|
#define FFA_VERSION_BIT31_MASK U(0x1u << 31) |
|
|
@ -61,32 +61,44 @@ |
|
|
|
((func_num) << FUNCID_NUM_SHIFT)) |
|
|
|
|
|
|
|
/* FFA function numbers */ |
|
|
|
#define FFA_FNUM_ERROR U(0x60) |
|
|
|
#define FFA_FNUM_SUCCESS U(0x61) |
|
|
|
#define FFA_FNUM_INTERRUPT U(0x62) |
|
|
|
#define FFA_FNUM_VERSION U(0x63) |
|
|
|
#define FFA_FNUM_FEATURES U(0x64) |
|
|
|
#define FFA_FNUM_RX_RELEASE U(0x65) |
|
|
|
#define FFA_FNUM_RXTX_MAP U(0x66) |
|
|
|
#define FFA_FNUM_RXTX_UNMAP U(0x67) |
|
|
|
#define FFA_FNUM_PARTITION_INFO_GET U(0x68) |
|
|
|
#define FFA_FNUM_ID_GET U(0x69) |
|
|
|
#define FFA_FNUM_MSG_POLL U(0x6A) |
|
|
|
#define FFA_FNUM_MSG_WAIT U(0x6B) |
|
|
|
#define FFA_FNUM_MSG_YIELD U(0x6C) |
|
|
|
#define FFA_FNUM_MSG_RUN U(0x6D) |
|
|
|
#define FFA_FNUM_MSG_SEND U(0x6E) |
|
|
|
#define FFA_FNUM_MSG_SEND_DIRECT_REQ U(0x6F) |
|
|
|
#define FFA_FNUM_MSG_SEND_DIRECT_RESP U(0x70) |
|
|
|
#define FFA_FNUM_MEM_DONATE U(0x71) |
|
|
|
#define FFA_FNUM_MEM_LEND U(0x72) |
|
|
|
#define FFA_FNUM_MEM_SHARE U(0x73) |
|
|
|
#define FFA_FNUM_MEM_RETRIEVE_REQ U(0x74) |
|
|
|
#define FFA_FNUM_MEM_RETRIEVE_RESP U(0x75) |
|
|
|
#define FFA_FNUM_MEM_RELINQUISH U(0x76) |
|
|
|
#define FFA_FNUM_MEM_RECLAIM U(0x77) |
|
|
|
#define FFA_FNUM_SECONDARY_EP_REGISTER U(0x84) |
|
|
|
#define FFA_FNUM_SPM_ID_GET U(0x85) |
|
|
|
#define FFA_FNUM_ERROR U(0x60) |
|
|
|
#define FFA_FNUM_SUCCESS U(0x61) |
|
|
|
#define FFA_FNUM_INTERRUPT U(0x62) |
|
|
|
#define FFA_FNUM_VERSION U(0x63) |
|
|
|
#define FFA_FNUM_FEATURES U(0x64) |
|
|
|
#define FFA_FNUM_RX_RELEASE U(0x65) |
|
|
|
#define FFA_FNUM_RXTX_MAP U(0x66) |
|
|
|
#define FFA_FNUM_RXTX_UNMAP U(0x67) |
|
|
|
#define FFA_FNUM_PARTITION_INFO_GET U(0x68) |
|
|
|
#define FFA_FNUM_ID_GET U(0x69) |
|
|
|
#define FFA_FNUM_MSG_POLL U(0x6A) /* Legacy FF-A v1.0 */ |
|
|
|
#define FFA_FNUM_MSG_WAIT U(0x6B) |
|
|
|
#define FFA_FNUM_MSG_YIELD U(0x6C) |
|
|
|
#define FFA_FNUM_MSG_RUN U(0x6D) |
|
|
|
#define FFA_FNUM_MSG_SEND U(0x6E) /* Legacy FF-A v1.0 */ |
|
|
|
#define FFA_FNUM_MSG_SEND_DIRECT_REQ U(0x6F) |
|
|
|
#define FFA_FNUM_MSG_SEND_DIRECT_RESP U(0x70) |
|
|
|
#define FFA_FNUM_MEM_DONATE U(0x71) |
|
|
|
#define FFA_FNUM_MEM_LEND U(0x72) |
|
|
|
#define FFA_FNUM_MEM_SHARE U(0x73) |
|
|
|
#define FFA_FNUM_MEM_RETRIEVE_REQ U(0x74) |
|
|
|
#define FFA_FNUM_MEM_RETRIEVE_RESP U(0x75) |
|
|
|
#define FFA_FNUM_MEM_RELINQUISH U(0x76) |
|
|
|
#define FFA_FNUM_MEM_RECLAIM U(0x77) |
|
|
|
#define FFA_FNUM_NORMAL_WORLD_RESUME U(0x7C) |
|
|
|
|
|
|
|
/* FF-A v1.1 */ |
|
|
|
#define FFA_FNUM_NOTIFICATION_BITMAP_CREATE U(0x7D) |
|
|
|
#define FFA_FNUM_NOTIFICATION_BITMAP_DESTROY U(0x7E) |
|
|
|
#define FFA_FNUM_NOTIFICATION_BIND U(0x7F) |
|
|
|
#define FFA_FNUM_NOTIFICATION_UNBIND U(0x80) |
|
|
|
#define FFA_FNUM_NOTIFICATION_SET U(0x81) |
|
|
|
#define FFA_FNUM_NOTIFICATION_GET U(0x82) |
|
|
|
#define FFA_FNUM_NOTIFICATION_INFO_GET U(0x83) |
|
|
|
#define FFA_FNUM_RX_ACQUIRE U(0x84) |
|
|
|
#define FFA_FNUM_SPM_ID_GET U(0x85) |
|
|
|
#define FFA_FNUM_MSG_SEND2 U(0x86) |
|
|
|
#define FFA_FNUM_SECONDARY_EP_REGISTER U(0x87) |
|
|
|
|
|
|
|
/* FFA SMC32 FIDs */ |
|
|
|
#define FFA_ERROR FFA_FID(SMC_32, FFA_FNUM_ERROR) |
|
|
|