| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| load("//rules:opentitan.bzl", "OPENTITAN_CPU") |
| load("//rules:cross_platform.bzl", "dual_cc_library", "dual_inputs") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| cc_library( |
| name = "epmp", |
| srcs = ["epmp.c"], |
| hdrs = ["epmp.h"], |
| target_compatible_with = [OPENTITAN_CPU], |
| ) |
| |
| dual_cc_library( |
| name = "hart", |
| srcs = dual_inputs( |
| device = ["hart.c"], |
| host = ["hart_polyfills.c"], |
| ), |
| hdrs = ["hart.h"], |
| deps = dual_inputs( |
| device = [ |
| ":ibex", |
| "//sw/device/lib/arch:device", |
| ], |
| shared = [ |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:stdasm", |
| ], |
| ), |
| ) |
| |
| cc_library( |
| name = "ibex", |
| srcs = ["ibex.c"], |
| hdrs = ["ibex.h"], |
| target_compatible_with = [OPENTITAN_CPU], |
| deps = [ |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:csr", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:stdasm", |
| ], |
| ) |
| |
| cc_library( |
| name = "irq", |
| srcs = ["irq.c"], |
| hdrs = ["irq.h"], |
| target_compatible_with = [OPENTITAN_CPU], |
| deps = [ |
| "//sw/device/lib/base:csr", |
| ], |
| ) |
| |
| cc_library( |
| name = "log", |
| srcs = ["log.c"], |
| hdrs = ["log.h"], |
| target_compatible_with = [OPENTITAN_CPU], |
| deps = [ |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/runtime:print", |
| ], |
| ) |
| |
| cc_library( |
| name = "pmp", |
| srcs = ["pmp.c"], |
| hdrs = ["pmp.h"], |
| target_compatible_with = [OPENTITAN_CPU], |
| deps = [ |
| "//sw/device/lib/base:bitfield", |
| "//sw/device/lib/base:csr", |
| "//sw/device/lib/base:macros", |
| ], |
| ) |
| |
| cc_library( |
| name = "print", |
| srcs = ["print.c"], |
| hdrs = ["print.h"], |
| deps = [ |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:status", |
| "//sw/device/lib/dif:uart", |
| ], |
| ) |
| |
| cc_test( |
| name = "print_unittest", |
| srcs = ["print_unittest.cc"], |
| deps = [ |
| ":print", |
| "@com_google_absl//absl/strings:str_format", |
| "@googletest//:gtest_main", |
| ], |
| ) |