1# Copyright 2025 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15load("@pigweed//pw_build:compatibility.bzl", "incompatible_with_mcu") 16load("@rules_rust//rust:defs.bzl", "rust_binary") 17 18package(default_visibility = ["//visibility:public"]) 19 20rust_binary( 21 name = "kernel", 22 srcs = ["kernel_cortex_m_entry.rs"], 23 edition = "2021", 24 tags = ["kernel"], 25 target_compatible_with = select({ 26 "//pw_build/constraints/chipset:mps2-an505": [], 27 "//pw_kernel/target/rp:rp235x": [], 28 "//conditions:default": ["@platforms//:incompatible"], 29 }), 30 deps = [ 31 "//pw_kernel/kernel", 32 "//pw_kernel/subsys/console:console_backend", 33 "//pw_kernel/target", 34 "//pw_kernel/target:linker_script", 35 "@rust_crates//:cortex-m-rt", 36 "@rust_crates//:cortex-m-semihosting", 37 ], 38) 39 40rust_binary( 41 name = "kernel_host", 42 srcs = ["kernel_host.rs"], 43 edition = "2021", 44 tags = ["kernel"], 45 target_compatible_with = incompatible_with_mcu(), 46 deps = [ 47 "//pw_kernel/kernel", 48 "//pw_kernel/subsys/console:console_backend", 49 "//pw_kernel/target", 50 ], 51) 52