zephyr/arch
Andy Ross e694656345 kernel: Move per-cpu _kernel_t fields into separate struct
When in SMP mode, the nested/irq_stack/current fields are specific to
the current CPU and not to the kernel as a whole, so we need an array
of these.  Place them in a _cpu_t struct and implement a
_arch_curr_cpu() function to retrieve the pointer.

When not in SMP mode, the first CPU's fields are defined as a unioned
with the first _cpu_t record.  This permits compatibility with legacy
assembly on other platforms.  Long term, all users, including
uniprocessor architectures, should be updated to use the new scheme.

Fundamentally this is just renaming: the structure layout and runtime
code do not change on any existing platforms and won't until someone
defines a second CPU.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-02-16 10:44:29 -05:00
..
arc arch: arc: apply the new thread stack layout 2018-02-16 12:20:16 +01:00
arm kernel: Add kswap.h header to unbreak cycles 2018-02-16 10:44:29 -05:00
common drivers/interrupt_controller: Introduce multi-level interrupt support 2018-02-06 22:39:05 -05:00
nios2 drivers: i2c: Add i2c master driver for Nios-II i2c core 2018-02-07 19:37:35 -05:00
posix kernel: Add kswap.h header to unbreak cycles 2018-02-16 10:44:29 -05:00
riscv32 kconfig: fix more help spacing issues 2018-02-15 23:20:55 -05:00
x86 kernel: Add kswap.h header to unbreak cycles 2018-02-16 10:44:29 -05:00
xtensa kernel: Move per-cpu _kernel_t fields into separate struct 2018-02-16 10:44:29 -05:00
CMakeLists.txt Introduce cmake-based rewrite of KBuild 2017-11-08 20:00:22 -05:00
Kconfig kconfig: fix more help spacing issues 2018-02-15 23:20:55 -05:00