device_google_caimito/device-ripcurrent24.mk
Mitch Phillips e3f2c1238c Disable MTE on certain system processes that have it enabled by default
A bunch of stuff in build/make/target/product/memtag-common.mk is specified has having MTE by default, in order to ensure that OEMs that have MTE-capable devices get a default level of MTE on security sensitive processes.

For now, on these devices, ensure that devices that enable MTE through the developer toggle (or the bootloader cmdline) only have the zygote with MTE.

Bug: 327060622
Change-Id: Ibb6d4fba7915c8556ebe9a303d38f7c642ad8fe9
Test: I do not have a device to test with - but follow the instructions at b/327060622
2024-02-27 13:44:56 +00:00

254 lines
9.3 KiB
Makefile

#
# Copyright (C) 2021 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.
#
TARGET_KERNEL_DIR ?= device/google/caimito-kernel
TARGET_BOARD_KERNEL_HEADERS := device/google/caimito-kernel/kernel-headers
$(call inherit-product-if-exists, vendor/google_devices/caimito/prebuilts/device-vendor-ripcurrent24.mk)
$(call inherit-product-if-exists, vendor/google_devices/zumapro/prebuilts/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/zumapro/proprietary/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/caimito/proprietary/ripcurrent24/device-vendor-ripcurrent24.mk)
$(call inherit-product-if-exists, vendor/qorvo/uwb/qm35-hal/Device.mk)
include device/google/caimito/audio/ripcurrent24/audio-tables.mk
include device/google/zumapro/device-shipping-common.mk
include hardware/google/pixel/vibrator/cs40l26/device-stereo.mk
include device/google/gs-common/bcmbt/bluetooth.mk
include device/google/gs-common/touch/stm/stm20.mk
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
# go/lyric-soong-variables
# Set to 'ripcurrent' as ripcurrent camera service is compatible with ripcurrent24.
$(call soong_config_set,lyric,camera_hardware,ripcurrent)
# Set to 'ripcurrent24' to use proper tuning settings
$(call soong_config_set,lyric,tuning_product,ripcurrent24)
$(call soong_config_set,google3a_config,target_device,ripcurrent)
# display
DEVICE_PACKAGE_OVERLAYS += device/google/caimito/ripcurrent24/overlay
# Init files
PRODUCT_COPY_FILES += \
device/google/caimito/conf/init.ripcurrent24.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.ripcurrent24.rc
# Recovery files
PRODUCT_COPY_FILES += \
device/google/caimito/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.ripcurrent24.rc
# NFC
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
device/google/caimito/nfc/libnfc-hal-st-disable.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
device/google/caimito/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st-enable.conf \
device/google/caimito/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
PRODUCT_PACKAGES += \
$(RELEASE_PACKAGE_NFC_STACK) \
Tag \
android.hardware.nfc-service.st
# SecureElement
PRODUCT_PACKAGES += \
android.hardware.secure_element-service.thales
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
device/google/caimito/nfc/libse-gto-hal-disable.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf
# Bluetooth HAL
PRODUCT_COPY_FILES += \
device/google/caimito/bluetooth/bt_vendor_overlay_ripcurrent24.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
PRODUCT_PROPERTY_OVERRIDES += \
ro.bluetooth.a2dp_offload.supported=true \
persist.bluetooth.a2dp_offload.disabled=false \
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-opus
# POF
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.finder.supported=true
# Spatial Audio
PRODUCT_PACKAGES += \
libspatialaudio
# declare use of spatial audio
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true
# declare use of stereo spatialization
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.stereo_spatialization_enabled=true
# Bluetooth hci_inject test tool
PRODUCT_PACKAGES_DEBUG += \
hci_inject
# Bluetooth OPUS codec
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.opus.enabled=true
# Bluetooth SAR test tool
PRODUCT_PACKAGES_DEBUG += \
sar_test
# Bluetooth EWP test tool
PRODUCT_PACKAGES_DEBUG += \
ewp_tool
# Bluetooth AAC VBR
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.a2dp_aac.vbr_supported=true
# Override BQR mask to enable LE Audio Choppy report, remove BTRT logging
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.bqr.event_mask=262238
else
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.bqr.event_mask=94
endif
# default BDADDR for EVB only
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55"
# Spatial Audio
PRODUCT_PACKAGES += \
libspatialaudio \
librondo
# Bluetooth LE Audio
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_switcher.supported=true \
bluetooth.profile.bap.unicast.client.enabled=true \
bluetooth.profile.csip.set_coordinator.enabled=true \
bluetooth.profile.hap.client.enabled=true \
bluetooth.profile.mcp.server.enabled=true \
bluetooth.profile.ccp.server.enabled=true \
bluetooth.profile.vcp.controller.enabled=true
ifeq ($(RELEASE_PIXEL_BROADCAST_ENABLED), true)
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.profile.bap.broadcast.assist.enabled=true \
bluetooth.profile.bap.broadcast.source.enabled=true
endif
# Bluetooth LE Audio enable hardware offloading
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_offload.supported=true \
persist.bluetooth.leaudio_offload.disabled=false \
# Bluetooth LE Auido offload capabilities setting
PRODUCT_COPY_FILES += \
device/google/caimito/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml
# Keymaster HAL
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
# Gatekeeper HAL
#LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= android.hardware.gatekeeper@1.0-service.software
# Gatekeeper
# PRODUCT_PACKAGES += \
# android.hardware.gatekeeper@1.0-service.software
# Keymint replaces Keymaster
# PRODUCT_PACKAGES += \
# android.hardware.security.keymint-service
# Keymaster
#PRODUCT_PACKAGES += \
# android.hardware.keymaster@4.0-impl \
# android.hardware.keymaster@4.0-service
#PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.remote
#PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.remote
#LOCAL_KEYMASTER_PRODUCT_PACKAGE := android.hardware.keymaster@4.1-service
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
# PRODUCT_PROPERTY_OVERRIDES += \
# ro.hardware.keystore_desede=true \
# ro.hardware.keystore=software \
# ro.hardware.gatekeeper=software
# PowerStats HAL
PRODUCT_SOONG_NAMESPACES += \
device/google/caimito/powerstats/ripcurrent24
# WiFi Overlay
PRODUCT_PACKAGES += \
WifiOverlay2024
# Trusty liboemcrypto.so
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/caimito/prebuilts
# Location
# iGNSS
include device/google/gs-common/gps/lsi/s5400.mk
# gps.cfg
PRODUCT_SOONG_NAMESPACES += device/google/caimito/location/ripcurrent24
$(call soong_config_set, gpssdk, buildtype, $(TARGET_BUILD_VARIANT))
PRODUCT_PACKAGES += gps.cfg
# eGNSS
# SDK build system
$(call soong_config_set, include_libsitril_gps_wifi, board_without_radio, $(BOARD_WITHOUT_RADIO))
include device/google/gs-common/gps/brcm/device.mk
PRODUCT_SOONG_NAMESPACES += device/google/caimito/location/ripcurrent24
SOONG_CONFIG_NAMESPACES += gpssdk
SOONG_CONFIG_gpssdk += gpsconf
SOONG_CONFIG_gpssdk_gpsconf ?= $(TARGET_BUILD_VARIANT)
PRODUCT_PACKAGES += \
gps.cer \
gps.xml \
scd.conf \
lhd.conf
PRODUCT_VENDOR_PROPERTIES += \
vendor.disable.thermal.control=1 \
persist.device_config.configuration.disable_rescue_party=true
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.udfps.als_feed_forward_supported=true \
persist.vendor.udfps.lhbm_controlled_in_hal_supported=true
# Vibrator HAL
ACTUATOR_MODEL := luxshare_ict_081545
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.vibrator.hal.chirp.enabled=1 \
ro.vendor.vibrator.hal.device.mass=0.222 \
ro.vendor.vibrator.hal.loc.coeff=2.8
# PKVM Memory Reclaim
PRODUCT_VENDOR_PROPERTIES += \
hypervisor.memory_reclaim.supported=1
# Indicate that the bootloader supports the MTE developer option switch
# (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products that
# force enable MTE.
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
PRODUCT_PRODUCT_PROPERTIES += ro.arm64.memtag.bootctl_supported=1
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.se=off
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.google.android.bluetooth=off
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.nfc=off
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.system_server=off
endif