Skip to content

Commit a4b55b7

Browse files
etienne-lmsardbiesheuvel
authored andcommitted
Drivers/OpTee: Add Aarch32 SVC IDs for 32bit Arm targets
Add SMCCC function IDs for RPMB read/write service on 32bit architectures. Define generic SP_SVC_RPMB_READ/SP_SVC_RPMB_WRITE IDs for native target architecture (32b or 64b). Changes OpTeeRpmbFvb.c to use architecture agnostic macro ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ for 32b and 64b support. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
1 parent 646c444 commit a4b55b7

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

Drivers/OpTee/OpteeRpmbPkg/OpTeeRpmbFvb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ ReadWriteRpmb (
6868

6969
ZeroMem (&SvcArgs, sizeof (SvcArgs));
7070

71-
SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64;
71+
SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ;
7272
SvcArgs.Arg1 = mStorageId;
7373
SvcArgs.Arg2 = 0;
7474
SvcArgs.Arg3 = SvcAct;

Drivers/OpTee/OpteeRpmbPkg/OpTeeRpmbFvb.h

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,20 @@
1313
contract between OP-TEE and EDK2.
1414
For more details check core/arch/arm/include/kernel/stmm_sp.h in OP-TEE
1515
**/
16-
#define SP_SVC_RPMB_READ 0xC4000066
17-
#define SP_SVC_RPMB_WRITE 0xC4000067
16+
#define SP_SVC_RPMB_READ_AARCH64 0xC4000066
17+
#define SP_SVC_RPMB_WRITE_AARCH64 0xC4000067
18+
19+
#define SP_SVC_RPMB_READ_AARCH32 0x84000066
20+
#define SP_SVC_RPMB_WRITE_AARCH32 0x84000067
21+
22+
#ifdef MDE_CPU_AARCH64
23+
#define SP_SVC_RPMB_READ SP_SVC_RPMB_READ_AARCH64
24+
#define SP_SVC_RPMB_WRITE SP_SVC_RPMB_WRITE_AARCH64
25+
#endif
26+
#ifdef MDE_CPU_ARM
27+
#define SP_SVC_RPMB_READ SP_SVC_RPMB_READ_AARCH32
28+
#define SP_SVC_RPMB_WRITE SP_SVC_RPMB_WRITE_AARCH32
29+
#endif
1830

1931
#define FLASH_SIGNATURE SIGNATURE_32 ('r', 'p', 'm', 'b')
2032
#define INSTANCE_FROM_FVB_THIS(a) CR (a, MEM_INSTANCE, FvbProtocol, \

0 commit comments

Comments
 (0)