# 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.

import("common/x64-common.gni")

_imports = {  # Import into hidden scope, to avoid importing into args.gn.
  import("//boards/emulation/virtio_drivers.gni")
}

# BoardInformation for Product Assembly
board_information_for_assembly = "//boards/qemu-x64/board_information.json5"

board_name = "qemu-x64"

add_qemu_to_build_archives = true

board_package_labels += [ "//src/factory/factory_store_providers/config/qemu" ]

# Additional drivers to support running as a virtualization guest.
_bootfs_deps =
    _imports.virtio_drivers + [
      "//src/connectivity/ethernet/drivers/third_party/igc",
      "//src/devices/tpm/drivers/tpm-lpc:tpm-lpc-driver",
      "//src/graphics/display/drivers/simple:simple.bochs",
      "//src/graphics/display/drivers/simple:simple.gga",
      "//src/graphics/display/drivers/simple:simple.intel",
      "//src/graphics/display/drivers/simple:simple.vmware",
      "//src/media/audio/drivers/intel-hda/codecs/qemu:qemu-audio-codec",
      "//zircon/third_party/dev/ethernet/e1000",
    ]

board_bootfs_labels += _bootfs_deps
board_recovery_bootfs_labels += _bootfs_deps
board_zedboot_bootfs_labels += _bootfs_deps

# Supports only virtual devices.
board_is_emu = true
board_is_phys = false

images_config_label = "//boards/images:qemu-x64"
zedboot_images_config_label = "//boards/images:zedboot_qemu"
bringup_images_config_label = "//boards/images:bringup_qemu"
bringup_fastboot_images_config_label = "//boards/images:bringup_fastboot_qemu"
partitions_config_label = "//boards/partitions:qemu-x64"
