Merge "Enable MTE in -eng builds on zuma devices." into main

This commit is contained in:
Nick Kralevich 2024-10-28 17:52:11 +00:00 committed by Android (Google) Code Review
commit d37a6e5050
3 changed files with 35 additions and 2 deletions

View file

@ -38,9 +38,17 @@ BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all rcutree.enable_rc
BOARD_KERNEL_CMDLINE += swiotlb=1024 BOARD_KERNEL_CMDLINE += swiotlb=1024
BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem
BOARD_KERNEL_CMDLINE += sysctl.kernel.sched_pelt_multiplier=4 BOARD_KERNEL_CMDLINE += sysctl.kernel.sched_pelt_multiplier=4
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT))) ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
BOARD_KERNEL_CMDLINE += kasan=off BOARD_KERNEL_CMDLINE += kasan=off
BOARD_KERNEL_CMDLINE += bootloader.pixel.MTE_FORCE_ON
ifeq ($(filter memtag_heap,$(SANITIZE_TARGET)),)
SANITIZE_TARGET := $(strip $(SANITIZE_TARGET) memtag_heap)
endif endif
endif
endif
BOARD_BOOTCONFIG += androidboot.boot_devices=13200000.ufs BOARD_BOOTCONFIG += androidboot.boot_devices=13200000.ufs
TARGET_NO_BOOTLOADER := true TARGET_NO_BOOTLOADER := true

16
conf/init.eng.memtag.rc Normal file
View file

@ -0,0 +1,16 @@
# MTE in -eng build: litle and mid cores in Sync mode
# Big core in Asymm mode to work around a performance issue (b/266613799)
on init
# Per-core mode overrides.
# Little Cores: sync
write /sys/devices/system/cpu/cpu0/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu1/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu2/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu3/mte_tcf_preferred sync
# Mid Cores: sync
write /sys/devices/system/cpu/cpu4/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu5/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu6/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu7/mte_tcf_preferred sync
# Big Core: asymm
write /sys/devices/system/cpu/cpu8/mte_tcf_preferred asymm

View file

@ -49,9 +49,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
ro.preventative_fsck = 1 ro.preventative_fsck = 1
# Indicate that the bootloader supports the MTE developer option switch # Indicate that the bootloader supports the MTE developer option switch
# (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products that # (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products and
# force enable MTE. # eng products that force enable MTE
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT))) ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
ifeq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
PRODUCT_PRODUCT_PROPERTIES += ro.arm64.memtag.bootctl_supported=1 PRODUCT_PRODUCT_PROPERTIES += ro.arm64.memtag.bootctl_supported=1
# N.B. persist properties in product Makefiles aren't actually persisted to the data # N.B. persist properties in product Makefiles aren't actually persisted to the data
# partition, so they will actually go away if we remove them here, or if the user # partition, so they will actually go away if we remove them here, or if the user
@ -61,3 +62,11 @@ PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.google.android.blueto
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.nfc=off PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.nfc=off
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.system_server=off PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.system_server=off
endif endif
endif
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
device/google/zuma/conf/init.eng.memtag.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.eng.memtag.rc
endif
endif