# 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("emulation/emulation_x64.gni")

target_cpu = "x64"

board_name = "qemu-x64"

_common_bootfs_deps = [
  "//src/connectivity/ethernet/drivers/realtek-8111",
  "//src/devices/block/drivers/ahci",
  "//src/devices/block/drivers/mbr",
  "//src/devices/block/drivers/nvme",
  "//src/devices/block/drivers/pci-sdhci",
  "//src/devices/block/drivers/sdhci",
  "//src/devices/board/drivers/x86:platform-bus-x86",
  "//src/devices/bus/drivers/pci:bus-pci",
  "//src/devices/bus/drivers/pci:bus-pci.proxy",
  "//src/devices/i2c/drivers/intel-i2c",
  "//src/devices/rtc/drivers/intel-rtc",
  "//src/devices/serial/drivers/intel-serialio",
  "//src/devices/serial/drivers/uart16550",
  "//src/devices/usb/drivers/xhci:xhci-x86",
  "//src/graphics/display/drivers/intel-i915",
  "//src/graphics/display/drivers/simple:simple.amd-kaveri",
  "//src/graphics/display/drivers/simple:simple.bochs",
  "//src/graphics/display/drivers/simple:simple.intel",
  "//src/graphics/display/drivers/simple:simple.nv",
  "//src/graphics/display/drivers/simple:simple.vmware",
  "//src/media/audio/drivers/codecs/alc5514",
  "//src/media/audio/drivers/codecs/alc5663",
  "//src/media/audio/drivers/codecs/max98927",
  "//src/media/audio/drivers/intel-hda/codecs/hdmi:hdmi-audio-codec",
  "//src/media/audio/drivers/intel-hda/codecs/realtek:realtek-audio-codec",
  "//src/media/audio/drivers/intel-hda/controller:intel-hda",
  "//src/power/power-manager:base_config",
  "//src/ui/input/drivers/i2c-hid",
  "//src/ui/input/drivers/pc-ps2",
  "//zircon/third_party/dev/ethernet/e1000",
]
_common_bootfs_deps += [ "//src/security/policy/zxcrypt:null" ]

board_bootfs_labels += _common_bootfs_deps

board_recovery_bootfs_labels += _common_bootfs_deps

board_zedboot_bootfs_labels += _common_bootfs_deps

board_system_image_deps = [
  "//garnet/packages/prod:drivers-system",
  "//src/media/audio/bundles:virtual_audio_driver",
]

board_package_labels = [
  "//garnet/bin/thermd",
  "//garnet/bin/thermd:config",
  "//garnet/packages/prod:drivers-support",
  "//src/hwinfo:default_board_config",
]

max_fuchsia_zbi_size = "16777216"  # 16 MiB
max_zedboot_zbi_size = "16777216"  # 16 MiB

add_qemu_to_build_archives = true
