# 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 = "x64"

_common_bootfs_deps = [
  "//boards/kernel_cmdline:serial-legacy",
  "//src/connectivity/ethernet/drivers/realtek-8111",
  "//src/devices/bin/acpidump",
  "//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/pci/bin:bootfs",
  "//src/devices/rtc/drivers/intel-rtc",
  "//src/devices/serial/drivers/intel-serialio",
  "//src/devices/serial/drivers/uart16550",
  "//src/devices/usb/drivers/xhci-rewrite:xhci",
  "//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/bin/ihda",
  "//src/media/audio/drivers/alc5514",
  "//src/media/audio/drivers/alc5663",
  "//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/media/audio/drivers/max98927",
  "//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/power_manager",
  "//garnet/bin/power_manager:base_config",
  "//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

use_vbmeta = true
build_uefi_disk = true
avb_key = "//zircon/third_party/tools/android/avb/test/data/testkey_atx_psk.pem"
avb_atx_metadata =
    "//zircon/third_party/tools/android/avb/test/data/atx_metadata.bin"

zircon_a_partition = "zircon-a"
zircon_b_partition = "zircon-b"
zircon_r_partition = "zircon-r"
vbmeta_a_partition = "vbmeta_a"
vbmeta_b_partition = "vbmeta_b"
vbmeta_r_partition = "vbmeta_r"
active_partition = "a"
