From 56af6e4d06c1c66c77840044dafb155b68c5b4c3 Mon Sep 17 00:00:00 2001 From: hmtheboy154 Date: Fri, 26 Apr 2024 16:22:19 +0000 Subject: [PATCH 1/2] Revert "bazel: use android13-5.15-lts kernel build environment" This reverts commit bfce59579eb3eb3efc3ecc079cd6a9915e72038a. --- BUILD.bazel | 935 +++++++++++++++++++++++++++++++++++++++-- build.config.constants | 2 +- 2 files changed, 892 insertions(+), 45 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 107af1a9b135c..1035027d3f177 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,8 +1,21 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2021 The Android Open Source Project -load("//build/kernel/kleaf:constants.bzl", "aarch64_gz_outs") +load("@bazel_skylib//rules:write_file.bzl", "write_file") +load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir") load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels") +load("//build/kernel/kleaf:constants.bzl", "X86_64_OUTS") +load( + "//build/kernel/kleaf:kernel.bzl", + "checkpatch", + "ddk_headers", + "kernel_abi", + "kernel_build", + "kernel_images", + "kernel_modules_install", + "merged_kernel_uapi_headers", +) +load(":modules.bzl", "get_gki_modules_list") package( default_visibility = [ @@ -10,56 +23,890 @@ package( ], ) -_aarch64_additional_kmi_symbol_lists = [ - # keep sorted - "android/abi_gki_aarch64_amlogic", - "android/abi_gki_aarch64_db845c", - "android/abi_gki_aarch64_exynos", - "android/abi_gki_aarch64_exynos_wear", - "android/abi_gki_aarch64_exynosauto", - "android/abi_gki_aarch64_fips140", - "android/abi_gki_aarch64_galaxy", - "android/abi_gki_aarch64_general", - "android/abi_gki_aarch64_honor", - "android/abi_gki_aarch64_imx", - "android/abi_gki_aarch64_lenovo", - "android/abi_gki_aarch64_mtk", - "android/abi_gki_aarch64_mtktv", - "android/abi_gki_aarch64_oplus", - "android/abi_gki_aarch64_pasa", - "android/abi_gki_aarch64_pixel", - "android/abi_gki_aarch64_qcom", - "android/abi_gki_aarch64_rtktv", - "android/abi_gki_aarch64_sony", - "android/abi_gki_aarch64_sunxi", - "android/abi_gki_aarch64_tuxera", - "android/abi_gki_aarch64_type_visibility", - "android/abi_gki_aarch64_unisoc", - "android/abi_gki_aarch64_virtual_device", - "android/abi_gki_aarch64_virtual_device_removed", - "android/abi_gki_aarch64_vivo", - "android/abi_gki_aarch64_xiaomi", - "android/abi_gki_aarch64_zeku", +_GKI_AARCH64_MAKE_GOALS = [ + "Image", + "Image.lz4", + "Image.gz", + "modules", +] + +_GKI_RISCV64_MAKE_GOALS = [ + "Image", + "Image.lz4", + "Image.gz", + "modules", +] + +_GKI_X86_64_MAKE_GOALS = [ + "bzImage", + "modules", ] +checkpatch( + name = "checkpatch", + checkpatch_pl = "scripts/checkpatch.pl", +) + +# Deprecated - Use arch specific files from below. +alias( + name = "gki_system_dlkm_modules", + actual = "gki_system_dlkm_modules_arm64", + deprecation = """ + Common list for all architectures is deprecated. + Instead use the file corresponding to the architecture used: + i.e. `gki_system_dlkm_modules_{arch}` + """, +) + +alias( + name = "android/gki_system_dlkm_modules", + actual = "android/gki_system_dlkm_modules_arm64", + deprecation = """ + Common list for all architectures is deprecated. + Instead use the file corresponding to the architecture used: + i.e. `gki_system_dlkm_modules_{arch}` + """, +) + +write_file( + name = "gki_system_dlkm_modules_arm64", + out = "android/gki_system_dlkm_modules_arm64", + content = get_gki_modules_list("arm64") + [ + # Ensure new line at the end. + "", + ], +) + +write_file( + name = "gki_system_dlkm_modules_x86_64", + out = "android/gki_system_dlkm_modules_x86_64", + content = get_gki_modules_list("x86_64") + [ + # Ensure new line at the end. + "", + ], +) + +write_file( + name = "gki_system_dlkm_modules_risc64", + out = "android/gki_system_dlkm_modules_riscv64", + content = get_gki_modules_list("riscv64") + [ + # Ensure new line at the end. + "", + ], +) + +filegroup( + name = "aarch64_additional_kmi_symbol_lists", + srcs = [ + # keep sorted + "android/abi_gki_aarch64_asus", + "android/abi_gki_aarch64_db845c", + "android/abi_gki_aarch64_exynos", + "android/abi_gki_aarch64_exynosauto", + "android/abi_gki_aarch64_galaxy", + "android/abi_gki_aarch64_honor", + "android/abi_gki_aarch64_imx", + "android/abi_gki_aarch64_meizu", + "android/abi_gki_aarch64_mtk", + "android/abi_gki_aarch64_oplus", + "android/abi_gki_aarch64_pixel", + "android/abi_gki_aarch64_qcom", + "android/abi_gki_aarch64_rockchip", + "android/abi_gki_aarch64_tuxera", + "android/abi_gki_aarch64_unisoc", + "android/abi_gki_aarch64_virtual_device", + "android/abi_gki_aarch64_vivo", + "android/abi_gki_aarch64_xiaomi", + ], + visibility = ["//visibility:public"], +) + define_common_kernels(target_configs = { - # Sync with build.config.gki.aarch64 "kernel_aarch64": { - "module_implicit_outs": [ - "drivers/block/zram/zram.ko", - "mm/zsmalloc.ko", - ], + "kmi_symbol_list_strict_mode": True, + "module_implicit_outs": get_gki_modules_list("arm64"), "kmi_symbol_list": "android/abi_gki_aarch64", - "additional_kmi_symbol_lists": _aarch64_additional_kmi_symbol_lists, - "abi_definition": "android/abi_gki_aarch64.xml", + "kmi_symbol_list_add_only": True, + "additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"], + "protected_exports_list": "android/abi_gki_protected_exports_aarch64", + "protected_modules_list": "android/gki_aarch64_protected_modules", + "make_goals": _GKI_AARCH64_MAKE_GOALS, + }, + "kernel_aarch64_16k": { + "kmi_symbol_list_strict_mode": False, + "module_implicit_outs": get_gki_modules_list("arm64"), + "make_goals": _GKI_AARCH64_MAKE_GOALS, }, "kernel_aarch64_debug": { - "module_implicit_outs": [ - "drivers/block/zram/zram.ko", - "mm/zsmalloc.ko", - ], + "kmi_symbol_list_strict_mode": False, + "module_implicit_outs": get_gki_modules_list("arm64"), "kmi_symbol_list": "android/abi_gki_aarch64", - "additional_kmi_symbol_lists": _aarch64_additional_kmi_symbol_lists, - "abi_definition": "android/abi_gki_aarch64.xml", + "kmi_symbol_list_add_only": True, + "additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"], + "protected_exports_list": "android/abi_gki_protected_exports_aarch64", + "protected_modules_list": "android/gki_aarch64_protected_modules", + "make_goals": _GKI_AARCH64_MAKE_GOALS, + }, + "kernel_riscv64": { + "kmi_symbol_list_strict_mode": False, + "module_implicit_outs": get_gki_modules_list("riscv64"), + "make_goals": _GKI_RISCV64_MAKE_GOALS, + }, + "kernel_x86_64": { + "kmi_symbol_list_strict_mode": False, + "module_implicit_outs": get_gki_modules_list("x86_64"), + "protected_exports_list": "android/abi_gki_protected_exports_x86_64", + "protected_modules_list": "android/gki_x86_64_protected_modules", + "make_goals": _GKI_X86_64_MAKE_GOALS, + }, + "kernel_x86_64_debug": { + "kmi_symbol_list_strict_mode": False, + "module_implicit_outs": get_gki_modules_list("x86_64"), + "protected_exports_list": "android/abi_gki_protected_exports_x86_64", + "protected_modules_list": "android/gki_x86_64_protected_modules", + "make_goals": _GKI_X86_64_MAKE_GOALS, }, }) + +# Microdroid is not a real device. The kernel image is built with special +# configs to reduce the size. Hence, not using mixed build. +kernel_build( + name = "kernel_aarch64_microdroid", + srcs = ["//common:kernel_aarch64_sources"], + outs = [ + "Image", + "System.map", + "modules.builtin", + "modules.builtin.modinfo", + "vmlinux", + "vmlinux.symvers", + ], + build_config = "build.config.microdroid.aarch64", + make_goals = [ + "Image", + ], +) + +copy_to_dist_dir( + name = "kernel_aarch64_microdroid_dist", + data = [ + ":kernel_aarch64_microdroid", + ], + dist_dir = "out/kernel_aarch64_microdroid/dist", + flat = True, + log = "info", +) + +# Microdroid is not a real device. The kernel image is built with special +# configs to reduce the size. Hence, not using mixed build. +kernel_build( + name = "kernel_x86_64_microdroid", + srcs = ["//common:kernel_x86_64_sources"], + outs = X86_64_OUTS, + arch = "x86_64", + build_config = "build.config.microdroid.x86_64", + make_goals = [ + "bzImage", + ], +) + +copy_to_dist_dir( + name = "kernel_x86_64_microdroid_dist", + data = [ + ":kernel_x86_64_microdroid", + ], + dist_dir = "out/kernel_x86_64_microdroid/dist", + flat = True, + log = "info", +) + +kernel_build( + name = "kernel_aarch64_crashdump", + srcs = ["//common:kernel_aarch64_sources"], + outs = [ + "Image", + ], + build_config = "build.config.crashdump.aarch64", + make_goals = [ + "Image", + ], +) + +copy_to_dist_dir( + name = "kernel_aarch64_crashdump_dist", + data = [ + ":kernel_aarch64_crashdump", + ], + dist_dir = "out/kernel_aarch64_crashdump/dist", + flat = True, + log = "info", +) + +kernel_build( + name = "kernel_x86_64_crashdump", + srcs = ["//common:kernel_x86_64_sources"], + outs = X86_64_OUTS, + arch = "x86_64", + build_config = "build.config.crashdump.x86_64", + make_goals = [ + "bzImage", + ], +) + +copy_to_dist_dir( + name = "kernel_x86_64_crashdump_dist", + data = [ + ":kernel_x86_64_crashdump", + ], + dist_dir = "out/kernel_x86_64_crashdump/dist", + flat = True, + log = "info", +) + +_DB845C_MODULE_OUTS = [ + # keep sorted + "crypto/michael_mic.ko", + "drivers/base/regmap/regmap-sdw.ko", + "drivers/base/regmap/regmap-slimbus.ko", + "drivers/bus/mhi/host/mhi.ko", + "drivers/clk/qcom/clk-qcom.ko", + "drivers/clk/qcom/clk-rpmh.ko", + "drivers/clk/qcom/clk-spmi-pmic-div.ko", + "drivers/clk/qcom/dispcc-sdm845.ko", + "drivers/clk/qcom/dispcc-sm8250.ko", + "drivers/clk/qcom/gcc-sdm845.ko", + "drivers/clk/qcom/gcc-sm8250.ko", + "drivers/clk/qcom/gcc-sm8450.ko", + "drivers/clk/qcom/gpucc-sdm845.ko", + "drivers/clk/qcom/gpucc-sm8250.ko", + "drivers/clk/qcom/lpass-gfm-sm8250.ko", + "drivers/clk/qcom/videocc-sdm845.ko", + "drivers/clk/qcom/videocc-sm8250.ko", + "drivers/cpufreq/qcom-cpufreq-hw.ko", + "drivers/dma-buf/heaps/system_heap.ko", + "drivers/dma/qcom/bam_dma.ko", + "drivers/dma/qcom/gpi.ko", + "drivers/extcon/extcon-usb-gpio.ko", + "drivers/firmware/qcom-scm.ko", + "drivers/gpio/gpio-wcd934x.ko", + "drivers/gpu/drm/bridge/display-connector.ko", + "drivers/gpu/drm/bridge/lontium-lt9611.ko", + "drivers/gpu/drm/bridge/lontium-lt9611uxc.ko", + "drivers/gpu/drm/display/drm_display_helper.ko", + "drivers/gpu/drm/display/drm_dp_aux_bus.ko", + "drivers/gpu/drm/msm/msm.ko", + "drivers/gpu/drm/scheduler/gpu-sched.ko", + "drivers/hwspinlock/qcom_hwspinlock.ko", + "drivers/i2c/busses/i2c-designware-core.ko", + "drivers/i2c/busses/i2c-designware-platform.ko", + "drivers/i2c/busses/i2c-qcom-geni.ko", + "drivers/i2c/busses/i2c-qup.ko", + "drivers/i2c/busses/i2c-rk3x.ko", + "drivers/i2c/i2c-dev.ko", + "drivers/i2c/i2c-mux.ko", + "drivers/i2c/muxes/i2c-mux-pca954x.ko", + "drivers/iio/adc/qcom-spmi-adc5.ko", + "drivers/iio/adc/qcom-vadc-common.ko", + "drivers/input/misc/pm8941-pwrkey.ko", + "drivers/interconnect/qcom/icc-bcm-voter.ko", + "drivers/interconnect/qcom/icc-osm-l3.ko", + "drivers/interconnect/qcom/icc-rpmh.ko", + "drivers/interconnect/qcom/qnoc-sdm845.ko", + "drivers/interconnect/qcom/qnoc-sm8250.ko", + "drivers/interconnect/qcom/qnoc-sm8450.ko", + "drivers/iommu/arm/arm-smmu/arm_smmu.ko", + "drivers/irqchip/qcom-pdc.ko", + "drivers/leds/rgb/leds-qcom-lpg.ko", + "drivers/mailbox/qcom-apcs-ipc-mailbox.ko", + "drivers/mailbox/qcom-ipcc.ko", + "drivers/media/platform/qcom/venus/venus-core.ko", + "drivers/media/platform/qcom/venus/venus-dec.ko", + "drivers/media/platform/qcom/venus/venus-enc.ko", + "drivers/mfd/qcom-spmi-pmic.ko", + "drivers/mfd/wcd934x.ko", + "drivers/misc/fastrpc.ko", + "drivers/mmc/host/cqhci.ko", + "drivers/mmc/host/sdhci-msm.ko", + "drivers/net/can/spi/mcp251xfd/mcp251xfd.ko", + "drivers/net/wireless/ath/ath.ko", + "drivers/net/wireless/ath/ath10k/ath10k_core.ko", + "drivers/net/wireless/ath/ath10k/ath10k_pci.ko", + "drivers/net/wireless/ath/ath10k/ath10k_snoc.ko", + "drivers/net/wireless/ath/ath11k/ath11k.ko", + "drivers/net/wireless/ath/ath11k/ath11k_ahb.ko", + "drivers/net/wireless/ath/ath11k/ath11k_pci.ko", + "drivers/nvmem/nvmem_qfprom.ko", + "drivers/phy/qualcomm/phy-qcom-qmp-combo.ko", + "drivers/phy/qualcomm/phy-qcom-qmp-pcie.ko", + "drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.ko", + "drivers/phy/qualcomm/phy-qcom-qmp-ufs.ko", + "drivers/phy/qualcomm/phy-qcom-qmp-usb.ko", + "drivers/phy/qualcomm/phy-qcom-qusb2.ko", + "drivers/phy/qualcomm/phy-qcom-snps-femto-v2.ko", + "drivers/phy/qualcomm/phy-qcom-usb-hs.ko", + "drivers/pinctrl/qcom/pinctrl-lpass-lpi.ko", + "drivers/pinctrl/qcom/pinctrl-msm.ko", + "drivers/pinctrl/qcom/pinctrl-sdm845.ko", + "drivers/pinctrl/qcom/pinctrl-sm8250.ko", + "drivers/pinctrl/qcom/pinctrl-sm8250-lpass-lpi.ko", + "drivers/pinctrl/qcom/pinctrl-sm8450.ko", + "drivers/pinctrl/qcom/pinctrl-spmi-gpio.ko", + "drivers/pinctrl/qcom/pinctrl-spmi-mpp.ko", + "drivers/power/reset/qcom-pon.ko", + "drivers/power/reset/reboot-mode.ko", + "drivers/power/reset/syscon-reboot-mode.ko", + "drivers/regulator/gpio-regulator.ko", + "drivers/regulator/qcom-rpmh-regulator.ko", + "drivers/regulator/qcom_spmi-regulator.ko", + "drivers/regulator/qcom_usb_vbus-regulator.ko", + "drivers/remoteproc/qcom_common.ko", + "drivers/remoteproc/qcom_pil_info.ko", + "drivers/remoteproc/qcom_q6v5.ko", + "drivers/remoteproc/qcom_q6v5_adsp.ko", + "drivers/remoteproc/qcom_q6v5_mss.ko", + "drivers/remoteproc/qcom_q6v5_pas.ko", + "drivers/remoteproc/qcom_q6v5_wcss.ko", + "drivers/remoteproc/qcom_sysmon.ko", + "drivers/reset/reset-qcom-aoss.ko", + "drivers/reset/reset-qcom-pdc.ko", + "drivers/rpmsg/qcom_glink.ko", + "drivers/rpmsg/qcom_glink_rpm.ko", + "drivers/rpmsg/qcom_glink_smem.ko", + "drivers/rpmsg/qcom_smd.ko", + "drivers/rpmsg/rpmsg_ns.ko", + "drivers/rtc/rtc-pm8xxx.ko", + "drivers/slimbus/slim-qcom-ngd-ctrl.ko", + "drivers/slimbus/slimbus.ko", + "drivers/soc/qcom/apr.ko", + "drivers/soc/qcom/cmd-db.ko", + "drivers/soc/qcom/cpr.ko", + "drivers/soc/qcom/llcc-qcom.ko", + "drivers/soc/qcom/mdt_loader.ko", + "drivers/soc/qcom/pdr_interface.ko", + "drivers/soc/qcom/qcom_aoss.ko", + "drivers/soc/qcom/qcom_rpmh.ko", + "drivers/soc/qcom/qmi_helpers.ko", + "drivers/soc/qcom/rmtfs_mem.ko", + "drivers/soc/qcom/rpmhpd.ko", + "drivers/soc/qcom/smem.ko", + "drivers/soc/qcom/smp2p.ko", + "drivers/soc/qcom/smsm.ko", + "drivers/soc/qcom/socinfo.ko", + "drivers/soc/qcom/spm.ko", + "drivers/soundwire/soundwire-bus.ko", + "drivers/soundwire/soundwire-qcom.ko", + "drivers/spi/spi-geni-qcom.ko", + "drivers/spi/spi-pl022.ko", + "drivers/spi/spi-qcom-qspi.ko", + "drivers/spi/spi-qup.ko", + "drivers/spmi/spmi-pmic-arb.ko", + "drivers/thermal/qcom/lmh.ko", + "drivers/thermal/qcom/qcom-spmi-adc-tm5.ko", + "drivers/thermal/qcom/qcom-spmi-temp-alarm.ko", + "drivers/thermal/qcom/qcom_tsens.ko", + "drivers/tty/serial/msm_serial.ko", + "drivers/ufs/host/ufs_qcom.ko", + "drivers/usb/common/ulpi.ko", + "drivers/usb/host/ohci-hcd.ko", + "drivers/usb/host/ohci-pci.ko", + "drivers/usb/host/ohci-platform.ko", + "drivers/usb/typec/qcom-pmic-typec.ko", + "net/mac80211/mac80211.ko", + "net/qrtr/qrtr.ko", + "net/qrtr/qrtr-mhi.ko", + "net/qrtr/qrtr-smd.ko", + "net/qrtr/qrtr-tun.ko", + "net/wireless/cfg80211.ko", + "sound/soc/codecs/snd-soc-dmic.ko", + "sound/soc/codecs/snd-soc-hdmi-codec.ko", + "sound/soc/codecs/snd-soc-lpass-macro-common.ko", + "sound/soc/codecs/snd-soc-lpass-va-macro.ko", + "sound/soc/codecs/snd-soc-lpass-wsa-macro.ko", + "sound/soc/codecs/snd-soc-max98927.ko", + "sound/soc/codecs/snd-soc-rl6231.ko", + "sound/soc/codecs/snd-soc-rt5663.ko", + "sound/soc/codecs/snd-soc-wcd-mbhc.ko", + "sound/soc/codecs/snd-soc-wcd9335.ko", + "sound/soc/codecs/snd-soc-wcd934x.ko", + "sound/soc/codecs/snd-soc-wsa881x.ko", + "sound/soc/qcom/qdsp6/q6adm.ko", + "sound/soc/qcom/qdsp6/q6afe.ko", + "sound/soc/qcom/qdsp6/q6afe-clocks.ko", + "sound/soc/qcom/qdsp6/q6afe-dai.ko", + "sound/soc/qcom/qdsp6/q6apm-dai.ko", + "sound/soc/qcom/qdsp6/q6apm-lpass-dais.ko", + "sound/soc/qcom/qdsp6/q6asm.ko", + "sound/soc/qcom/qdsp6/q6asm-dai.ko", + "sound/soc/qcom/qdsp6/q6core.ko", + "sound/soc/qcom/qdsp6/q6prm.ko", + "sound/soc/qcom/qdsp6/q6prm-clocks.ko", + "sound/soc/qcom/qdsp6/q6routing.ko", + "sound/soc/qcom/qdsp6/snd-q6apm.ko", + "sound/soc/qcom/qdsp6/snd-q6dsp-common.ko", + "sound/soc/qcom/snd-soc-qcom-common.ko", + "sound/soc/qcom/snd-soc-qcom-sdw.ko", + "sound/soc/qcom/snd-soc-sdm845.ko", + "sound/soc/qcom/snd-soc-sm8250.ko", +] + +_DB845C_WATCHDOG_MODULE_OUTS = [ + "drivers/watchdog/pm8916_wdt.ko", + "drivers/watchdog/qcom-wdt.ko", +] + +kernel_build( + name = "db845c_no_kgdb", + outs = [ + "arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb", + "arch/arm64/boot/dts/qcom/sdm845-db845c.dtb", + "arch/arm64/boot/dts/qcom/sm8450-qrd.dtb", + ], + # Enable mixed build. + base_kernel = ":kernel_aarch64", + build_config = "build.config.db845c", + collect_unstripped_modules = True, + kmi_symbol_list = "android/abi_gki_aarch64_db845c", + make_goals = [ + "modules", + "qcom/sdm845-db845c.dtb", + "qcom/qrb5165-rb5.dtb", + "qcom/sm8450-qrd.dtb", + ], + module_outs = _DB845C_MODULE_OUTS + _DB845C_WATCHDOG_MODULE_OUTS, + strip_modules = True, +) + +kernel_build( + name = "db845c_with_kgdb", + outs = [ + "arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb", + "arch/arm64/boot/dts/qcom/sdm845-db845c.dtb", + "arch/arm64/boot/dts/qcom/sm8450-qrd.dtb", + ], + # Enable mixed build. + base_kernel = ":kernel_aarch64", + build_config = "build.config.db845c", + make_goals = [ + "modules", + "qcom/sdm845-db845c.dtb", + "qcom/qrb5165-rb5.dtb", + "qcom/sm8450-qrd.dtb", + ], + module_outs = _DB845C_MODULE_OUTS, + strip_modules = True, +) + +alias( + name = "db845c", + actual = select({ + "//build/kernel/kleaf:kgdb_is_true": "db845c_with_kgdb", + "//conditions:default": "db845c_no_kgdb", + }), +) + +kernel_abi( + name = "db845c_abi", + kernel_build = ":db845c", + kmi_symbol_list_add_only = True, +) + +kernel_modules_install( + name = "db845c_modules_install", + kernel_build = ":db845c", +) + +merged_kernel_uapi_headers( + name = "db845c_merged_kernel_uapi_headers", + kernel_build = ":db845c", +) + +kernel_images( + name = "db845c_images", + build_initramfs = True, + kernel_build = ":db845c", + kernel_modules_install = ":db845c_modules_install", +) + +copy_to_dist_dir( + name = "db845c_dist", + data = [ + ":db845c", + ":db845c_images", + ":db845c_modules_install", + ":db845c_merged_kernel_uapi_headers", + # Mixed build: Additional GKI artifacts. + ":kernel_aarch64", + ":kernel_aarch64_modules", + ":kernel_aarch64_additional_artifacts", + ], + dist_dir = "out/db845/dist", + flat = True, + log = "info", +) + +_ROCKPI4_MODULE_OUTS = [ + # keep sorted + "drivers/block/virtio_blk.ko", + "drivers/char/hw_random/virtio-rng.ko", + "drivers/clk/clk-rk808.ko", + "drivers/cpufreq/cpufreq-dt.ko", + "drivers/dma/pl330.ko", + "drivers/gpu/drm/bridge/analogix/analogix_dp.ko", + "drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko", + "drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.ko", + "drivers/gpu/drm/display/drm_display_helper.ko", + "drivers/gpu/drm/drm_dma_helper.ko", + "drivers/gpu/drm/rockchip/rockchipdrm.ko", + "drivers/i2c/busses/i2c-rk3x.ko", + "drivers/iio/adc/rockchip_saradc.ko", + "drivers/iio/buffer/industrialio-triggered-buffer.ko", + "drivers/iio/buffer/kfifo_buf.ko", + "drivers/mfd/rk808.ko", + "drivers/mmc/core/pwrseq_simple.ko", + "drivers/mmc/host/cqhci.ko", + "drivers/mmc/host/dw_mmc.ko", + "drivers/mmc/host/dw_mmc-pltfm.ko", + "drivers/mmc/host/dw_mmc-rockchip.ko", + "drivers/mmc/host/sdhci-of-arasan.ko", + "drivers/net/ethernet/stmicro/stmmac/dwmac-rk.ko", + "drivers/net/ethernet/stmicro/stmmac/stmmac.ko", + "drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko", + "drivers/net/net_failover.ko", + "drivers/net/pcs/pcs_xpcs.ko", + "drivers/net/virtio_net.ko", + "drivers/pci/controller/pcie-rockchip-host.ko", + "drivers/phy/rockchip/phy-rockchip-emmc.ko", + "drivers/phy/rockchip/phy-rockchip-inno-usb2.ko", + "drivers/phy/rockchip/phy-rockchip-pcie.ko", + "drivers/phy/rockchip/phy-rockchip-typec.ko", + "drivers/pwm/pwm-rockchip.ko", + "drivers/regulator/fan53555.ko", + "drivers/regulator/pwm-regulator.ko", + "drivers/regulator/rk808-regulator.ko", + "drivers/rtc/rtc-rk808.ko", + "drivers/soc/rockchip/io-domain.ko", + "drivers/thermal/rockchip_thermal.ko", + "drivers/usb/host/ohci-hcd.ko", + "drivers/usb/host/ohci-platform.ko", + "drivers/virtio/virtio_pci.ko", + "drivers/virtio/virtio_pci_legacy_dev.ko", + "drivers/virtio/virtio_pci_modern_dev.ko", + "net/core/failover.ko", +] + +_ROCKPI4_WATCHDOG_MODULE_OUTS = [ + # keep sorted + "drivers/watchdog/dw_wdt.ko", +] + +# TODO(b/258259749): Convert rockpi4 to mixed build +kernel_build( + name = "rockpi4_no_kgdb", + outs = [ + "Image", + "System.map", + "modules.builtin", + "modules.builtin.modinfo", + "rk3399-rock-pi-4b.dtb", + "vmlinux", + "vmlinux.symvers", + ], + build_config = "build.config.rockpi4", + dtstree = "//common-modules/virtual-device:rockpi4_dts", + make_goals = [ + "Image", + "modules", + "rk3399-rock-pi-4b.dtb", + ], + module_outs = get_gki_modules_list("arm64") + _ROCKPI4_MODULE_OUTS + _ROCKPI4_WATCHDOG_MODULE_OUTS, + visibility = ["//visibility:private"], +) + +# TODO(b/258259749): Convert rockpi4 to mixed build +kernel_build( + name = "rockpi4_with_kgdb", + outs = [ + "Image", + "System.map", + "modules.builtin", + "modules.builtin.modinfo", + "rk3399-rock-pi-4b.dtb", + "vmlinux", + "vmlinux.symvers", + ], + build_config = "build.config.rockpi4", + dtstree = "//common-modules/virtual-device:rockpi4_dts", + make_goals = [ + "Image", + "modules", + "rk3399-rock-pi-4b.dtb", + ], + module_outs = get_gki_modules_list("arm64") + _ROCKPI4_MODULE_OUTS, + visibility = ["//visibility:private"], +) + +alias( + name = "rockpi4", + actual = select({ + "//build/kernel/kleaf:kgdb_is_true": "rockpi4_with_kgdb", + "//conditions:default": "rockpi4_no_kgdb", + }), +) + +kernel_modules_install( + name = "rockpi4_modules_install", + kernel_build = ":rockpi4", +) + +kernel_images( + name = "rockpi4_images", + build_initramfs = True, + kernel_build = ":rockpi4", + kernel_modules_install = ":rockpi4_modules_install", +) + +copy_to_dist_dir( + name = "rockpi4_dist", + data = [ + ":rockpi4", + ":rockpi4_images", + ":rockpi4_modules_install", + ], + dist_dir = "out/rockpi4/dist", + flat = True, +) + +kernel_build( + name = "fips140", + outs = [], + base_kernel = ":kernel_aarch64", + build_config = "build.config.gki.aarch64.fips140", + module_outs = ["crypto/fips140.ko"], +) + +copy_to_dist_dir( + name = "fips140_dist", + data = [ + ":fips140", + ], + dist_dir = "out/fips140/dist", + flat = True, +) + +# allmodconfig build tests. +# These are build tests only, so: +# - outs are intentionally set to empty to not copy anything to DIST_DIR +# - --allow-undeclared-modules must be used so modules are not declared or copied. +# - No dist target because these are build tests. We don't care about the artifacts. + +# tools/bazel build --allow_undeclared_modules //common:kernel_aarch64_allmodconfig +kernel_build( + name = "kernel_aarch64_allmodconfig", + # Hack to actually check the build. + # Otherwise, Bazel thinks that there are no output files, and skip building. + outs = [".config"], + build_config = "build.config.allmodconfig.aarch64", + visibility = ["//visibility:private"], +) + +# tools/bazel build --allow_undeclared_modules //common:kernel_x86_64_allmodconfig +kernel_build( + name = "kernel_x86_64_allmodconfig", + # Hack to actually check the build. + # Otherwise, Bazel thinks that there are no output files, and skip building. + outs = [".config"], + arch = "x86_64", + build_config = "build.config.allmodconfig.x86_64", + visibility = ["//visibility:private"], +) + +# tools/bazel build --allow_undeclared_modules //common:kernel_arm_allmodconfig +kernel_build( + name = "kernel_arm_allmodconfig", + # Hack to actually check the build. + # Otherwise, Bazel thinks that there are no output files, and skip building. + outs = [".config"], + arch = "arm", + build_config = "build.config.allmodconfig.arm", + visibility = ["//visibility:private"], +) + +# DDK Headers +# All headers. These are the public targets for DDK modules to use. +alias( + name = "all_headers", + actual = "all_headers_aarch64", + visibility = ["//visibility:public"], +) + +ddk_headers( + name = "all_headers_aarch64", + hdrs = [":all_headers_allowlist_aarch64"] + select({ + "//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"], + "//conditions:default": [], + }), + visibility = ["//visibility:public"], +) + +ddk_headers( + name = "all_headers_arm", + hdrs = [":all_headers_allowlist_arm"] + select({ + "//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"], + "//conditions:default": [], + }), + visibility = ["//visibility:public"], +) + +ddk_headers( + name = "all_headers_riscv64", + hdrs = [":all_headers_allowlist_riscv64"] + select({ + "//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"], + "//conditions:default": [], + }), + visibility = ["//visibility:public"], +) + +ddk_headers( + name = "all_headers_x86_64", + hdrs = [":all_headers_allowlist_x86_64"] + select({ + "//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"], + "//conditions:default": [], + }), + visibility = ["//visibility:public"], +) + +# Implementation details for DDK headers. The targets below cannot be directly +# depended on by DDK modules. + +# DDK headers allowlist. This is the list of all headers and include +# directories that are safe to use in DDK modules. +ddk_headers( + name = "all_headers_allowlist_aarch64", + hdrs = [ + ":all_headers_allowlist_aarch64_globs", + ":all_headers_allowlist_common_globs", + ], + # The list of include directories where source files can #include headers + # from. In other words, these are the `-I` option to the C compiler. + # These are prepended to LINUXINCLUDE. + linux_includes = [ + "arch/arm64/include", + "arch/arm64/include/uapi", + "include", + "include/uapi", + ], + visibility = ["//visibility:private"], +) + +ddk_headers( + name = "all_headers_allowlist_arm", + hdrs = [ + ":all_headers_allowlist_arm_globs", + ":all_headers_allowlist_common_globs", + ], + # The list of include directories where source files can #include headers + # from. In other words, these are the `-I` option to the C compiler. + # These are prepended to LINUXINCLUDE. + linux_includes = [ + "arch/arm/include", + "arch/arm/include/uapi", + "include", + "include/uapi", + ], + visibility = ["//visibility:private"], +) + +ddk_headers( + name = "all_headers_allowlist_riscv64", + hdrs = [ + ":all_headers_allowlist_common_globs", + ":all_headers_allowlist_riscv64_globs", + ], + # The list of include directories where source files can #include headers + # from. In other words, these are the `-I` option to the C compiler. + # These are prepended to LINUXINCLUDE. + linux_includes = [ + "arch/riscv/include", + "arch/riscv/include/uapi", + "include", + "include/uapi", + ], + visibility = ["//visibility:private"], +) + +ddk_headers( + name = "all_headers_allowlist_x86_64", + hdrs = [ + ":all_headers_allowlist_common_globs", + ":all_headers_allowlist_x86_64_globs", + ], + # The list of include directories where source files can #include headers + # from. In other words, these are the `-I` option to the C compiler. + # These are prepended to LINUXINCLUDE. + linux_includes = [ + "arch/x86/include", + "arch/x86/include/uapi", + "include", + "include/uapi", + ], + visibility = ["//visibility:private"], +) + +# List of DDK headers allowlist that are glob()-ed to avoid changes of BUILD +# file when the list of files changes. All headers in these directories +# are safe to use. +# These are separate filegroup targets so the all_headers_allowlist_* are +# more friendly to batch BUILD file update tools like buildozer. + +# globs() for arm64 only +filegroup( + name = "all_headers_allowlist_aarch64_globs", + srcs = glob(["arch/arm64/include/**/*.h"]), + visibility = ["//visibility:private"], +) + +# globs() for arm only +filegroup( + name = "all_headers_allowlist_arm_globs", + srcs = glob(["arch/arm/include/**/*.h"]), + visibility = ["//visibility:private"], +) + +# globs() for riscv64 only +filegroup( + name = "all_headers_allowlist_riscv64_globs", + srcs = glob(["arch/riscv/include/**/*.h"]), + visibility = ["//visibility:private"], +) + +# globs() for x86 only +filegroup( + name = "all_headers_allowlist_x86_64_globs", + srcs = glob(["arch/x86/include/**/*.h"]), + visibility = ["//visibility:private"], +) + +# globs() for all architectures +filegroup( + name = "all_headers_allowlist_common_globs", + srcs = glob(["include/**/*.h"]), + visibility = ["//visibility:private"], +) + +# DDK headers unsafe list. This is the list of all headers and include +# directories that may be used during migration from kernel_module's, but +# should be avoided in general. +# Use with caution; items may: +# - be removed without notice +# - be moved into all_headers +ddk_headers( + name = "all_headers_unsafe", + hdrs = [ + "drivers/gpu/drm/virtio/virtgpu_trace.h", + ], + # The list of include directories where source files can #include headers + # from. In other words, these are the `-I` option to the C compiler. + # Unsafe include directories are appended to ccflags-y. + includes = [], + visibility = ["//visibility:private"], +) diff --git a/build.config.constants b/build.config.constants index bc2f1300bd89c..fa2b8497f4480 100644 --- a/build.config.constants +++ b/build.config.constants @@ -1,5 +1,5 @@ BRANCH=android14-6.1 -CLANG_VERSION=r450784e +CLANG_VERSION=r487747c AARCH64_NDK_TRIPLE=aarch64-linux-android31 X86_64_NDK_TRIPLE=x86_64-linux-android31 ARM_NDK_TRIPLE=arm-linux-androideabi31 From ddc21e9985a5de2172ddbfba0b9623a87eb05e71 Mon Sep 17 00:00:00 2001 From: hmtheboy154 Date: Fri, 26 Apr 2024 20:13:06 +0000 Subject: [PATCH 2/2] bazel: Adding rpi4 & rpi5 target Migrating to kleaf, here's what i did to port to BUILD.bazel: - Run these 2 commands: BUILD_CONFIG=common/build.config.rpi5 build/kernel/kleaf/build_config_to_bazel.py BUILD_CONFIG=common/build.config.rpi4 build/kernel/kleaf/build_config_to_bazel.py - Hand edit to remove the FIXME comments - Manually move make_goals to BUILD.bazel - Manually create _RPI_OVERLAYS_OUTS list for overlays as bazel doesn't allow wildcard or glob in outs Signed-off-by: hmtheboy154 --- BUILD.bazel | 378 ++++++++++++++++++++++++++++++++++++++++++++++ build.config.rpi4 | 5 - build.config.rpi5 | 5 - 3 files changed, 378 insertions(+), 10 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 1035027d3f177..81072ff7045bc 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -693,6 +693,20 @@ copy_to_dist_dir( flat = True, ) +copy_to_dist_dir( + name = "rpi5_dist", + data = [":rpi5"], + dist_dir = None, + flat = True, +) + +copy_to_dist_dir( + name = "rpi4_dist", + data = [":rpi4"], + dist_dir = None, + flat = True, +) + # allmodconfig build tests. # These are build tests only, so: # - outs are intentionally set to empty to not copy anything to DIST_DIR @@ -731,6 +745,370 @@ kernel_build( visibility = ["//visibility:private"], ) +# dtb/dtbo overlays out for RPi targets +_RPI_OVERLAYS_OUTS = [ + "arch/arm64/boot/dts/overlays/overlay_map.dtb", + "arch/arm64/boot/dts/overlays/hat_map.dtb", + "arch/arm64/boot/dts/overlays/act-led.dtbo", + "arch/arm64/boot/dts/overlays/adafruit-st7735r.dtbo", + "arch/arm64/boot/dts/overlays/adafruit18.dtbo", + "arch/arm64/boot/dts/overlays/adau1977-adc.dtbo", + "arch/arm64/boot/dts/overlays/adau7002-simple.dtbo", + "arch/arm64/boot/dts/overlays/ads1015.dtbo", + "arch/arm64/boot/dts/overlays/ads1115.dtbo", + "arch/arm64/boot/dts/overlays/ads7846.dtbo", + "arch/arm64/boot/dts/overlays/adv7282m.dtbo", + "arch/arm64/boot/dts/overlays/adv728x-m.dtbo", + "arch/arm64/boot/dts/overlays/akkordion-iqdacplus.dtbo", + "arch/arm64/boot/dts/overlays/allo-boss-dac-pcm512x-audio.dtbo", + "arch/arm64/boot/dts/overlays/allo-boss2-dac-audio.dtbo", + "arch/arm64/boot/dts/overlays/allo-digione.dtbo", + "arch/arm64/boot/dts/overlays/allo-katana-dac-audio.dtbo", + "arch/arm64/boot/dts/overlays/allo-piano-dac-pcm512x-audio.dtbo", + "arch/arm64/boot/dts/overlays/allo-piano-dac-plus-pcm512x-audio.dtbo", + "arch/arm64/boot/dts/overlays/android-i2c-sensor.dtbo", + "arch/arm64/boot/dts/overlays/android-nvme.dtbo", + "arch/arm64/boot/dts/overlays/android-sdcard.dtbo", + "arch/arm64/boot/dts/overlays/android-usb.dtbo", + "arch/arm64/boot/dts/overlays/anyspi.dtbo", + "arch/arm64/boot/dts/overlays/apds9960.dtbo", + "arch/arm64/boot/dts/overlays/applepi-dac.dtbo", + "arch/arm64/boot/dts/overlays/arducam-64mp.dtbo", + "arch/arm64/boot/dts/overlays/arducam-pivariety.dtbo", + "arch/arm64/boot/dts/overlays/at86rf233.dtbo", + "arch/arm64/boot/dts/overlays/audioinjector-addons.dtbo", + "arch/arm64/boot/dts/overlays/audioinjector-bare-i2s.dtbo", + "arch/arm64/boot/dts/overlays/audioinjector-isolated-soundcard.dtbo", + "arch/arm64/boot/dts/overlays/audioinjector-ultra.dtbo", + "arch/arm64/boot/dts/overlays/audioinjector-wm8731-audio.dtbo", + "arch/arm64/boot/dts/overlays/audiosense-pi.dtbo", + "arch/arm64/boot/dts/overlays/audremap.dtbo", + "arch/arm64/boot/dts/overlays/balena-fin.dtbo", + "arch/arm64/boot/dts/overlays/camera-mux-2port.dtbo", + "arch/arm64/boot/dts/overlays/camera-mux-4port.dtbo", + "arch/arm64/boot/dts/overlays/cap1106.dtbo", + "arch/arm64/boot/dts/overlays/chipdip-dac.dtbo", + "arch/arm64/boot/dts/overlays/cirrus-wm5102.dtbo", + "arch/arm64/boot/dts/overlays/cm-swap-i2c0.dtbo", + "arch/arm64/boot/dts/overlays/cma.dtbo", + "arch/arm64/boot/dts/overlays/crystalfontz-cfa050_pi_m.dtbo", + "arch/arm64/boot/dts/overlays/cutiepi-panel.dtbo", + "arch/arm64/boot/dts/overlays/dacberry400.dtbo", + "arch/arm64/boot/dts/overlays/dht11.dtbo", + "arch/arm64/boot/dts/overlays/dionaudio-kiwi.dtbo", + "arch/arm64/boot/dts/overlays/dionaudio-loco.dtbo", + "arch/arm64/boot/dts/overlays/dionaudio-loco-v2.dtbo", + "arch/arm64/boot/dts/overlays/disable-bt.dtbo", + "arch/arm64/boot/dts/overlays/disable-bt-pi5.dtbo", + "arch/arm64/boot/dts/overlays/disable-emmc2.dtbo", + "arch/arm64/boot/dts/overlays/disable-wifi.dtbo", + "arch/arm64/boot/dts/overlays/disable-wifi-pi5.dtbo", + "arch/arm64/boot/dts/overlays/dpi18.dtbo", + "arch/arm64/boot/dts/overlays/dpi18cpadhi.dtbo", + "arch/arm64/boot/dts/overlays/dpi24.dtbo", + "arch/arm64/boot/dts/overlays/draws.dtbo", + "arch/arm64/boot/dts/overlays/dwc-otg.dtbo", + "arch/arm64/boot/dts/overlays/dwc2.dtbo", + "arch/arm64/boot/dts/overlays/edt-ft5406.dtbo", + "arch/arm64/boot/dts/overlays/enc28j60.dtbo", + "arch/arm64/boot/dts/overlays/enc28j60-spi2.dtbo", + "arch/arm64/boot/dts/overlays/exc3000.dtbo", + "arch/arm64/boot/dts/overlays/fbtft.dtbo", + "arch/arm64/boot/dts/overlays/fe-pi-audio.dtbo", + "arch/arm64/boot/dts/overlays/fsm-demo.dtbo", + "arch/arm64/boot/dts/overlays/gc9a01.dtbo", + "arch/arm64/boot/dts/overlays/ghost-amp.dtbo", + "arch/arm64/boot/dts/overlays/goodix.dtbo", + "arch/arm64/boot/dts/overlays/googlevoicehat-soundcard.dtbo", + "arch/arm64/boot/dts/overlays/gpio-charger.dtbo", + "arch/arm64/boot/dts/overlays/gpio-fan.dtbo", + "arch/arm64/boot/dts/overlays/gpio-hog.dtbo", + "arch/arm64/boot/dts/overlays/gpio-ir.dtbo", + "arch/arm64/boot/dts/overlays/gpio-ir-tx.dtbo", + "arch/arm64/boot/dts/overlays/gpio-key.dtbo", + "arch/arm64/boot/dts/overlays/gpio-led.dtbo", + "arch/arm64/boot/dts/overlays/gpio-no-bank0-irq.dtbo", + "arch/arm64/boot/dts/overlays/gpio-no-irq.dtbo", + "arch/arm64/boot/dts/overlays/gpio-poweroff.dtbo", + "arch/arm64/boot/dts/overlays/gpio-shutdown.dtbo", + "arch/arm64/boot/dts/overlays/hd44780-lcd.dtbo", + "arch/arm64/boot/dts/overlays/hdmi-backlight-hwhack-gpio.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-amp.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-amp100.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-amp3.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-amp4pro.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-dac.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-dac8x.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-dacplus.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-dacplus-pro.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-dacplus-std.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-dacplusadc.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-dacplusadcpro.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-dacplusdsp.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-dacplushd.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-digi.dtbo", + "arch/arm64/boot/dts/overlays/hifiberry-digi-pro.dtbo", + "arch/arm64/boot/dts/overlays/highperi.dtbo", + "arch/arm64/boot/dts/overlays/hy28a.dtbo", + "arch/arm64/boot/dts/overlays/hy28b.dtbo", + "arch/arm64/boot/dts/overlays/hy28b-2017.dtbo", + "arch/arm64/boot/dts/overlays/i-sabre-q2m.dtbo", + "arch/arm64/boot/dts/overlays/i2c-bcm2708.dtbo", + "arch/arm64/boot/dts/overlays/i2c-fan.dtbo", + "arch/arm64/boot/dts/overlays/i2c-gpio.dtbo", + "arch/arm64/boot/dts/overlays/i2c-mux.dtbo", + "arch/arm64/boot/dts/overlays/i2c-pwm-pca9685a.dtbo", + "arch/arm64/boot/dts/overlays/i2c-rtc.dtbo", + "arch/arm64/boot/dts/overlays/i2c-rtc-gpio.dtbo", + "arch/arm64/boot/dts/overlays/i2c-sensor.dtbo", + "arch/arm64/boot/dts/overlays/i2c0.dtbo", + "arch/arm64/boot/dts/overlays/i2c0-pi5.dtbo", + "arch/arm64/boot/dts/overlays/i2c1.dtbo", + "arch/arm64/boot/dts/overlays/i2c1-pi5.dtbo", + "arch/arm64/boot/dts/overlays/i2c2-pi5.dtbo", + "arch/arm64/boot/dts/overlays/i2c3.dtbo", + "arch/arm64/boot/dts/overlays/i2c3-pi5.dtbo", + "arch/arm64/boot/dts/overlays/i2c4.dtbo", + "arch/arm64/boot/dts/overlays/i2c5.dtbo", + "arch/arm64/boot/dts/overlays/i2c6.dtbo", + "arch/arm64/boot/dts/overlays/i2s-dac.dtbo", + "arch/arm64/boot/dts/overlays/i2s-gpio28-31.dtbo", + "arch/arm64/boot/dts/overlays/ilitek251x.dtbo", + "arch/arm64/boot/dts/overlays/imx219.dtbo", + "arch/arm64/boot/dts/overlays/imx258.dtbo", + "arch/arm64/boot/dts/overlays/imx290.dtbo", + "arch/arm64/boot/dts/overlays/imx296.dtbo", + "arch/arm64/boot/dts/overlays/imx327.dtbo", + "arch/arm64/boot/dts/overlays/imx378.dtbo", + "arch/arm64/boot/dts/overlays/imx462.dtbo", + "arch/arm64/boot/dts/overlays/imx477.dtbo", + "arch/arm64/boot/dts/overlays/imx519.dtbo", + "arch/arm64/boot/dts/overlays/imx708.dtbo", + "arch/arm64/boot/dts/overlays/interludeaudio-analog.dtbo", + "arch/arm64/boot/dts/overlays/interludeaudio-digital.dtbo", + "arch/arm64/boot/dts/overlays/iqaudio-codec.dtbo", + "arch/arm64/boot/dts/overlays/iqaudio-dac.dtbo", + "arch/arm64/boot/dts/overlays/iqaudio-dacplus.dtbo", + "arch/arm64/boot/dts/overlays/iqaudio-digi-wm8804-audio.dtbo", + "arch/arm64/boot/dts/overlays/iqs550.dtbo", + "arch/arm64/boot/dts/overlays/irs1125.dtbo", + "arch/arm64/boot/dts/overlays/jedec-spi-nor.dtbo", + "arch/arm64/boot/dts/overlays/justboom-both.dtbo", + "arch/arm64/boot/dts/overlays/justboom-dac.dtbo", + "arch/arm64/boot/dts/overlays/justboom-digi.dtbo", + "arch/arm64/boot/dts/overlays/ltc294x.dtbo", + "arch/arm64/boot/dts/overlays/max98357a.dtbo", + "arch/arm64/boot/dts/overlays/maxtherm.dtbo", + "arch/arm64/boot/dts/overlays/mbed-dac.dtbo", + "arch/arm64/boot/dts/overlays/mcp23017.dtbo", + "arch/arm64/boot/dts/overlays/mcp23s17.dtbo", + "arch/arm64/boot/dts/overlays/mcp2515.dtbo", + "arch/arm64/boot/dts/overlays/mcp2515-can0.dtbo", + "arch/arm64/boot/dts/overlays/mcp2515-can1.dtbo", + "arch/arm64/boot/dts/overlays/mcp251xfd.dtbo", + "arch/arm64/boot/dts/overlays/mcp3008.dtbo", + "arch/arm64/boot/dts/overlays/mcp3202.dtbo", + "arch/arm64/boot/dts/overlays/mcp342x.dtbo", + "arch/arm64/boot/dts/overlays/media-center.dtbo", + "arch/arm64/boot/dts/overlays/merus-amp.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart0.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart0-pi5.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart1.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart1-pi5.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart2.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart2-pi5.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart3.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart3-pi5.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart4.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart4-pi5.dtbo", + "arch/arm64/boot/dts/overlays/midi-uart5.dtbo", + "arch/arm64/boot/dts/overlays/minipitft13.dtbo", + "arch/arm64/boot/dts/overlays/miniuart-bt.dtbo", + "arch/arm64/boot/dts/overlays/mipi-dbi-spi.dtbo", + "arch/arm64/boot/dts/overlays/mlx90640.dtbo", + "arch/arm64/boot/dts/overlays/mmc.dtbo", + "arch/arm64/boot/dts/overlays/mz61581.dtbo", + "arch/arm64/boot/dts/overlays/ov2311.dtbo", + "arch/arm64/boot/dts/overlays/ov5647.dtbo", + "arch/arm64/boot/dts/overlays/ov64a40.dtbo", + "arch/arm64/boot/dts/overlays/ov7251.dtbo", + "arch/arm64/boot/dts/overlays/ov9281.dtbo", + "arch/arm64/boot/dts/overlays/papirus.dtbo", + "arch/arm64/boot/dts/overlays/pca953x.dtbo", + "arch/arm64/boot/dts/overlays/pcf857x.dtbo", + "arch/arm64/boot/dts/overlays/pcie-32bit-dma.dtbo", + "arch/arm64/boot/dts/overlays/pcie-32bit-dma-pi5.dtbo", + "arch/arm64/boot/dts/overlays/pibell.dtbo", + "arch/arm64/boot/dts/overlays/pifacedigital.dtbo", + "arch/arm64/boot/dts/overlays/pifi-40.dtbo", + "arch/arm64/boot/dts/overlays/pifi-dac-hd.dtbo", + "arch/arm64/boot/dts/overlays/pifi-dac-zero.dtbo", + "arch/arm64/boot/dts/overlays/pifi-mini-210.dtbo", + "arch/arm64/boot/dts/overlays/piglow.dtbo", + "arch/arm64/boot/dts/overlays/piscreen.dtbo", + "arch/arm64/boot/dts/overlays/piscreen2r.dtbo", + "arch/arm64/boot/dts/overlays/pisound.dtbo", + "arch/arm64/boot/dts/overlays/pisound-pi5.dtbo", + "arch/arm64/boot/dts/overlays/pitft22.dtbo", + "arch/arm64/boot/dts/overlays/pitft28-capacitive.dtbo", + "arch/arm64/boot/dts/overlays/pitft28-resistive.dtbo", + "arch/arm64/boot/dts/overlays/pitft35-resistive.dtbo", + "arch/arm64/boot/dts/overlays/pps-gpio.dtbo", + "arch/arm64/boot/dts/overlays/proto-codec.dtbo", + "arch/arm64/boot/dts/overlays/pwm.dtbo", + "arch/arm64/boot/dts/overlays/pwm-2chan.dtbo", + "arch/arm64/boot/dts/overlays/pwm-ir-tx.dtbo", + "arch/arm64/boot/dts/overlays/pwm1.dtbo", + "arch/arm64/boot/dts/overlays/qca7000.dtbo", + "arch/arm64/boot/dts/overlays/qca7000-uart0.dtbo", + "arch/arm64/boot/dts/overlays/ramoops.dtbo", + "arch/arm64/boot/dts/overlays/ramoops-pi4.dtbo", + "arch/arm64/boot/dts/overlays/rotary-encoder.dtbo", + "arch/arm64/boot/dts/overlays/rpi-backlight.dtbo", + "arch/arm64/boot/dts/overlays/rpi-codeczero.dtbo", + "arch/arm64/boot/dts/overlays/rpi-dacplus.dtbo", + "arch/arm64/boot/dts/overlays/rpi-dacpro.dtbo", + "arch/arm64/boot/dts/overlays/rpi-digiampplus.dtbo", + "arch/arm64/boot/dts/overlays/rpi-ft5406.dtbo", + "arch/arm64/boot/dts/overlays/rpi-poe.dtbo", + "arch/arm64/boot/dts/overlays/rpi-poe-plus.dtbo", + "arch/arm64/boot/dts/overlays/rpi-sense.dtbo", + "arch/arm64/boot/dts/overlays/rpi-sense-v2.dtbo", + "arch/arm64/boot/dts/overlays/rpi-tv.dtbo", + "arch/arm64/boot/dts/overlays/rra-digidac1-wm8741-audio.dtbo", + "arch/arm64/boot/dts/overlays/sainsmart18.dtbo", + "arch/arm64/boot/dts/overlays/sc16is750-i2c.dtbo", + "arch/arm64/boot/dts/overlays/sc16is752-i2c.dtbo", + "arch/arm64/boot/dts/overlays/sc16is752-spi0.dtbo", + "arch/arm64/boot/dts/overlays/sc16is752-spi1.dtbo", + "arch/arm64/boot/dts/overlays/sdhost.dtbo", + "arch/arm64/boot/dts/overlays/sdio.dtbo", + "arch/arm64/boot/dts/overlays/sdio-pi5.dtbo", + "arch/arm64/boot/dts/overlays/seeed-can-fd-hat-v1.dtbo", + "arch/arm64/boot/dts/overlays/seeed-can-fd-hat-v2.dtbo", + "arch/arm64/boot/dts/overlays/sh1106-spi.dtbo", + "arch/arm64/boot/dts/overlays/si446x-spi0.dtbo", + "arch/arm64/boot/dts/overlays/smi.dtbo", + "arch/arm64/boot/dts/overlays/smi-dev.dtbo", + "arch/arm64/boot/dts/overlays/smi-nand.dtbo", + "arch/arm64/boot/dts/overlays/spi-gpio35-39.dtbo", + "arch/arm64/boot/dts/overlays/spi-gpio40-45.dtbo", + "arch/arm64/boot/dts/overlays/spi-rtc.dtbo", + "arch/arm64/boot/dts/overlays/spi0-0cs.dtbo", + "arch/arm64/boot/dts/overlays/spi0-1cs.dtbo", + "arch/arm64/boot/dts/overlays/spi0-2cs.dtbo", + "arch/arm64/boot/dts/overlays/spi1-1cs.dtbo", + "arch/arm64/boot/dts/overlays/spi1-2cs.dtbo", + "arch/arm64/boot/dts/overlays/spi1-3cs.dtbo", + "arch/arm64/boot/dts/overlays/spi2-1cs.dtbo", + "arch/arm64/boot/dts/overlays/spi2-1cs-pi5.dtbo", + "arch/arm64/boot/dts/overlays/spi2-2cs.dtbo", + "arch/arm64/boot/dts/overlays/spi2-2cs-pi5.dtbo", + "arch/arm64/boot/dts/overlays/spi2-3cs.dtbo", + "arch/arm64/boot/dts/overlays/spi3-1cs.dtbo", + "arch/arm64/boot/dts/overlays/spi3-1cs-pi5.dtbo", + "arch/arm64/boot/dts/overlays/spi3-2cs.dtbo", + "arch/arm64/boot/dts/overlays/spi3-2cs-pi5.dtbo", + "arch/arm64/boot/dts/overlays/spi4-1cs.dtbo", + "arch/arm64/boot/dts/overlays/spi4-2cs.dtbo", + "arch/arm64/boot/dts/overlays/spi5-1cs.dtbo", + "arch/arm64/boot/dts/overlays/spi5-1cs-pi5.dtbo", + "arch/arm64/boot/dts/overlays/spi5-2cs.dtbo", + "arch/arm64/boot/dts/overlays/spi5-2cs-pi5.dtbo", + "arch/arm64/boot/dts/overlays/spi6-1cs.dtbo", + "arch/arm64/boot/dts/overlays/spi6-2cs.dtbo", + "arch/arm64/boot/dts/overlays/ssd1306.dtbo", + "arch/arm64/boot/dts/overlays/ssd1306-spi.dtbo", + "arch/arm64/boot/dts/overlays/ssd1331-spi.dtbo", + "arch/arm64/boot/dts/overlays/ssd1351-spi.dtbo", + "arch/arm64/boot/dts/overlays/sunfounder-pironman5.dtbo", + "arch/arm64/boot/dts/overlays/superaudioboard.dtbo", + "arch/arm64/boot/dts/overlays/sx150x.dtbo", + "arch/arm64/boot/dts/overlays/tc358743.dtbo", + "arch/arm64/boot/dts/overlays/tc358743-audio.dtbo", + "arch/arm64/boot/dts/overlays/tinylcd35.dtbo", + "arch/arm64/boot/dts/overlays/tpm-slb9670.dtbo", + "arch/arm64/boot/dts/overlays/tpm-slb9673.dtbo", + "arch/arm64/boot/dts/overlays/uart0.dtbo", + "arch/arm64/boot/dts/overlays/uart0-pi5.dtbo", + "arch/arm64/boot/dts/overlays/uart1.dtbo", + "arch/arm64/boot/dts/overlays/uart1-pi5.dtbo", + "arch/arm64/boot/dts/overlays/uart2.dtbo", + "arch/arm64/boot/dts/overlays/uart2-pi5.dtbo", + "arch/arm64/boot/dts/overlays/uart3.dtbo", + "arch/arm64/boot/dts/overlays/uart3-pi5.dtbo", + "arch/arm64/boot/dts/overlays/uart4.dtbo", + "arch/arm64/boot/dts/overlays/uart4-pi5.dtbo", + "arch/arm64/boot/dts/overlays/uart5.dtbo", + "arch/arm64/boot/dts/overlays/udrc.dtbo", + "arch/arm64/boot/dts/overlays/ugreen-dabboard.dtbo", + "arch/arm64/boot/dts/overlays/upstream.dtbo", + "arch/arm64/boot/dts/overlays/upstream-pi4.dtbo", + "arch/arm64/boot/dts/overlays/vc4-fkms-v3d.dtbo", + "arch/arm64/boot/dts/overlays/vc4-fkms-v3d-pi4.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dpi-generic.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dpi-hyperpixel2r.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dpi-hyperpixel4.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dpi-hyperpixel4sq.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dpi-panel.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dsi-7inch.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dsi-generic.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dsi-lt070me05000.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dsi-lt070me05000-v2.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-dsi-waveshare-panel.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-kippah-7inch.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-v3d.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-v3d-pi4.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-v3d-pi5.dtbo", + "arch/arm64/boot/dts/overlays/vc4-kms-vga666.dtbo", + "arch/arm64/boot/dts/overlays/vga666.dtbo", + "arch/arm64/boot/dts/overlays/vl805.dtbo", + "arch/arm64/boot/dts/overlays/w1-gpio.dtbo", + "arch/arm64/boot/dts/overlays/w1-gpio-pullup.dtbo", + "arch/arm64/boot/dts/overlays/w5500.dtbo", + "arch/arm64/boot/dts/overlays/watterott-display.dtbo", + "arch/arm64/boot/dts/overlays/waveshare-can-fd-hat-mode-a.dtbo", + "arch/arm64/boot/dts/overlays/waveshare-can-fd-hat-mode-b.dtbo", + "arch/arm64/boot/dts/overlays/wittypi.dtbo", + "arch/arm64/boot/dts/overlays/wm8960-soundcard.dtbo", +] + +kernel_build( + name = "rpi5", + make_goals = [ + "Image", + "dtbs", + ], + outs = _RPI_OVERLAYS_OUTS + [ + "arch/arm64/boot/Image", + "arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb", + ], + base_kernel = None, + build_config = "build.config.rpi5", + module_outs = None, + strip_modules = False, +) + +kernel_build( + name = "rpi4", + make_goals = [ + "Image", + "dtbs", + ], + outs = _RPI_OVERLAYS_OUTS + [ + "arch/arm64/boot/Image", + "arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb", + "arch/arm64/boot/dts/broadcom/bcm2711-rpi-400.dtb", + "arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4.dtb", + "arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-io.dtb", + "arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4s.dtb", + ], + base_kernel = None, + build_config = "build.config.rpi4", + module_outs = None, + strip_modules = False, +) + # DDK Headers # All headers. These are the public targets for DDK modules to use. alias( diff --git a/build.config.rpi4 b/build.config.rpi4 index b745b0f1f2f7a..fd01f086b08f5 100644 --- a/build.config.rpi4 +++ b/build.config.rpi4 @@ -5,11 +5,6 @@ KERNEL_DIR=common BRANCH= DEFCONFIG=android_rpi4_defconfig -MAKE_GOALS=" -Image -dtbs -" - FILES=" arch/arm64/boot/Image arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb diff --git a/build.config.rpi5 b/build.config.rpi5 index df3f4bfa70efb..bcef1df1c9dbb 100644 --- a/build.config.rpi5 +++ b/build.config.rpi5 @@ -5,11 +5,6 @@ KERNEL_DIR=common BRANCH= DEFCONFIG=android_rpi5_defconfig -MAKE_GOALS=" -Image -dtbs -" - FILES=" arch/arm64/boot/Image arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb