github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/make/target/board/generic_arm64/BoardConfig.mk (about)

     1  # Copyright (C) 2013 The Android Open Source Project
     2  #
     3  # Licensed under the Apache License, Version 2.0 (the "License");
     4  # you may not use this file except in compliance with the License.
     5  # You may obtain a copy of the License at
     6  #
     7  #      http://www.apache.org/licenses/LICENSE-2.0
     8  #
     9  # Unless required by applicable law or agreed to in writing, software
    10  # distributed under the License is distributed on an "AS IS" BASIS,
    11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  # See the License for the specific language governing permissions and
    13  # limitations under the License.
    14  #
    15  
    16  # The generic product target doesn't have any hardware-specific pieces.
    17  TARGET_NO_BOOTLOADER := true
    18  TARGET_NO_KERNEL := true
    19  TARGET_ARCH := arm64
    20  TARGET_ARCH_VARIANT := armv8-a
    21  TARGET_CPU_VARIANT := generic
    22  TARGET_CPU_ABI := arm64-v8a
    23  TARGET_BOOTLOADER_BOARD_NAME := goldfish_$(TARGET_ARCH)
    24  
    25  TARGET_2ND_ARCH := arm
    26  TARGET_2ND_CPU_ABI := armeabi-v7a
    27  TARGET_2ND_CPU_ABI2 := armeabi
    28  
    29  ifneq ($(TARGET_BUILD_APPS)$(filter cts sdk,$(MAKECMDGOALS)),)
    30  # DO NOT USE
    31  # DO NOT USE
    32  #
    33  # This architecture / CPU variant must NOT be used for any 64 bit
    34  # platform builds. It is the lowest common denominator required
    35  # to build an unbundled application or cts for all supported 32 and 64 bit
    36  # platforms.
    37  #
    38  # If you're building a 64 bit platform (and not an application) the
    39  # ARM-v8 specification allows you to assume all the features available in an
    40  # armv7-a-neon CPU. You should set the following as 2nd arch/cpu variant:
    41  #
    42  # TARGET_2ND_ARCH_VARIANT := armv8-a
    43  # TARGET_2ND_CPU_VARIANT := generic
    44  #
    45  # DO NOT USE
    46  # DO NOT USE
    47  TARGET_2ND_ARCH_VARIANT := armv7-a
    48  # DO NOT USE
    49  # DO NOT USE
    50  TARGET_2ND_CPU_VARIANT := generic
    51  # DO NOT USE
    52  # DO NOT USE
    53  else
    54  TARGET_2ND_ARCH_VARIANT := armv8-a
    55  TARGET_2ND_CPU_VARIANT := generic
    56  endif
    57  
    58  
    59  TARGET_USES_64_BIT_BINDER := true
    60  
    61  # no hardware camera
    62  USE_CAMERA_STUB := true
    63  
    64  TARGET_USES_HWC2 := true
    65  NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
    66  
    67  # Build OpenGLES emulation host and guest libraries
    68  BUILD_EMULATOR_OPENGL := true
    69  BUILD_QEMU_IMAGES := true
    70  
    71  # Build and enable the OpenGL ES View renderer. When running on the emulator,
    72  # the GLES renderer disables itself if host GL acceleration isn't available.
    73  USE_OPENGL_RENDERER := true
    74  
    75  TARGET_USERIMAGES_USE_EXT4 := true
    76  BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2684354560 # 2.5 GB
    77  BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
    78  TARGET_COPY_OUT_VENDOR := vendor
    79  # ~100 MB vendor image. Please adjust system image / vendor image sizes
    80  # when finalizing them.
    81  BOARD_VENDORIMAGE_PARTITION_SIZE := 100000000
    82  BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
    83  BOARD_FLASH_BLOCK_SIZE := 512
    84  TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
    85  DEVICE_MATRIX_FILE   := device/generic/goldfish/compatibility_matrix.xml
    86  
    87  # Android generic system image always create metadata partition
    88  BOARD_USES_METADATA_PARTITION := true
    89  
    90  # Set this to create /cache mount point for non-A/B devices that mounts /cache.
    91  # The partition size doesn't matter, just to make build pass.
    92  BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
    93  BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216
    94  
    95  BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
    96  BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/common
    97  
    98  # Android Verified Boot (AVB):
    99  #   Builds a special vbmeta.img that disables AVB verification.
   100  #   Otherwise, AVB will prevent the device from booting the generic system.img.
   101  #   Also checks that BOARD_AVB_ENABLE is not set, to prevent adding verity
   102  #   metadata into system.img.
   103  ifeq ($(BOARD_AVB_ENABLE),true)
   104  $(error BOARD_AVB_ENABLE cannot be set for GSI)
   105  endif
   106  BOARD_BUILD_DISABLED_VBMETAIMAGE := true
   107  
   108  ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
   109  # GSI is always userdebug and needs a couple of properties taking precedence
   110  # over those set by the vendor.
   111  TARGET_SYSTEM_PROP := build/make/target/board/gsi_system.prop
   112  endif
   113  BOARD_VNDK_VERSION := current
   114  
   115  # Emulator system image is going to be used as GSI and some vendor still hasn't
   116  # cleaned up all device specific directories under root!
   117  
   118  # TODO(jiyong) These might be SoC specific.
   119  BOARD_ROOT_EXTRA_FOLDERS += firmware firmware/radio persist
   120  BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
   121  
   122  # TODO(b/36764215): remove this setting when the generic system image
   123  # no longer has QCOM-specific directories under /.
   124  BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy
   125  
   126  # Wifi.
   127  BOARD_WLAN_DEVICE           := emulator
   128  BOARD_HOSTAPD_DRIVER        := NL80211
   129  BOARD_WPA_SUPPLICANT_DRIVER := NL80211
   130  BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_simulated
   131  BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
   132  WPA_SUPPLICANT_VERSION      := VER_0_8_X
   133  WIFI_DRIVER_FW_PATH_PARAM   := "/dev/null"
   134  WIFI_DRIVER_FW_PATH_STA     := "/dev/null"
   135  WIFI_DRIVER_FW_PATH_AP      := "/dev/null"
   136  
   137  # Enable A/B update
   138  TARGET_NO_RECOVERY := true
   139  BOARD_BUILD_SYSTEM_ROOT_IMAGE := true