| # Copyright 2023 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| load("@rules_license//rules:license.bzl", "license") |
| |
| package( |
| default_applicable_licenses = ["//:license_fuchsia"], |
| default_visibility = ["//visibility:public"], |
| ) |
| |
| license( |
| name = "license_fuchsia", |
| package_name = "magma (Fuchsia)", |
| license_text = "LICENSE", |
| ) |
| |
| cc_library( |
| name = "all", |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":driver_macros", |
| ":macros", |
| ":msd", |
| ":platform", |
| ":register_io", |
| ":sys_driver", |
| ":zircon", |
| ":zircon_driver", |
| ], |
| ) |
| |
| cc_library( |
| name = "includes", |
| includes = ["."], |
| visibility = ["//:__subpackages__"], |
| ) |
| |
| cc_library( |
| name = "msd", |
| srcs = ["include/lib/magma_service/msd.cc"], |
| hdrs = [ |
| "include/lib/magma_service/msd.h", |
| "include/lib/magma_service/msd_defs.h", |
| ], |
| includes = [ |
| "include/", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| "@fuchsia_sdk//pkg/async-cpp", |
| "@fuchsia_sdk//pkg/inspect", |
| "@fuchsia_sdk//pkg/magma_client", |
| ], |
| ) |
| |
| cc_library( |
| name = "logger_syslog", |
| srcs = [ |
| "lib/magma/platform/zircon/zircon_platform_logger_syslog.cc", |
| ], |
| hdrs = [ |
| "lib/magma/platform/platform_logger_provider.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":macros", |
| ":platform", |
| ":zircon_driver", |
| "@fuchsia_sdk//fidl/fuchsia.logger:fuchsia.logger_cpp_wire", |
| "@fuchsia_sdk//pkg/syslog_structured_backend", |
| ], |
| ) |
| |
| cc_library( |
| name = "platform", |
| hdrs = [ |
| "lib/magma/platform/platform_buffer.h", |
| "lib/magma/platform/platform_handle.h", |
| "lib/magma/platform/platform_object.h", |
| "lib/magma/platform/platform_port.h", |
| "lib/magma/platform/platform_trace.h", |
| ], |
| defines = ["MAGMA_ENABLE_TRACE_VTHREAD=1"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":macros", |
| "@fuchsia_sdk//pkg/magma_client", |
| "@fuchsia_sdk//pkg/trace", |
| "@fuchsia_sdk//pkg/trace-vthread", |
| ], |
| ) |
| |
| cc_library( |
| name = "platform_driver", |
| hdrs = [ |
| "lib/magma/platform/platform_barriers.h", |
| "lib/magma/platform/platform_bus_mapper.h", |
| "lib/magma/platform/platform_event.h", |
| "lib/magma/platform/platform_interrupt.h", |
| "lib/magma/platform/platform_mmio.h", |
| "lib/magma/platform/platform_semaphore.h", |
| "lib/magma/platform/platform_thread.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":platform", |
| "@fuchsia_sdk//pkg/mmio-ptr", |
| ], |
| ) |
| |
| cc_library( |
| name = "driver_macros", |
| srcs = [ |
| "lib/magma_service/util/simple_allocator.cc", |
| ], |
| hdrs = [ |
| "lib/magma/util/thread.h", |
| "lib/magma_service/util/address_space_allocator.h", |
| "lib/magma_service/util/simple_allocator.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":macros", |
| ":platform_logger", |
| ], |
| ) |
| |
| config_setting( |
| name = "debug_build", |
| values = { |
| "compilation_mode": "dbg", |
| }, |
| ) |
| |
| cc_library( |
| name = "macros", |
| hdrs = [ |
| "lib/magma/util/dlog.h", |
| "lib/magma/util/macros.h", |
| "lib/magma/util/short_macros.h", |
| "lib/magma/util/status.h", |
| "lib/magma/util/utils.h", |
| ], |
| defines = [ |
| "MAGMA_ENABLE_TRACING=1", |
| ] + select({ |
| ":debug_build": [ |
| "MAGMA_DEBUG_INTERNAL_USE_ONLY=1", |
| ], |
| "//conditions:default": [ |
| "MAGMA_DEBUG_INTERNAL_USE_ONLY=0", |
| ], |
| }), |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":platform_logger", |
| ], |
| ) |
| |
| cc_library( |
| name = "register_io", |
| srcs = [ |
| "lib/magma_service/util/register_io.cc", |
| ], |
| hdrs = [ |
| "lib/magma_service/util/register_io.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":platform", |
| ":platform_driver", |
| ], |
| ) |
| |
| cc_library( |
| name = "platform_logger", |
| hdrs = [ |
| "lib/magma/platform/platform_logger.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ], |
| ) |
| |
| cc_library( |
| name = "zircon", |
| srcs = [ |
| "lib/magma/platform/zircon/zircon_platform_buffer.cc", |
| "lib/magma/platform/zircon/zircon_platform_logger_dfv2.cc", |
| "lib/magma/platform/zircon/zircon_platform_port.cc", |
| "lib/magma/platform/zircon/zircon_platform_trace.cc", |
| ], |
| hdrs = [ |
| "lib/magma/platform/zircon/zircon_platform_buffer.h", |
| "lib/magma/platform/zircon/zircon_platform_handle.h", |
| "lib/magma/platform/zircon/zircon_platform_logger_dfv2.h", |
| "lib/magma/platform/zircon/zircon_platform_port.h", |
| "lib/magma/platform/zircon/zircon_platform_status.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":macros", |
| ":platform", |
| "@fuchsia_sdk//pkg/driver_logging_cpp", |
| ], |
| ) |
| |
| cc_library( |
| name = "zircon_driver", |
| srcs = [ |
| "lib/magma/platform/zircon/zircon_platform_bus_mapper.cc", |
| "lib/magma/platform/zircon/zircon_platform_event.cc", |
| "lib/magma/platform/zircon/zircon_platform_handle.cc", |
| "lib/magma/platform/zircon/zircon_platform_mmio.cc", |
| "lib/magma/platform/zircon/zircon_platform_object.cc", |
| "lib/magma/platform/zircon/zircon_platform_semaphore.cc", |
| "lib/magma/platform/zircon/zircon_platform_thread.cc", |
| "lib/magma/platform/zircon/zircon_vmo_semaphore.cc", |
| ], |
| hdrs = [ |
| "lib/magma/platform/zircon/zircon_platform_bus_mapper.h", |
| "lib/magma/platform/zircon/zircon_platform_event.h", |
| "lib/magma/platform/zircon/zircon_platform_interrupt.h", |
| "lib/magma/platform/zircon/zircon_platform_mmio.h", |
| "lib/magma/platform/zircon/zircon_platform_semaphore.h", |
| "lib/magma/platform/zircon/zircon_vmo_semaphore.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":platform_driver", |
| ":zircon", |
| "@fuchsia_sdk//pkg/mmio", |
| ], |
| ) |
| |
| cc_library( |
| name = "sys_driver", |
| srcs = [ |
| "lib/magma_service/sys_driver/dependency_injection_server.cc", |
| "lib/magma_service/sys_driver/magma_system_buffer.cc", |
| "lib/magma_service/sys_driver/magma_system_connection.cc", |
| "lib/magma_service/sys_driver/magma_system_context.cc", |
| "lib/magma_service/sys_driver/magma_system_device.cc", |
| "lib/magma_service/sys_driver/magma_system_semaphore.cc", |
| "lib/magma_service/sys_driver/performance_counters_server.cc", |
| "lib/magma_service/sys_driver/primary_fidl_server.cc", |
| ], |
| hdrs = [ |
| "lib/magma_service/sys_driver/dependency_injection_server.h", |
| "lib/magma_service/sys_driver/magma_driver_base.h", |
| "lib/magma_service/sys_driver/magma_system_buffer.h", |
| "lib/magma_service/sys_driver/magma_system_connection.h", |
| "lib/magma_service/sys_driver/magma_system_context.h", |
| "lib/magma_service/sys_driver/magma_system_device.h", |
| "lib/magma_service/sys_driver/magma_system_semaphore.h", |
| "lib/magma_service/sys_driver/performance_counters_server.h", |
| "lib/magma_service/sys_driver/primary_fidl_server.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":platform", |
| ":zircon", |
| "//:msd", |
| "@fuchsia_sdk//fidl/fuchsia.driver.framework:fuchsia.driver.framework_cpp", |
| "@fuchsia_sdk//fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_cpp", |
| "@fuchsia_sdk//fidl/fuchsia.kernel:fuchsia.kernel_cpp", |
| "@fuchsia_sdk//pkg/async-loop-cpp", |
| "@fuchsia_sdk//pkg/driver_devfs_cpp", |
| "@fuchsia_sdk//pkg/driver_runtime_cpp", |
| "@fuchsia_sdk//pkg/driver_runtime_shared_lib", |
| "@fuchsia_sdk//pkg/inspect_component_cpp", |
| ], |
| ) |
| |
| cc_library( |
| name = "mock", |
| srcs = [ |
| "lib/magma_service/mock/mock_mmio.cc", |
| ], |
| hdrs = [ |
| "lib/magma_service/mock/mock_bus_mapper.h", |
| "lib/magma_service/mock/mock_mmio.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":includes", |
| ":platform_driver", |
| "//lib/magma_service/test_util:msd_stubs", |
| ], |
| ) |