xtensa: add support to build HAL as part of build process
This adds the necessary bits to build the Xtensa HAL as
a module, and removes the bits to use the HAL built with
the Zephyr SDK.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
diff --git a/arch/Kconfig b/arch/Kconfig
index 415b76e..7ebef35 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -42,6 +42,7 @@
select HAS_DTS
select USE_SWITCH
select USE_SWITCH_SUPPORTED
+ select XTENSA_HAL if "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "xcc"
config ARCH_POSIX
bool "POSIX (native) architecture"
diff --git a/arch/xtensa/core/fatal.c b/arch/xtensa/core/fatal.c
index 883a06c..1576ece 100644
--- a/arch/xtensa/core/fatal.c
+++ b/arch/xtensa/core/fatal.c
@@ -8,7 +8,7 @@
#include <kernel_structs.h>
#include <inttypes.h>
#include <kernel_arch_data.h>
-#include <xtensa/specreg.h>
+#include <xtensa/config/specreg.h>
#include <xtensa-asm2-context.h>
#include <logging/log.h>
LOG_MODULE_DECLARE(os);
diff --git a/cmake/toolchain/xtools/target.cmake b/cmake/toolchain/xtools/target.cmake
index f9d4e68..3411354 100644
--- a/cmake/toolchain/xtools/target.cmake
+++ b/cmake/toolchain/xtools/target.cmake
@@ -18,16 +18,6 @@
set(CROSS_COMPILE ${TOOLCHAIN_HOME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-)
-if("${ARCH}" STREQUAL "xtensa")
- set(SYSROOT_DIR ${TOOLCHAIN_HOME}/${SYSROOT_TARGET})
- set(TOOLCHAIN_INCLUDES
- ${SYSROOT_DIR}/include/arch/include
- ${SYSROOT_DIR}/include
- )
-
- LIST(APPEND TOOLCHAIN_LIBS hal)
- LIST(APPEND LIB_INCLUDE_DIR -L${SYSROOT_DIR}/lib)
-endif()
set(SYSROOT_DIR ${TOOLCHAIN_HOME}/${SYSROOT_TARGET}/${SYSROOT_TARGET})
if("${ARCH}" STREQUAL "x86")
diff --git a/cmake/toolchain/zephyr/0.10/target.cmake b/cmake/toolchain/zephyr/0.10/target.cmake
index f9d4e68..3411354 100644
--- a/cmake/toolchain/zephyr/0.10/target.cmake
+++ b/cmake/toolchain/zephyr/0.10/target.cmake
@@ -18,16 +18,6 @@
set(CROSS_COMPILE ${TOOLCHAIN_HOME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-)
-if("${ARCH}" STREQUAL "xtensa")
- set(SYSROOT_DIR ${TOOLCHAIN_HOME}/${SYSROOT_TARGET})
- set(TOOLCHAIN_INCLUDES
- ${SYSROOT_DIR}/include/arch/include
- ${SYSROOT_DIR}/include
- )
-
- LIST(APPEND TOOLCHAIN_LIBS hal)
- LIST(APPEND LIB_INCLUDE_DIR -L${SYSROOT_DIR}/lib)
-endif()
set(SYSROOT_DIR ${TOOLCHAIN_HOME}/${SYSROOT_TARGET}/${SYSROOT_TARGET})
if("${ARCH}" STREQUAL "x86")
diff --git a/cmake/toolchain/zephyr/0.11/target.cmake b/cmake/toolchain/zephyr/0.11/target.cmake
index f7923e4..f0bb1ee 100644
--- a/cmake/toolchain/zephyr/0.11/target.cmake
+++ b/cmake/toolchain/zephyr/0.11/target.cmake
@@ -13,13 +13,6 @@
if("${ARCH}" STREQUAL "xtensa")
set(SYSROOT_DIR ${TOOLCHAIN_HOME}/xtensa/${SOC_NAME}/${SYSROOT_TARGET})
- set(TOOLCHAIN_INCLUDES
- ${SYSROOT_DIR}/include/arch/include
- ${SYSROOT_DIR}/include
- )
-
- LIST(APPEND TOOLCHAIN_LIBS hal)
- LIST(APPEND LIB_INCLUDE_DIR -L${SYSROOT_DIR}/lib)
set(CROSS_COMPILE ${TOOLCHAIN_HOME}/xtensa/${SOC_NAME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-)
else()
set(SYSROOT_DIR ${TOOLCHAIN_HOME}/${SYSROOT_TARGET}/${SYSROOT_TARGET})
diff --git a/modules/Kconfig.xtensa b/modules/Kconfig.xtensa
new file mode 100644
index 0000000..7f1d1af
--- /dev/null
+++ b/modules/Kconfig.xtensa
@@ -0,0 +1,8 @@
+# Copyright (c) 2019 Intel Corporation
+# SPDX-License-Identifier: Apache-2.0
+
+config XTENSA_HAL
+ bool
+ help
+ Build the Xtensa HAL module during build process.
+ This is selected by the Xtensa ARCH kconfig automatically.