blob: fbdc1f1c86edacfe5e0b49d116d3c32a16beb135 [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/package.gni")
source_set("machina") {
sources = [
"bits.h",
"block_dispatcher.cc",
"block_dispatcher.h",
"framebuffer_scanout.cc",
"framebuffer_scanout.h",
"gpu_bitmap.cc",
"gpu_bitmap.h",
"gpu_resource.cc",
"gpu_resource.h",
"gpu_scanout.cc",
"gpu_scanout.h",
"guest.cc",
"guest.h",
"guest_controller_impl.cc",
"guest_controller_impl.h",
"hid_event_source.cc",
"hid_event_source.h",
"input_dispatcher.cc",
"input_dispatcher.h",
"io.cc",
"io.h",
"pci.cc",
"pci.h",
"phys_mem.cc",
"phys_mem.h",
"qcow.cc",
"qcow.h",
"qcow_refcount.cc",
"qcow_refcount.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.cc",
"virtio_device.h",
"virtio_gpu.cc",
"virtio_gpu.h",
"virtio_input.cc",
"virtio_input.h",
"virtio_net.cc",
"virtio_net.h",
"virtio_pci.cc",
"virtio_pci.h",
"virtio_queue.cc",
"virtio_queue.h",
"virtio_queue_waiter.cc",
"virtio_queue_waiter.h",
"virtio_vsock.cc",
"virtio_vsock.h",
"volatile_write_block_dispatcher.cc",
"volatile_write_block_dispatcher.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",
"arch/x86/tpm.h",
]
include_dirs = [ "//zircon/third_party/lib/acpica/source/include" ]
}
public_deps = [
"//garnet/public/lib/app/cpp",
"//garnet/public/lib/guest/fidl",
"//zircon/public/lib/bitmap",
"//zircon/public/lib/ddk",
"//zircon/public/lib/fit",
"//zircon/public/lib/hid",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-engine",
"//zircon/public/lib/virtio",
"//zircon/public/lib/zx",
]
defines = [ "_ALL_SOURCE=1" ]
deps = [
"//garnet/public/lib/fsl",
"//garnet/public/lib/fxl",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-testutils",
"//zircon/public/lib/block-client",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fdio",
"//zircon/public/lib/framebuffer",
"//zircon/public/lib/sync",
"//zircon/public/lib/zxcpp",
]
}
executable("machina_unittests") {
testonly = true
sources = [
"hid_event_source-unittest.cc",
"input_dispatcher-unittest.cc",
"pci-unittest.cc",
"qcow-unittest.cc",
"virtio_block-unittest.cc",
"virtio_device_fake.h",
"virtio_gpu-unittest.cc",
"virtio_net-unittest.cc",
"virtio_queue-unittest.cc",
"virtio_queue_fake.cc",
"virtio_queue_fake.h",
"virtio_queue_waiter-unittest.cc",
"virtio_vsock-unittest.cc",
"volatile_write_block_dispatcher-unittest.cc",
]
if (current_cpu == "x64") {
sources += [
"arch/x86/decode-unittest.cc",
"arch/x86/page_table-unittest.cc",
]
}
deps = [
":machina",
"//garnet/public/lib/fsl",
"//third_party/googletest:gtest_main",
"//zircon/public/lib/ddk",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fit",
]
}
package("machina_tests") {
testonly = true
deprecated_system_image = true
deps = [
":machina_unittests",
]
tests = [
{
name = "machina_unittests"
},
]
}