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

#  ________  _________  ________  ________
# |\   ____\|\___   ___\\   __  \|\   __  \
# \ \  \___|\|___ \  \_\ \  \|\  \ \  \|\  \
#  \ \_____  \   \ \  \ \ \  \\\  \ \   ____\
#   \|____|\  \   \ \  \ \ \  \\\  \ \  \___|
#     ____\_\  \   \ \__\ \ \_______\ \__\
#    |\_________\   \|__|  \|_______|\|__|
#    \|_________|
#
# Every new addition to this gni file is an instance of tech-debt that must be
# cleaned up to have a proper platform+product interface. Instead add new items
# to the the board definition in:
#
#   //boards/riscv64/BUILD.gn

import("//boards/common/riscv64-common.gni")

# Board configuration for Product Assembly
board_configuration_label = "//boards/riscv64"

board_name = "riscv64"
board_description = "A generic emulated riscv64 device."

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

platform_enable_user_pci = true

partitions_config_label = "//boards/partitions:riscv64"

bazel_product_bundle_board = "riscv64"
