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

# This file defines base configs used on multiple x64-based targets.

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

# Drivers and tools to include on bootfs.
_bootfs_deps =
    [
      # Drivers
      "//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/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.nv",
      "//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/ui/input/drivers/i2c-hid",
      "//src/ui/input/drivers/pc-ps2",
      "//zircon/third_party/dev/ethernet/e1000",

      # Additional drivers to support running as a virtualization guest.
    ] + _imports.virtio_drivers +
    [
      "//src/graphics/display/drivers/simple:simple.bochs",
      "//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",

      # Tools
      "//src/devices/bin/acpidump",
      "//src/devices/pci/bin:bootfs",
      "//src/media/audio/bin/ihda",

      # Configs
      "//src/power/power-manager:base_config",
      "//src/security/policy/zxcrypt:null",
    ]
board_bootfs_labels = _bootfs_deps
board_recovery_bootfs_labels = _bootfs_deps
board_zedboot_bootfs_labels = _bootfs_deps

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

board_package_labels = [
  "//src/power/thermd",
  "//src/power/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
minfs_enable_dirty_cache = true
