# Copyright 2023 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/assembly/board_input_bundle.gni")

# Drivers required for virtio support.
#
# These drivers are used when Fuchsia is running as a guest in a hypervisor
# such as QEMU.
board_input_bundle("virtio") {
  drivers = [
    {
      package_target = "//src/connectivity/ethernet/drivers/virtio:package"
      package_set = "bootfs"
      driver_components = [ "meta/virtio_netdevice.cm" ]
    },
    {
      package_target = "//src/devices/block/drivers/virtio:virtio_block_package"
      package_set = "bootfs"
      driver_components = [ "meta/virtio_block.cm" ]
    },
    {
      package_target = "//src/devices/block/drivers/virtio:virtio_scsi_package"
      package_set = "bootfs"
      driver_components = [ "meta/virtio_scsi.cm" ]
    },
    {
      package_target = "//src/devices/misc/drivers/virtio-rng:package"
      package_set = "bootfs"
      driver_components = [ "meta/virtio_rng.cm" ]
    },
    {
      package_target = "//src/devices/misc/drivers/virtio-socket:package"
      package_set = "bootfs"
      driver_components = [ "meta/virtio_socket.cm" ]
    },
    {
      package_target = "//src/devices/serial/drivers/virtio-console:package"
      package_set = "bootfs"
      driver_components = [ "meta/virtio_console.cm" ]
    },
    {
      package_target = "//src/graphics/drivers/misc/goldfish"
      package_set = "bootfs"
      driver_components = [ "meta/goldfish.cm" ]
    },
    {
      package_target = "//src/graphics/drivers/misc/goldfish_address_space"
      package_set = "bootfs"
      driver_components = [ "meta/goldfish_address_space.cm" ]
    },
    {
      package_target = "//src/graphics/drivers/misc/goldfish_control"
      package_set = "bootfs"
      driver_components = [ "meta/goldfish_control.cm" ]
    },
    {
      package_target = "//src/graphics/drivers/misc/goldfish_sync"
      package_set = "bootfs"
      driver_components = [ "meta/goldfish_sync.cm" ]
    },
    {
      package_target = "//src/graphics/drivers/msd-virtio-gpu"
      package_set = "base"
      driver_components = [ "meta/msd_virtio.cm" ]
    },
    {
      package_target =
          "//src/graphics/display/drivers/goldfish-display:goldfish_display"
      package_set = "bootfs"
      driver_components = [ "meta/goldfish-display.cm" ]
    },
    {
      package_target = "//src/ui/input/drivers/virtio:package"
      package_set = "bootfs"
      driver_components = [ "meta/virtio_input.cm" ]
    },
    {
      package_target = "//src/ui/input/drivers/goldfish_sensor"
      package_set = "bootfs"
      driver_components = [ "meta/goldfish_sensor.cm" ]
    },
    {
      package_target = "//src/graphics/display/drivers/virtio-guest:package"
      package_set = "bootfs"
      driver_components = [ "meta/virtio_gpu.cm" ]
    },
  ]
}
