| # 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" |
| }, |
| ] |
| } |