blob: 16795d5af5936861e69cdb0703d4c19747b27be6 [file] [log] [blame]
# Copyright 2019 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.
library("object") {
kernel = true
sources = [
"buffer_chain.cpp",
"bus_transaction_initiator_dispatcher.cpp",
"channel_dispatcher.cpp",
"diagnostics.cpp",
"dispatcher.cpp",
"event_dispatcher.cpp",
"event_pair_dispatcher.cpp",
"exception.cpp",
"exception_dispatcher.cpp",
"exceptionate.cpp",
"excp_port.cpp",
"fifo_dispatcher.cpp",
"futex_context.cpp",
"glue.cpp",
"guest_dispatcher.cpp",
"handle.cpp",
"interrupt_dispatcher.cpp",
"interrupt_event_dispatcher.cpp",
"iommu_dispatcher.cpp",
"job_dispatcher.cpp",
"job_policy.cpp",
"log_dispatcher.cpp",
"mbuf.cpp",
"message_packet.cpp",
"pager_dispatcher.cpp",
"pci_device_dispatcher.cpp",
"pci_interrupt_dispatcher.cpp",
"pinned_memory_token_dispatcher.cpp",
"port_dispatcher.cpp",
"process_dispatcher.cpp",
"profile_dispatcher.cpp",
"resource.cpp",
"resource_dispatcher.cpp",
"semaphore.cpp",
"socket_dispatcher.cpp",
"suspend_token_dispatcher.cpp",
"thread_dispatcher.cpp",
"timer_dispatcher.cpp",
"user_handles.cpp",
"vcpu_dispatcher.cpp",
"virtual_interrupt_dispatcher.cpp",
"vm_address_region_dispatcher.cpp",
"vm_object_dispatcher.cpp",
"wait_state_observer.cpp",
]
deps = [
":tests",
"$zx/kernel/dev/interrupt",
"$zx/kernel/dev/iommu/dummy",
"$zx/kernel/dev/pcie",
"$zx/kernel/lib/console",
"$zx/kernel/lib/counters",
"$zx/kernel/lib/fbl",
"$zx/kernel/lib/hypervisor",
"$zx/kernel/lib/oom",
"$zx/system/ulib/pretty",
"$zx/system/ulib/region-alloc",
]
if (current_cpu == "x64") {
deps += [ "$zx/kernel/dev/iommu/intel" ]
}
public_deps = [
# <object/pci_device_dispatcher.h> has #include <dev/pci_common.h>
"$zx/kernel/dev/pcie:headers",
# <object/log_dispatcher.h> has #include <lib/debuglog.h>.
"$zx/kernel/lib/debuglog:headers",
# <object/resource_dispatcher.h> has #include <region-alloc/region-alloc.h>.
"$zx/system/ulib/region-alloc:headers",
# <object/vcpu_dispatcher.h> has #include <hypervisor/interrupt_tracker.h>.
#"$zx/kernel/lib/hypervisor:headers",
# <object/process_dispatcher.h> has #include <vm/vm_aspace.h>.
"$zx/kernel/vm:headers",
]
}
source_set("tests") {
# TODO: testonly = true
sources = [
"buffer_chain_tests.cpp",
"exceptionate_tests.cpp",
"handle_tests.cpp",
"job_policy_tests.cpp",
"mbuf_tests.cpp",
"message_packet_tests.cpp",
"semaphore_tests.cpp",
"state_tracker_tests.cpp",
]
deps = [
":headers",
"$zx/kernel/lib/console",
"$zx/kernel/lib/unittest",
]
}