# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021 The Android Open Source Project

load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
load("//build/bazel_common_rules/zip:zip.bzl", "zip_archive")
load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels")
load(
    "//build/kernel/kleaf:kernel.bzl",
    "android_filegroup",
    "checkpatch",
    "ddk_headers",
    "kernel_build",
    "kernel_images",
    "kernel_modules_install",
    "merged_kernel_uapi_headers",
)
load(":abi.bzl", "cc_binary_with_abi")
load(":modules.bzl", "get_gki_modules_list")

package(
    default_visibility = [
        "//visibility:public",
    ],
)

_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.
        "",
    ],
)

define_common_kernels(target_configs = {
    "kernel_aarch64": {
        "module_implicit_outs": get_gki_modules_list("arm64"),
        "make_goals": _GKI_AARCH64_MAKE_GOALS,
    },
    "kernel_riscv64": {
        "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"),
        "make_goals": _GKI_X86_64_MAKE_GOALS,
    },
})

_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/pmdomain/qcom/cpr.ko",
    "drivers/pmdomain/qcom/rpmhpd.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/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_ice.ko",
    "drivers/soc/qcom/qcom_rpmh.ko",
    "drivers/soc/qcom/qmi_helpers.ko",
    "drivers/soc/qcom/rmtfs_mem.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/tcpm/qcom/qcom_pmic_tcpm.ko",
    "net/qrtr/qrtr.ko",
    "net/qrtr/qrtr-mhi.ko",
    "net/qrtr/qrtr-smd.ko",
    "net/qrtr/qrtr-tun.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-classh.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",
    srcs = [":kernel_aarch64_sources"],
    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 + _DB845C_WATCHDOG_MODULE_OUTS,
    strip_modules = True,
)

kernel_build(
    name = "db845c_with_kgdb",
    srcs = [":kernel_aarch64_sources"],
    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_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/cpufreq/cpufreq-dt-platdev.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/rk8xx-core.ko",
    "drivers/mfd/rk8xx-i2c.ko",
    "drivers/mfd/rk8xx-spi.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",
    srcs = [":kernel_aarch64_sources"],
    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",
    srcs = [":kernel_aarch64_sources"],
    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,
)

# 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",
    srcs = [":kernel_aarch64_sources"],
    # 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",
    srcs = [":kernel_x86_64_sources"],
    # 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",
    # We don't have an arm-specific source list, so use the common one.
    srcs = [":common_kernel_sources"],
    # 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"],
)

# KUnit test targets

# Modules defined by tools/testing/kunit/configs/android/kunit_defconfig
_KUNIT_COMMON_MODULES = [
    # keep sorted
    "drivers/base/regmap/regmap-kunit.ko",
    "drivers/base/regmap/regmap-ram.ko",
    "drivers/base/regmap/regmap-raw-ram.ko",
    "drivers/hid/hid-uclogic-test.ko",
    "drivers/iio/test/iio-test-format.ko",
    "drivers/input/tests/input_test.ko",
    "drivers/rtc/lib_test.ko",
    "fs/ext4/ext4-inode-test.ko",
    "fs/fat/fat_test.ko",
    "kernel/time/time_test.ko",
    "lib/kunit/kunit-example-test.ko",
    "lib/kunit/kunit-test.ko",
    "mm/kfence/kfence_test.ko",
    "net/core/dev_addr_lists_test.ko",
    "sound/soc/soc-topology-test.ko",
    "sound/soc/soc-utils-test.ko",
]

_KUNIT_CLK_MODULES = [
    "drivers/clk/clk-gate_test.ko",
    "drivers/clk/clk_test.ko",
]

kernel_build(
    name = "kunit_aarch64",
    srcs = [":kernel_aarch64_sources"],
    outs = [],
    arch = "arm64",
    base_kernel = ":kernel_aarch64",
    build_config = "build.config.kunit.aarch64",
    defconfig_fragments = [
        "tools/testing/kunit/configs/android/kunit_defconfig",
        "tools/testing/kunit/configs/android/kunit_clk_defconfig",
    ],
    make_goals = ["modules"],
    module_outs = _KUNIT_COMMON_MODULES + _KUNIT_CLK_MODULES,
)

copy_to_dist_dir(
    name = "kunit_aarch64_dist",
    data = [":kunit_aarch64"],
    dist_dir = "out/kunit_aarch64/dist",
    flat = True,
    log = "info",
)

kernel_build(
    name = "kunit_x86_64",
    srcs = [":kernel_x86_64_sources"],
    outs = [],
    arch = "x86_64",
    base_kernel = ":kernel_x86_64",
    build_config = "build.config.kunit.x86_64",
    defconfig_fragments = [
        "tools/testing/kunit/configs/android/kunit_defconfig",
        # x86_64 does not set CONFIG_COMMON_CLK
    ],
    make_goals = ["modules"],
    module_outs = _KUNIT_COMMON_MODULES,
)

copy_to_dist_dir(
    name = "kunit_x86_64_dist",
    data = [":kunit_x86_64"],
    dist_dir = "out/kunit_x86_64/dist",
    flat = True,
    log = "info",
)

kernel_build(
    name = "kunit_riscv64",
    srcs = [":kernel_riscv64_sources"],
    outs = [],
    arch = "riscv64",
    base_kernel = ":kernel_riscv64",
    build_config = "build.config.kunit.riscv64",
    defconfig_fragments = [
        "tools/testing/kunit/configs/android/kunit_defconfig",
        "tools/testing/kunit/configs/android/kunit_clk_defconfig",
    ],
    make_goals = ["modules"],
    module_outs = _KUNIT_COMMON_MODULES + _KUNIT_CLK_MODULES,
)

copy_to_dist_dir(
    name = "kunit_riscv64_dist",
    data = [":kunit_riscv64"],
    dist_dir = "out/kunit_riscv64/dist",
    flat = True,
    log = "info",
)

# 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"],
)

_KSELFTEST_DIR = "testcases/selftests"

config_setting(
    name = "x86_64",
    values = {"platforms": "//build/kernel/kleaf/impl:android_x86_64"},
    visibility = ["//visibility:private"],
)

config_setting(
    name = "arm64",
    values = {"platforms": "//build/kernel/kleaf/impl:android_arm64"},
    visibility = ["//visibility:private"],
)

cc_library(
    name = "kselftest_headers_lib",
    hdrs = glob(["tools/testing/selftests/*.h"]),
    visibility = ["//visibility:private"],
)

cc_binary_with_abi(
    name = "kselftest_binderfs_test",
    srcs = ["tools/testing/selftests/filesystems/binderfs/binderfs_test.c"],
    path_prefix = _KSELFTEST_DIR,
    target_compatible_with = ["@platforms//os:android"],
    visibility = ["//visibility:private"],
    deps = [":kselftest_headers_lib"],
)

cc_binary_with_abi(
    name = "kselftest_breakpoints_tests_step_after_suspend_test",
    srcs = ["tools/testing/selftests/breakpoints/step_after_suspend_test.c"],
    path_prefix = _KSELFTEST_DIR,
    target_compatible_with = ["@platforms//os:android"],
    visibility = ["//visibility:private"],
    deps = [":kselftest_headers_lib"],
)

cc_binary_with_abi(
    name = "kselftest_breakpoints_tests_breakpoint_test",
    srcs = select({
        ":x86_64": ["tools/testing/selftests/breakpoints/breakpoint_test.c"],
        ":arm64": ["tools/testing/selftests/breakpoints/breakpoint_test_arm64.c"],
    }),
    path_prefix = _KSELFTEST_DIR,
    target_compatible_with = ["@platforms//os:android"],
    visibility = ["//visibility:private"],
    deps = [":kselftest_headers_lib"],
)

copy_file(
    name = "kselftest_gen_config",
    src = select({
        ":x86_64": "tools/testing/selftests/android/config_x86_64.xml",
        ":arm64": "tools/testing/selftests/android/config_arm64.xml",
    }),
    out = _KSELFTEST_DIR + "/selftests.config",
    visibility = ["//visibility:private"],
)

android_filegroup(
    name = "kselftest_tests_x86_64",
    srcs = [
        ":kselftest_binderfs_test_x86_64",
        ":kselftest_breakpoints_tests_breakpoint_test_x86_64",
        ":kselftest_breakpoints_tests_step_after_suspend_test_x86_64",
        ":kselftest_gen_config",
    ],
    cpu = "x86_64",
    visibility = ["//visibility:private"],
)

android_filegroup(
    name = "kselftest_tests_arm64",
    srcs = [
        ":kselftest_binderfs_test_arm64",
        ":kselftest_breakpoints_tests_breakpoint_test_arm64",
        ":kselftest_breakpoints_tests_step_after_suspend_test_arm64",
        ":kselftest_gen_config",
    ],
    cpu = "arm64",
    visibility = ["//visibility:private"],
)

zip_archive(
    name = "tests_zip_x86_64",
    srcs = [":kselftest_tests_x86_64"],
    out = "tests.zip",
)

zip_archive(
    name = "tests_zip_arm64",
    srcs = [":kselftest_tests_arm64"],
    out = "tests.zip",
)
