blob: c306015a3192789dd86bf73ac2cd910adb4dbbfe [file] [log] [blame]
# Copyright 2017 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.
import("//build/test/test_package.gni")
source_set("machina") {
sources = [
"bits.h",
"dev_mem.h",
"guest.cc",
"guest.h",
"io.cc",
"io.h",
"pci.cc",
"pci.h",
"platform_device.h",
"vcpu.cc",
"vcpu.h",
"virtio_balloon.cc",
"virtio_balloon.h",
"virtio_block.cc",
"virtio_block.h",
"virtio_console.cc",
"virtio_console.h",
"virtio_device.h",
"virtio_gpu.cc",
"virtio_gpu.h",
"virtio_input.cc",
"virtio_input.h",
"virtio_net.cc",
"virtio_net.h",
"virtio_net_legacy.cc",
"virtio_net_legacy.h",
"virtio_pci.cc",
"virtio_pci.h",
"virtio_queue_waiter.cc",
"virtio_queue_waiter.h",
"virtio_rng.cc",
"virtio_rng.h",
"virtio_vsock.cc",
"virtio_vsock.h",
"virtio_wl.cc",
"virtio_wl.h",
]
if (current_cpu == "arm64") {
sources += [
"arch/arm64/gic_distributor.cc",
"arch/arm64/gic_distributor.h",
"arch/arm64/pl011.cc",
"arch/arm64/pl011.h",
"arch/arm64/pl031.cc",
"arch/arm64/pl031.h",
]
} else if (current_cpu == "x64") {
sources += [
"arch/x86/acpi.cc",
"arch/x86/acpi.h",
"arch/x86/acpi_priv.h",
"arch/x86/decode.cc",
"arch/x86/decode.h",
"arch/x86/e820.cc",
"arch/x86/e820.h",
"arch/x86/i8250.cc",
"arch/x86/i8250.h",
"arch/x86/io_apic.cc",
"arch/x86/io_apic.h",
"arch/x86/io_port.cc",
"arch/x86/io_port.h",
"arch/x86/page_table.cc",
"arch/x86/page_table.h",
]
include_dirs = [ "//zircon/third_party/lib/acpica/source/include" ]
}
defines = [ "_ALL_SOURCE=1" ]
deps = [
"//garnet/bin/guest/third_party/fdt",
"//garnet/lib/machina/device",
"//garnet/lib/machina/fidl:fuchsia.guest.device",
"//garnet/public/lib/fsl",
"//zircon/public/fidl/fuchsia-sysinfo:fuchsia-sysinfo_c",
"//zircon/public/fidl/zircon-ethernet:zircon-ethernet_c",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-testutils",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fdio",
"//zircon/public/lib/fzl",
"//zircon/public/lib/libzbi",
"//zircon/public/lib/zxcpp",
]
public_deps = [
"//garnet/public/fidl/fuchsia.guest",
"//garnet/public/lib/component/cpp",
"//zircon/public/lib/ddk",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-engine",
"//zircon/public/lib/virtio",
"//zircon/public/lib/zx",
]
}
executable("machina_unittests") {
testonly = true
sources = [
"dev_mem_unittest.cc",
"pci_unittest.cc",
"phys_mem_fake.h",
"virtio_device_fake.h",
"virtio_net_legacy_unittest.cc",
"virtio_queue_fake.cc",
"virtio_queue_fake.h",
"virtio_queue_unittest.cc",
"virtio_queue_waiter_unittest.cc",
"virtio_vsock_unittest.cc",
]
if (current_cpu == "x64") {
sources += [
"arch/x86/decode_unittest.cc",
"arch/x86/page_table_unittest.cc",
]
}
deps = [
":machina",
"//garnet/lib/machina/device",
"//garnet/public/lib/gtest",
"//third_party/googletest:gtest_main",
"//zircon/public/fidl/zircon-ethernet:zircon-ethernet_c",
"//zircon/public/lib/ddk",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fit",
]
}
test_package("machina_tests") {
deps = [
":machina_unittests",
]
tests = [
{
name = "machina_unittests"
},
]
}