Previously, we copied all available kernel modules into the vendor_boot ramdisk except for approx. 14 modules that we explicitly excluded. Going forward, the kernel build will distribute the two additional files vendor_boot.modules.load and vendor_dlkm.modules.load which define, respectively, the lists of modules that should be loaded from vendor_boot and vendor_dlkm. The contents of the two *.modules.load files will be copied almost verbatim into modules.load files in the respective images except for the fact that the directory names of the .ko files are stripped. So, for example, kernel/net/core/pktgen.ko becomes just pktgen.ko. Additionally, we only copy those .ko files into the vendor_boot image that are listed in vendor_boot.modules.load. On the other hand, the vendor_dlkm partition image will contain all .ko files regardless of whether they are listed in vendor_dlkm.modules.load. Bug: 190652328 Change-Id: Ibda5b9368547ad089575333e2566697ec0e8465f
406 lines
12 KiB
Makefile
406 lines
12 KiB
Makefile
#
|
|
# Copyright (C) 2019 The Android Open-Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
include build/make/target/board/BoardConfigMainlineCommon.mk
|
|
include build/make/target/board/BoardConfigPixelCommon.mk
|
|
|
|
# Should be uncommented after fixing vndk-sp violation is fixed.
|
|
PRODUCT_FULL_TREBLE_OVERRIDE := true
|
|
|
|
# This prop, when set to 1, will prevent OTA tooling from generating a VABC OTA,
|
|
# even if device actually supports it.
|
|
# Remove this once P21 decides to use VABC OTA
|
|
BOARD_DONT_USE_VABC_OTA := true
|
|
|
|
# HACK : To fix up after bring up multimedia devices.
|
|
TARGET_SOC := gs101
|
|
|
|
TARGET_SOC_NAME := google
|
|
|
|
USES_DEVICE_GOOGLE_GS101 := true
|
|
|
|
TARGET_ARCH := arm64
|
|
TARGET_ARCH_VARIANT := armv8-2a
|
|
TARGET_CPU_ABI := arm64-v8a
|
|
TARGET_CPU_VARIANT := cortex-a55
|
|
TARGET_CPU_VARIANT_RUNTIME := cortex-a55
|
|
|
|
ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
|
|
TARGET_2ND_ARCH := arm
|
|
TARGET_2ND_ARCH_VARIANT := armv8-a
|
|
TARGET_2ND_CPU_ABI := armeabi-v7a
|
|
TARGET_2ND_CPU_ABI2 := armeabi
|
|
TARGET_2ND_CPU_VARIANT := generic
|
|
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a53
|
|
endif
|
|
|
|
BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\"
|
|
BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10A00000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on
|
|
BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y
|
|
BOARD_KERNEL_CMDLINE += stack_depot_disable=off page_pinner=on
|
|
BOARD_BOOTCONFIG += androidboot.boot_devices=14700000.ufs
|
|
|
|
TARGET_NO_BOOTLOADER := true
|
|
TARGET_NO_KERNEL := false
|
|
TARGET_NO_RADIOIMAGE := true
|
|
BOARD_USES_GENERIC_KERNEL_IMAGE := true
|
|
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
|
|
BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
|
|
TARGET_RECOVERY_WIPE := device/google/gs101/conf/recovery.wipe
|
|
TARGET_RECOVERY_FSTAB := device/google/gs101/conf/fstab.gs101
|
|
TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
|
|
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
|
|
TARGET_RECOVERY_UI_LIB := \
|
|
librecovery_ui_pixel \
|
|
libfstab
|
|
|
|
AB_OTA_UPDATER := true
|
|
|
|
AB_OTA_PARTITIONS += \
|
|
system \
|
|
system_ext \
|
|
product \
|
|
vbmeta_system
|
|
|
|
ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
|
|
AB_OTA_PARTITIONS += boot
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false)
|
|
AB_OTA_PARTITIONS += vendor_boot
|
|
AB_OTA_PARTITIONS += dtbo
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false)
|
|
AB_OTA_PARTITIONS += vbmeta
|
|
endif
|
|
|
|
# EMULATOR common modules
|
|
BOARD_EMULATOR_COMMON_MODULES := liblight
|
|
|
|
OVERRIDE_RS_DRIVER := libRSDriverArm.so
|
|
BOARD_EGL_CFG := device/google/gs101/conf/egl.cfg
|
|
#BOARD_USES_HGL := true
|
|
USE_OPENGL_RENDERER := true
|
|
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
|
|
BOARD_USES_EXYNOS5_COMMON_GRALLOC := true
|
|
BOARD_USES_EXYNOS_GRALLOC_VERSION := $(DEVICE_USES_EXYNOS_GRALLOC_VERSION)
|
|
BOARD_USES_ALIGN_RESTRICTION := false
|
|
BOARD_USES_GRALLOC_ION_SYNC := true
|
|
|
|
# This should be the same value as USE_SWIFTSHADER in device.mk
|
|
BOARD_USES_SWIFTSHADER := false
|
|
|
|
# Gralloc4
|
|
ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4)
|
|
SOONG_CONFIG_NAMESPACES += arm_gralloc
|
|
SOONG_CONFIG_arm_gralloc := \
|
|
gralloc_arm_no_external_afbc \
|
|
mali_gpu_support_afbc_basic \
|
|
mali_gpu_support_afbc_wideblk \
|
|
gralloc_init_afbc \
|
|
gralloc_ion_sync_on_lock \
|
|
dpu_support_1010102_afbc
|
|
|
|
ifeq ($(BOARD_USES_SWIFTSHADER),true)
|
|
SOONG_CONFIG_arm_gralloc_gralloc_arm_no_external_afbc := true
|
|
SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_basic := false
|
|
SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_wideblk := false
|
|
SOONG_CONFIG_arm_gralloc_gralloc_init_afbc := false
|
|
SOONG_CONFIG_arm_gralloc_dpu_support_1010102_afbc := false
|
|
else
|
|
SOONG_CONFIG_arm_gralloc_gralloc_arm_no_external_afbc := false
|
|
SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_basic := true
|
|
SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_wideblk := true
|
|
SOONG_CONFIG_arm_gralloc_gralloc_init_afbc := true
|
|
SOONG_CONFIG_arm_gralloc_dpu_support_1010102_afbc := true
|
|
endif # ifeq ($(BOARD_USES_SWIFTSHADER),true)
|
|
SOONG_CONFIG_arm_gralloc_gralloc_ion_sync_on_lock := $(BOARD_USES_GRALLOC_ION_SYNC)
|
|
endif # ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4)
|
|
|
|
# libVendorGraphicbuffer
|
|
SOONG_CONFIG_NAMESPACES += vendorgraphicbuffer
|
|
SOONG_CONFIG_vendorgraphicbuffer := \
|
|
gralloc_version
|
|
|
|
ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4)
|
|
SOONG_CONFIG_vendorgraphicbuffer_gralloc_version := four
|
|
else
|
|
SOONG_CONFIG_vendorgraphicbuffer_gralloc_version := three
|
|
endif
|
|
|
|
# Graphics
|
|
#BOARD_USES_EXYNOS_DATASPACE_FEATURE := true
|
|
|
|
# Enable chain partition for system.
|
|
BOARD_AVB_VBMETA_SYSTEM := system system_ext product
|
|
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
|
|
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
|
|
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
|
|
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
|
|
|
|
# Enable chained vbmeta for boot images
|
|
BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
|
|
BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
|
|
BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
|
|
BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
|
|
|
|
TARGET_USERIMAGES_USE_EXT4 := true
|
|
TARGET_USERIMAGES_USE_F2FS := true
|
|
BOARD_USERDATAIMAGE_PARTITION_SIZE := 11796480000
|
|
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
|
|
PRODUCT_FS_COMPRESSION := 1
|
|
BOARD_FLASH_BLOCK_SIZE := 4096
|
|
BOARD_MOUNT_SDCARD_RW := true
|
|
|
|
# product.img
|
|
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
|
|
TARGET_COPY_OUT_PRODUCT := product
|
|
|
|
# system_ext.img
|
|
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
|
|
TARGET_COPY_OUT_SYSTEM_EXT := system_ext
|
|
|
|
########################
|
|
# Video Codec
|
|
########################
|
|
# 1. Exynos C2
|
|
BOARD_USE_CSC_FILTER := false
|
|
BOARD_USE_DEC_SW_CSC := true
|
|
BOARD_USE_ENC_SW_CSC := true
|
|
BOARD_SUPPORT_MFC_ENC_RGB := true
|
|
BOARD_USE_BLOB_ALLOCATOR := false
|
|
########################
|
|
|
|
BOARD_SUPER_PARTITION_SIZE := 8531214336
|
|
BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
|
|
# Set size to BOARD_SUPER_PARTITION_SIZE - overhead (4MiB) (b/182237294)
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 8527020032
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
|
|
system \
|
|
system_ext \
|
|
product \
|
|
vendor \
|
|
vendor_dlkm
|
|
|
|
# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
|
|
BOARD_SUPER_PARTITION_ERROR_LIMIT := 8006926336
|
|
|
|
#
|
|
# AUDIO & VOICE
|
|
#
|
|
BOARD_USES_GENERIC_AUDIO := true
|
|
|
|
SOONG_CONFIG_NAMESPACES += aoc_audio_func
|
|
|
|
SOONG_CONFIG_aoc_audio_func += \
|
|
ext_hidl
|
|
|
|
SOONG_CONFIG_aoc_audio_func_ext_hidl := true
|
|
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
SOONG_CONFIG_aoc_audio_func += \
|
|
dump_usecase_data \
|
|
hal_socket_control \
|
|
record_tunning_keys
|
|
|
|
SOONG_CONFIG_aoc_audio_func_dump_usecase_data := true
|
|
SOONG_CONFIG_aoc_audio_func_hal_socket_control := true
|
|
SOONG_CONFIG_aoc_audio_func_record_tunning_keys := true
|
|
endif
|
|
|
|
# Primary AudioHAL Configuration
|
|
#BOARD_USE_COMMON_AUDIOHAL := true
|
|
#BOARD_USE_CALLIOPE_AUDIOHAL := false
|
|
#BOARD_USE_AUDIOHAL := true
|
|
|
|
# Compress Offload Configuration
|
|
#BOARD_USE_OFFLOAD_AUDIO := true
|
|
#BOARD_USE_OFFLOAD_EFFECT := false
|
|
|
|
# SoundTriggerHAL Configuration
|
|
#BOARD_USE_SOUNDTRIGGER_HAL := false
|
|
|
|
# HWComposer
|
|
BOARD_HWC_VERSION := libhwc2.1
|
|
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := false
|
|
BOARD_HDMI_INCAPABLE := true
|
|
TARGET_USES_HWC2 := true
|
|
HWC_SKIP_VALIDATE := true
|
|
HWC_SUPPORT_RENDER_INTENT := true
|
|
HWC_SUPPORT_COLOR_TRANSFORM := true
|
|
#BOARD_USES_DISPLAYPORT := true
|
|
# if AFBC is enabled, must set ro.vendor.ddk.set.afbc=1
|
|
BOARD_USES_EXYNOS_AFBC_FEATURE := true
|
|
#BOARD_USES_HDRUI_GLES_CONVERSION := true
|
|
|
|
BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_gs101
|
|
BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin
|
|
|
|
# HWCServices
|
|
BOARD_USES_HWC_SERVICES := true
|
|
|
|
# WiFiDisplay
|
|
# BOARD_USES_VIRTUAL_DISPLAY := true
|
|
# BOARD_USES_VDS_EXYNOS_HWC := true
|
|
# BOARD_USES_WIFI_DISPLAY:= true
|
|
# BOARD_USES_EGL_SURFACE_FOR_COMPOSITION_MIXED := true
|
|
# BOARD_USES_VDS_YUV420SPM := true
|
|
# BOARD_USES_VDS_OTHERFORMAT := true
|
|
# BOARD_USES_VDS_DEBUG_FLAG := true
|
|
# BOARD_USES_DISABLE_COMPOSITIONTYPE_GLES := true
|
|
# BOARD_USES_SECURE_ENCODER_ONLY := true
|
|
# BOARD_USES_TSMUX := true
|
|
|
|
# SCALER
|
|
BOARD_USES_DEFAULT_CSC_HW_SCALER := true
|
|
BOARD_DEFAULT_CSC_HW_SCALER := 4
|
|
BOARD_USES_SCALER_M2M1SHOT := true
|
|
|
|
# Device Tree
|
|
BOARD_USES_DT := true
|
|
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_DIR)
|
|
BOARD_PREBUILT_DTBOIMAGE := $(BOARD_PREBUILT_DTBIMAGE_DIR)/dtbo.img
|
|
|
|
# PLATFORM LOG
|
|
TARGET_USES_LOGD := true
|
|
|
|
# LIBHWJPEG
|
|
#TARGET_USES_UNIVERSAL_LIBHWJPEG := true
|
|
#LIBHWJPEG_HWSCALER_ID := 0
|
|
|
|
#Keymaster
|
|
#BOARD_USES_KEYMASTER_VER1 := true
|
|
|
|
#FMP
|
|
#BOARD_USES_FMP_DM_CRYPT := true
|
|
#BOARD_USES_FMP_FSCRYPTO := true
|
|
BOARD_USES_METADATA_PARTITION := true
|
|
|
|
# SKIA
|
|
#BOARD_USES_SKIA_MULTITHREADING := true
|
|
#BOARD_USES_FIMGAPI_V5X := true
|
|
|
|
# SECCOMP Policy
|
|
BOARD_SECCOMP_POLICY = device/google/gs101/seccomp_policy
|
|
|
|
#CURL
|
|
BOARD_USES_CURL := true
|
|
|
|
# Sensor HAL
|
|
BOARD_USES_EXYNOS_SENSORS_DUMMY := true
|
|
|
|
# VISION
|
|
# Exynos vision framework (EVF)
|
|
#TARGET_USES_EVF := true
|
|
# HW acceleration
|
|
#TARGET_USES_VPU_KERNEL := true
|
|
#TARGET_USES_SCORE_KERNEL := true
|
|
#TARGET_USES_CL_KERNEL := false
|
|
|
|
# exynos RIL
|
|
TARGET_EXYNOS_RIL_SOURCE := true
|
|
ENABLE_VENDOR_RIL_SERVICE := true
|
|
|
|
# GNSS
|
|
# BOARD_USES_EXYNOS_GNSS_DUMMY := true
|
|
|
|
# Bluetooth defines
|
|
# TODO(b/123695868): Remove the need for this
|
|
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := \
|
|
build/make/target/board/mainline_arm64/bluetooth
|
|
|
|
TARGET_BOARD_KERNEL_HEADERS := $(TARGET_KERNEL_DIR)/kernel-headers
|
|
|
|
#VNDK
|
|
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
|
|
BOARD_VNDK_VERSION := current
|
|
|
|
# H/W align restriction of MM IPs
|
|
BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64
|
|
|
|
# WiFi
|
|
BOARD_WLAN_DEVICE := bcmdhd
|
|
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
|
|
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
|
|
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
|
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
|
BOARD_HOSTAPD_DRIVER := NL80211
|
|
# Wifi interface combination - {1 STA + 1 AP (bridged or single)} or {2 STA + 1 of (P2P or NAN)}
|
|
WIFI_HAL_INTERFACE_COMBINATIONS := {{{STA}, 1}, {{AP}, 1}}, {{{STA}, 2}, {{P2P, NAN}, 1}}
|
|
WIFI_FEATURE_WIFI_EXT_HAL := true
|
|
WIFI_FEATURE_IMU_DETECTION := true
|
|
# Avoid Wifi reset on MAC Address change
|
|
WIFI_AVOID_IFACE_RESET_MAC_CHANGE := true
|
|
WIFI_FEATURE_HOSTAPD_11AX := true
|
|
|
|
# NeuralNetworks
|
|
GPU_SOURCE_PRESENT := $(wildcard vendor/arm/mali/valhall)
|
|
GPU_PREBUILD_PRESENT := $(wildcard vendor/google_devices/zebu/prebuilts/libs)
|
|
ifneq "$(or $(GPU_SOURCE_PRESENT),$(GPU_PREBUILD_PRESENT))" ""
|
|
ARMNN_COMPUTE_CL_ENABLE := 1
|
|
else
|
|
ARMNN_COMPUTE_CL_ENABLE := 0
|
|
endif
|
|
ARMNN_COMPUTE_NEON_ENABLE := 1
|
|
|
|
# Boot.img
|
|
BOARD_RAMDISK_USE_LZ4 := true
|
|
#BOARD_KERNEL_BASE := 0x80000000
|
|
#BOARD_KERNEL_PAGESIZE := 2048
|
|
#BOARD_KERNEL_OFFSET := 0x80000
|
|
#BOARD_RAMDISK_OFFSET := 0x4000000
|
|
BOARD_BOOT_HEADER_VERSION := 4
|
|
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
|
|
|
|
BOARD_VENDOR_RAMDISK_FRAGMENTS := dlkm
|
|
BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm.KERNEL_MODULE_DIRS := top
|
|
|
|
# Enable AVB2.0
|
|
BOARD_AVB_ENABLE := true
|
|
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
|
|
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x04000000
|
|
BOARD_DTBOIMG_PARTITION_SIZE := 0x01000000
|
|
|
|
# System As Root
|
|
BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
|
|
|
|
# Vendor ramdisk image for kernel development
|
|
BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true
|
|
|
|
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)
|
|
KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
|
|
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_boot.modules.load))
|
|
ifndef BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD
|
|
$(error vendor_boot.modules.load not found or empty)
|
|
endif
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD)))
|
|
|
|
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load))
|
|
ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD
|
|
$(error vendor_dlkm.modules.load not found or empty)
|
|
endif
|
|
BOARD_VENDOR_KERNEL_MODULES := $(KERNEL_MODULES)
|
|
|
|
# Using BUILD_COPY_HEADERS
|
|
BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
|
|
|
|
include device/google/gs101-sepolicy/gs101-sepolicy.mk
|
|
|
|
# Battery options
|
|
BOARD_KERNEL_CMDLINE += at24.write_timeout=100
|
|
|
|
# Enable larger logbuf
|
|
BOARD_KERNEL_CMDLINE += log_buf_len=1024K
|