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

#  ________  _________  ________  ________
# |\   ____\|\___   ___\\   __  \|\   __  \
# \ \  \___|\|___ \  \_\ \  \|\  \ \  \|\  \
#  \ \_____  \   \ \  \ \ \  \\\  \ \   ____\
#   \|____|\  \   \ \  \ \ \  \\\  \ \  \___|
#     ____\_\  \   \ \__\ \ \_______\ \__\
#    |\_________\   \|__|  \|_______|\|__|
#    \|_________|
#
# 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/qemu-arm64/BUILD.gn

has_board = true
target_cpu = "arm64"

# Board configuration for Product Assembly
board_configuration_label = "//boards/qemu-arm64"
bazel_product_bundle_board = "qemu-arm64"

board_name = "qemu-arm64"
add_qemu_to_build_archives = true

# Supports only virtual devices.
board_is_emu = true

partitions_config_label = "//boards/partitions:default"

blobfs_capacity = 10485760000  # 10000 MiB
max_blob_contents_size =
    5216665600  # 4975 MiB. Leaves 50 MiB for the update package.
