Browse Source

Merge pull request #1270 from antonio-nino-diaz-arm/an/smc-unknown

Redefine SMC_UNK as -1 instead of 0xFFFFFFFF
pull/1273/head
davidcunado-arm 7 years ago
committed by GitHub
parent
commit
5ff5a6d9c3
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      bl31/aarch64/runtime_exceptions.S
  2. 6
      include/lib/smcc.h

4
bl31/aarch64/runtime_exceptions.S

@ -390,12 +390,12 @@ smc_unknown:
* content). Either way, we aren't leaking any secure information
* through them.
*/
mov w0, #SMC_UNK
mov x0, #SMC_UNK
b restore_gp_registers_callee_eret
smc_prohibited:
ldr x30, [sp, #CTX_GPREGS_OFFSET + CTX_GPREG_LR]
mov w0, #SMC_UNK
mov x0, #SMC_UNK
eret
rt_svc_fw_critical_error:

6
include/lib/smcc.h

@ -35,13 +35,13 @@
#define SMC_64 U(1)
#define SMC_32 U(0)
#define SMC_OK U(0)
#define SMC_UNK U(0xffffffff)
#define SMC_UNK -1
#define SMC_TYPE_FAST ULL(1)
#if !ERROR_DEPRECATED
#define SMC_TYPE_STD ULL(0)
#endif
#define SMC_TYPE_YIELD U(0)
#define SMC_PREEMPTED U(0xfffffffe)
#define SMC_PREEMPTED -2
/*******************************************************************************
* Owning entity number definitions inside the function id as per the SMC
* calling convention
@ -99,7 +99,7 @@
*/
#define DEFINE_SVC_UUID(_name, _tl, _tm, _th, _cl, _ch, \
_n0, _n1, _n2, _n3, _n4, _n5) \
CASSERT(_tl != SMC_UNK, invalid_svc_uuid);\
CASSERT((uint32_t)(_tl) != (uint32_t) SMC_UNK, invalid_svc_uuid);\
static const uuid_t _name = { \
_tl, _tm, _th, _cl, _ch, \
{ _n0, _n1, _n2, _n3, _n4, _n5 } \

Loading…
Cancel
Save