zephyr/soc/xtensa
Andy Ross a71336cab3 soc/intel_adsp: Keep track of started CPUs in the SOC layer
On cAVS 2.5, there is an inherent race with the IDC interrupt.  It's
used for routine IPIs during OS operation, but also for launching a
power-gated core.  Recent changes moved the unmasking of the IDC
interrupt earlier, which made it possible for early OS scheduler
behavior (e.g. adding the main thread to the run queue) to
accidentally launch the other cores into LP-SRAM that had not been
initialized.

Instead of treating this with initialization ordering, keep and
maintain a list of active CPUs and check them at runtime to be sure we
never try to IPI a CPU that isn't running yet.  We're going to need
this feature when we add live core offlining anyway.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-09-03 07:19:34 -04:00
..
esp32 soc: esp32: Fix placement for system heap 2021-08-31 15:36:12 -04:00
esp32s2 esp32s2: drivers: gpio: add gpio support 2021-08-27 17:34:41 -04:00
intel_adsp soc/intel_adsp: Keep track of started CPUs in the SOC layer 2021-09-03 07:19:34 -04:00
intel_s1000 linker: xtensa: move IDT_LIST region 2021-08-25 18:08:36 -04:00
nxp_adsp arch: xtensa: modify asm for interrupt sections 2021-08-28 23:27:02 -04:00
sample_controller linker: align _image_text_start/end/size linker symbols name 2021-08-28 08:48:03 -04:00
CMakeLists.txt soc/xtensa/intel_adsp: Upstream updates 2020-10-21 06:38:53 -04:00