Move cortex_m headers into the cortex_m directory
SoCs on ARM Cortex-M architecture need the cortex_m headers to compile
their soc/ directory. These headers were previously compiled using
a cc_library in the top-level BUILD.bazel. This change moves it to
the proper location.
Change-Id: I3111a9123a8bebfd2e5e040593a2788a34c9c130
Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/295869
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Pigweed-Auto-Submit: Yicheng Li <yichengli@google.com>
Commit-Queue: Yicheng Li <yichengli@google.com>
diff --git a/BUILD.bazel b/BUILD.bazel
index 9d6c871..2d7e358 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -121,33 +121,6 @@
],
)
-cc_library(
- name = "cortex_m",
- hdrs = [
- "//arch/arm:cortex_m",
- "//include:zephyr/arch/arm/cortex_m/arm_mpu_mem_cfg.h",
- "//include:zephyr/arch/arm/cortex_m/cpu.h",
- "//include:zephyr/arch/arm/cortex_m/exception.h",
- "//include:zephyr/arch/arm/cortex_m/fpu.h",
- "//include:zephyr/arch/arm/cortex_m/memory_map.h",
- "//include:zephyr/arch/arm/cortex_m/nvic.h",
- "//include:zephyr/arch/arm/mpu/arm_mpu.h",
- "//include:zephyr/arch/arm/mpu/arm_mpu_v7m.h",
- ],
- copts = ["-include generated/zephyr/autoconf.h"],
- includes = [
- "arch/arm/include",
- "include",
- ],
- deps = [
- "//:autoconf_library",
- "//:dts_cc_library",
- "//:zephyr",
- "//modules/cmsis",
- "@cmsis//:core",
- ],
-)
-
exports_files([
"cc.bzl",
"defs.bzl",
diff --git a/arch/arm/BUILD.bazel b/arch/arm/BUILD.bazel
index 02f1f09..8697d39 100644
--- a/arch/arm/BUILD.bazel
+++ b/arch/arm/BUILD.bazel
@@ -33,10 +33,14 @@
"//:dts_cc_library",
"//:soc",
"//kernel:offset",
- "//:cortex_m",
"//modules/cmsis",
"@cmsis//:core",
- ]
+ ] + select({
+ "//conditions:default": [],
+ "@kconfig//:CONFIG_CPU_CORTEX_M=true": [
+ "//arch/arm/core/cortex_m:headers",
+ ],
+ }),
)
filegroup(
@@ -46,4 +50,4 @@
"include/kernel_arch_func.h",
"include/offsets_short_arch.h",
] + glob(["include/cortex_m/**/*.h"]),
-)
\ No newline at end of file
+)
diff --git a/arch/arm/core/cortex_m/BUILD.bazel b/arch/arm/core/cortex_m/BUILD.bazel
index e2e5700..e645f7a 100644
--- a/arch/arm/core/cortex_m/BUILD.bazel
+++ b/arch/arm/core/cortex_m/BUILD.bazel
@@ -44,6 +44,33 @@
""",
)
+cc_library(
+ name = "headers",
+ hdrs = [
+ "//arch/arm:cortex_m",
+ "//include:zephyr/arch/arm/cortex_m/arm_mpu_mem_cfg.h",
+ "//include:zephyr/arch/arm/cortex_m/cpu.h",
+ "//include:zephyr/arch/arm/cortex_m/exception.h",
+ "//include:zephyr/arch/arm/cortex_m/fpu.h",
+ "//include:zephyr/arch/arm/cortex_m/memory_map.h",
+ "//include:zephyr/arch/arm/cortex_m/nvic.h",
+ "//include:zephyr/arch/arm/mpu/arm_mpu.h",
+ "//include:zephyr/arch/arm/mpu/arm_mpu_v7m.h",
+ ],
+ includes = [
+ "../../../../arch/arm/include",
+ "../../../../include",
+ ],
+ deps = [
+ "//:autoconf_library",
+ "//:dts_cc_library",
+ "//:zephyr",
+ "//modules/cmsis",
+ "@cmsis//:core",
+ ],
+ visibility = ["//:__subpackages__"],
+)
+
zephyr_cc_library(
name = "cortex_m",
srcs = [
@@ -63,11 +90,11 @@
hdrs = ["vector_table.h"],
includes = ["."],
deps = [
+ ":headers",
"//arch/arm/core",
"//kernel",
"//lib/os",
"//modules/cmsis",
- "//subsys/mem_mgmt",
],
alwayslink = True,
)
diff --git a/arch/arm/core/mpu/BUILD.bazel b/arch/arm/core/mpu/BUILD.bazel
index dd15a3d..1e24749 100644
--- a/arch/arm/core/mpu/BUILD.bazel
+++ b/arch/arm/core/mpu/BUILD.bazel
@@ -36,5 +36,6 @@
deps = [
"//:offsets_header_lib",
"//modules/cmsis",
+ "//subsys/mem_mgmt",
],
)
diff --git a/soc/atmel/sam/BUILD.bazel b/soc/atmel/sam/BUILD.bazel
index 305117e..663d280 100644
--- a/soc/atmel/sam/BUILD.bazel
+++ b/soc/atmel/sam/BUILD.bazel
@@ -50,7 +50,7 @@
"samx7x",
],
deps = [
- "//:cortex_m",
+ "//arch/arm/core/cortex_m:headers",
"@hal_atmel//:same70b",
],
skip_deps = ["//:soc"],