Build modules

This commit is contained in:
Aaron Kling
2025-02-17 23:51:21 -06:00
parent 33391df56b
commit d6b9f4f150
2 changed files with 167 additions and 0 deletions

View File

@@ -2,9 +2,14 @@
load("@rules_pkg//pkg:install.bzl", "pkg_install")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load("//build/kernel/kleaf:hermetic_tools.bzl", "hermetic_genrule")
load(
"//build/kernel/kleaf:kernel.bzl",
"ddk_uapi_headers",
"kernel_abi",
"kernel_build",
"kernel_module_group",
"kernel_modules_install",
)
config_setting(
@@ -337,6 +342,140 @@ alias(
visibility = ["//visibility:public"],
)
alias(
name = "kernel_tegra_headers",
actual = select({
"config_arm": ":kernel_arm_tegra_headers",
"//conditions:default": ":kernel_aarch64_tegra_headers",
}),
visibility = ["//visibility:public"],
)
alias(
name = "kernel_tegra_uapi_headers",
actual = select({
"config_arm": ":kernel_arm_tegra_uapi_headers",
"//conditions:default": ":kernel_aarch64_tegra_uapi_headers",
}),
)
kernel_module_group(
name = "tegra_aarch64_external_modules",
srcs = [
"//vendor/nvidia/hwpm:nvhwpm",
"//vendor/nvidia/nvidia-oot:host1x",
"//vendor/nvidia/nvidia-oot:host1x-nvhost",
"//vendor/nvidia/nvidia-oot:tegra-drm",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra-utils",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-ahub",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-dmic",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-i2s",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-admaif",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-amx",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-adx",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-mixer",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-sfc",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-afc",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-mvc",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-iqc",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra210-ope",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra186-dspk",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra186-arad",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra186-asrc",
"//vendor/nvidia/nvidia-oot:snd-soc-tegra-machine-driver",
"//vendor/nvidia/nvidia-oot:governor_pod_scaling",
"//vendor/nvidia/nvidia-oot:pwm-tegra-tachometer",
"//vendor/nvidia/nvidia-oot:nvpmodel-clk-cap",
"//vendor/nvidia/nvidia-oot:tegra_bpmp",
"//vendor/nvidia/nvidia-oot:nvidia-vrs-pseq",
"//vendor/nvidia/nvidia-oot:mc-utils",
"//vendor/nvidia/nvidia-oot:tegra-dce",
"//vendor/nvidia/nvidia-oot:tegra-se",
"//vendor/nvidia/nvidia-oot:tsecriscv",
"//vendor/nvidia/nvidia-oot:fusb301",
"//vendor/nvidia/nvidia-oot:nvsciipc",
"//vendor/nvidia/nvidia-oot:nvmap",
"//vendor/nvidia/lineage-oot:hid-nvidia-shield-oot",
"//vendor/nvidia/lineage-oot:panel-jdi-58-1440-810",
"//vendor/nvidia/lineage-oot:rm31080a_ctrl",
"//vendor/nvidia/lineage-oot:rm31080a_ts",
"//vendor/nvidia/lineage-oot:max77620-restart",
"//vendor/nvidia/lineage-oot:snd-soc-es755",
"//vendor/nvidia/display:openrm",
"//vendor/nvidia/nvgpu:nvgpu",
],
)
kernel_module_group(
name = "tegra_arm_external_modules",
srcs = [
"//vendor/nvidia/lineage-oot:hid-nvidia-shield-oot",
"//vendor/nvidia/lineage-oot:panel-jdi-58-1440-810",
"//vendor/nvidia/lineage-oot:rm31080a_ctrl",
"//vendor/nvidia/lineage-oot:rm31080a_ts",
"//vendor/nvidia/lineage-oot:lc709203f_battery",
"//vendor/nvidia/lineage-oot:palmas-poweroff",
],
)
alias(
name = "tegra_external_modules",
actual = select({
"config_arm": ":tegra_arm_external_modules",
"//conditions:default": ":tegra_aarch64_external_modules",
}),
visibility = ["//visibility:public"],
)
kernel_modules_install(
name = "tegra_modules_install",
kernel_build = ":kernel_tegra",
outs = [ "modules.dep", "modules.alias", ],
kernel_modules = [
":tegra_external_modules",
],
)
ddk_uapi_headers(
name = "tegra_ddk_uapi_headers",
srcs = [
"//vendor/nvidia/hwpm:uapi_headers",
"//vendor/nvidia/nvidia-oot:uapi_headers",
],
out = "ddk-uapi-headers.tar.gz",
kernel_build = ":kernel_tegra",
)
hermetic_genrule(
name = "tegra_merged_kernel_uapi_headers",
srcs = [
":kernel_tegra_uapi_headers",
":tegra_ddk_uapi_headers",
],
outs = [
"kernel-uapi-headers.tar.gz",
],
cmd = """
mkdir -p out
mkdir -p vendor/nvidia/tegra
tar -xzf $$(find bazel-out/ -name kernel-uapi-headers.tar.gz -print -quit) -C out
tar -xzf $$(find bazel-out/ -name ddk-uapi-headers.tar.gz -print -quit) -C out
tar -czf $(@D)/kernel-uapi-headers.tar.gz . -C out
""",
)
pkg_files(
name = "tegra_uapi_headers_dist_files",
srcs = [
":tegra_merged_kernel_uapi_headers",
],
strip_prefix = strip_prefix.files_only(),
)
pkg_install(
name = "tegra_uapi_headers_dist",
srcs = [":tegra_uapi_headers_dist_files"],
destdir = "out/tegra/dist",
)
filegroup(
name = "tegra_gki_files",
srcs = select({
@@ -357,6 +496,8 @@ pkg_files(
name = "tegra_dist_files",
srcs = [
":kernel_tegra",
":tegra_modules_install",
":tegra_merged_kernel_uapi_headers",
# Mixed build: Additional GKI artifacts.
":tegra_gki_files",
],
@@ -367,3 +508,9 @@ pkg_install(
srcs = [":tegra_dist_files"],
destdir = "out/tegra/dist",
)
kernel_abi(
name = "tegra_abi",
kernel_build = ":kernel_tegra",
kernel_modules = [":tegra_external_modules"],
)