zephyr/arch/arm64
Jaxson Han cd536ae8ff arch: arm64: Refine the assertion in arch_start_cpu
When SMP enabled, the primary core calls arch_start_cpu to start
secondary cpus. There is an assertion checking the core mpid to make
sure it is called by primary core.

But the checking is bogus. After the first secondary core is brought
up, arm64_cpu_boot_params.mpid will be changed, which will fail the
assertion.

The current solution restores the arm64_cpu_boot_params.mpid.
However, using the arch_curr_cpu()->id == 0 as the assertion will be
better.

The _current_cpu->id will always fail assertion inside this macro
(__ASSERT_NO_MSG(!z_smp_cpu_mobile()), so I use arch_curr_cpu()->id
instead.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2021-06-09 05:42:00 -05:00
..
core arch: arm64: Refine the assertion in arch_start_cpu 2021-06-09 05:42:00 -05:00
include arm64: optimize offsets in z_arm64_context_switch 2021-05-04 22:41:32 -04:00
CMakeLists.txt
Kconfig