arch/x86: (Intel64) implement SMP support

Add duplicate per-CPU data structures (x86_cpuboot, tss, stacks, etc.)
for up to 4 total CPUs, add code in locore and z_arch_start_cpu().

The test board, qemu_x86_long, now defaults to 2 CPUs.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
This commit is contained in:
Charles E. Youse 2019-09-28 22:38:03 -04:00 committed by Anas Nashif
commit 3eb1a8b59a
7 changed files with 239 additions and 7 deletions

View file

@ -6,3 +6,4 @@ zephyr_library_include_directories(${ZEPHYR_BASE}/drivers)
zephyr_cc_option(-march=goldmont)
zephyr_library_sources(soc.c)
zephyr_library_sources_ifdef(CONFIG_SMP cpu.c)

View file

@ -0,0 +1,8 @@
/*
* Copyright (c) 2019 Intel Corporation
* SPDX-License-Identifier: Apache-2.0
*/
#include <kernel.h>
u8_t x86_cpu_loapics[] = { 0x00, 0x02, 0x04, 0x06 };