Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
967344b5
Commit
967344b5
authored
3 years ago
by
Olivier Deprez
Committed by
TrustedFirmware Code Review
3 years ago
Browse files
Options
Download
Plain Diff
Merge "feat(spmd): add support for FFA_SPM_ID_GET" into integration
parents
7cfe5999
70c121a2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
include/services/ffa_svc.h
+4
-2
include/services/ffa_svc.h
services/std_svc/spmd/spmd_main.c
+24
-0
services/std_svc/spmd/spmd_main.c
with
28 additions
and
2 deletions
+28
-2
include/services/ffa_svc.h
View file @
967344b5
...
...
@@ -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(0x8
4
)
#define FFA_FNUM_MAX_VALUE U(0x8
5
)
#define is_ffa_fid(fid) __extension__ ({ \
__typeof__(fid) _fid = (fid); \
((GET_SMC_NUM(_fid) >= FFA_FNUM_MIN_VALUE) && \
...
...
@@ -70,7 +70,7 @@
#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_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)
...
...
@@ -86,6 +86,7 @@
#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)
/* FFA SMC32 FIDs */
#define FFA_ERROR FFA_FID(SMC_32, FFA_FNUM_ERROR)
...
...
@@ -115,6 +116,7 @@
#define FFA_MEM_RETRIEVE_RESP FFA_FID(SMC_32, FFA_FNUM_MEM_RETRIEVE_RESP)
#define FFA_MEM_RELINQUISH FFA_FID(SMC_32, FFA_FNUM_MEM_RELINQUISH)
#define FFA_MEM_RECLAIM FFA_FID(SMC_32, FFA_FNUM_MEM_RECLAIM)
#define FFA_SPM_ID_GET FFA_FID(SMC_32, FFA_FNUM_SPM_ID_GET)
/* FFA SMC64 FIDs */
#define FFA_ERROR_SMC64 FFA_FID(SMC_64, FFA_FNUM_ERROR)
...
...
This diff is collapsed.
Click to expand it.
services/std_svc/spmd/spmd_main.c
View file @
967344b5
...
...
@@ -562,6 +562,30 @@ uint64_t spmd_smc_handler(uint32_t smc_fid,
return
spmd_ffa_error_return
(
handle
,
FFA_ERROR_NOT_SUPPORTED
);
break
;
/* Not reached */
case
FFA_SPM_ID_GET
:
if
(
MAKE_FFA_VERSION
(
1
,
1
)
>
FFA_VERSION_COMPILED
)
{
return
spmd_ffa_error_return
(
handle
,
FFA_ERROR_NOT_SUPPORTED
);
}
/*
* Returns the ID of the SPMC or SPMD depending on the FF-A
* instance where this function is invoked
*/
if
(
!
secure_origin
)
{
SMC_RET8
(
handle
,
FFA_SUCCESS_SMC32
,
FFA_TARGET_INFO_MBZ
,
spmc_attrs
.
spmc_id
,
FFA_PARAM_MBZ
,
FFA_PARAM_MBZ
,
FFA_PARAM_MBZ
,
FFA_PARAM_MBZ
,
FFA_PARAM_MBZ
);
}
SMC_RET8
(
handle
,
FFA_SUCCESS_SMC32
,
FFA_TARGET_INFO_MBZ
,
SPMD_DIRECT_MSG_ENDPOINT_ID
,
FFA_PARAM_MBZ
,
FFA_PARAM_MBZ
,
FFA_PARAM_MBZ
,
FFA_PARAM_MBZ
,
FFA_PARAM_MBZ
);
break
;
/* not reached */
case
FFA_MSG_SEND_DIRECT_REQ_SMC32
:
if
(
secure_origin
&&
spmd_is_spmc_message
(
x1
))
{
ret
=
spmd_handle_spmc_message
(
x3
,
x4
,
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help