diff options
Diffstat (limited to 'package/boot/tfa-layerscape/patches/010-gcc11.patch')
-rw-r--r-- | package/boot/tfa-layerscape/patches/010-gcc11.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/package/boot/tfa-layerscape/patches/010-gcc11.patch b/package/boot/tfa-layerscape/patches/010-gcc11.patch new file mode 100644 index 0000000000..1cdc21a493 --- /dev/null +++ b/package/boot/tfa-layerscape/patches/010-gcc11.patch @@ -0,0 +1,20 @@ +--- a/common/runtime_svc.c ++++ b/common/runtime_svc.c +@@ -38,7 +38,7 @@ uintptr_t handle_runtime_svc(uint32_t smc_fid, + u_register_t x1, x2, x3, x4; + int index; + unsigned int idx; +- const rt_svc_desc_t *rt_svc_descs; ++ rt_svc_desc_t *rt_svc_descs = NULL; + + assert(handle); + idx = get_unique_oen_from_smc_fid(smc_fid); +@@ -48,7 +48,7 @@ uintptr_t handle_runtime_svc(uint32_t smc_fid, + if (index < 0 || index >= (int)RT_SVC_DECS_NUM) + SMC_RET1(handle, SMC_UNK); + +- rt_svc_descs = (rt_svc_desc_t *) RT_SVC_DESCS_START; ++ memcpy(rt_svc_descs, (rt_svc_desc_t *)RT_SVC_DESCS_START, MAX_RT_SVCS); + + get_smc_params_from_ctx(handle, x1, x2, x3, x4); + |