Browse Source

fix(cpus): assert invalid cpu_ops obtained

Not including the proper CPU file can halt execution at the
reset_handler since the cpu_ops obtained will be invalid and therefore
the cpu reset function will be invalid too, unless SUPPORT_UNKNOWN_MPID
is enabled.

This patch adds an assert to check for the validity of the obtained
cpu_ops object and will display an error if the object is invalid.

Change-Id: I0e1661745e4a692aab5e910e110c2de0caf64f46
Signed-off-by: Thaddeus Serna <Thaddeus.Gonzalez-Serna@arm.com>
pull/2000/head
Thaddeus Serna 1 year ago
committed by Thaddeus Gonzalez-Serna
parent
commit
3f721c6edd
  1. 9
      lib/cpus/aarch64/cpu_helpers.S

9
lib/cpus/aarch64/cpu_helpers.S

@ -33,6 +33,15 @@ func reset_handler
/* Get the matching cpu_ops pointer */
bl get_cpu_ops_ptr
#if ENABLE_ASSERTIONS
/*
* Assert if invalid cpu_ops obtained. If this is not valid, it may
* suggest that the proper CPU file hasn't been included.
*/
cmp x0, #0
ASM_ASSERT(ne)
#endif
/* Get the cpu_ops reset handler */
ldr x2, [x0, #CPU_RESET_FUNC]
mov x30, x19

Loading…
Cancel
Save