bazel: msm-kernel: Add LA-feature to add unprotected vendor_dlkm
Compile zram/zsmalloc as unprotected vendor_dlkm. While at it update corresponding system_dlkm in blocklist so that only vendor_dlkm modules are loaded. Change-Id: I620215fa42e4b8009e3b504ac4e3db84ac178023 Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com>
This commit is contained in:
parent
cf9d60d242
commit
f0c4a848da
@ -2,3 +2,5 @@
|
||||
# Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
|
||||
blocklist kheaders
|
||||
blocklist zram
|
||||
blocklist zsmalloc
|
||||
|
23
modules_unprotected.bzl
Normal file
23
modules_unprotected.bzl
Normal file
@ -0,0 +1,23 @@
|
||||
# Add unprotected modules corresponding to each platform
|
||||
_unprotected_modules_map = {
|
||||
"pitti": [
|
||||
# keep sorted
|
||||
"drivers/block/zram/zram.ko",
|
||||
"mm/zsmalloc.ko",
|
||||
],
|
||||
}
|
||||
|
||||
def get_unprotected_vendor_modules_list(msm_target = None):
|
||||
""" Provides the list of unprotected vendor modules.
|
||||
|
||||
Args:
|
||||
msm_target: name of target platform (e.g. "pitti").
|
||||
|
||||
Returns:
|
||||
The list of unprotected vendor modules for the given msm_target.
|
||||
"""
|
||||
unprotected_modules_list = []
|
||||
for t, m in _unprotected_modules_map.items():
|
||||
if msm_target in t:
|
||||
unprotected_modules_list = [] + _unprotected_modules_map[msm_target]
|
||||
return unprotected_modules_list
|
@ -32,6 +32,7 @@ load(":dpm_image.bzl", "define_dpm_image")
|
||||
load(":image_opts.bzl", "boot_image_opts")
|
||||
load(":target_variants.bzl", "la_variants")
|
||||
load(":modules.bzl", "COMMON_GKI_MODULES_LIST")
|
||||
load(":modules_unprotected.bzl", "get_unprotected_vendor_modules_list")
|
||||
|
||||
def _define_build_config(
|
||||
msm_target,
|
||||
@ -116,6 +117,7 @@ def _define_build_config(
|
||||
|
||||
def _define_kernel_build(
|
||||
target,
|
||||
msm_target,
|
||||
base_kernel,
|
||||
in_tree_module_list,
|
||||
dtb_list,
|
||||
@ -143,10 +145,14 @@ def _define_kernel_build(
|
||||
if dtbo_list:
|
||||
out_list += dtbo_list
|
||||
|
||||
common_gki_mod_list = [] + COMMON_GKI_MODULES_LIST
|
||||
for mod in get_unprotected_vendor_modules_list(msm_target):
|
||||
common_gki_mod_list.remove(mod)
|
||||
|
||||
kernel_build(
|
||||
name = target,
|
||||
module_outs = in_tree_module_list,
|
||||
module_implicit_outs = COMMON_GKI_MODULES_LIST,
|
||||
module_implicit_outs = common_gki_mod_list,
|
||||
outs = out_list,
|
||||
build_config = ":{}_build_config".format(target),
|
||||
dtstree = dtstree,
|
||||
@ -359,6 +365,10 @@ def _define_kernel_dist(
|
||||
":{}_system_dlkm_module_blocklist".format(target),
|
||||
])
|
||||
|
||||
vendor_unprotected_dlkm = " ".join(get_unprotected_vendor_modules_list(msm_target))
|
||||
if vendor_unprotected_dlkm:
|
||||
msm_dist_targets.extend(["{}_vendor_dlkm_module_unprotectedlist".format(target)])
|
||||
|
||||
msm_dist_targets.append("{}_avb_sign_boot_image".format(target))
|
||||
|
||||
if dpm_overlay:
|
||||
@ -466,11 +476,22 @@ def define_msm_la(
|
||||
vendor_ramdisk_binaries = get_vendor_ramdisk_binaries(target)
|
||||
gki_ramdisk_prebuilt_binary = get_gki_ramdisk_prebuilt_binary()
|
||||
build_config_fragments = get_build_config_fragments(msm_target)
|
||||
vendor_dlkm_module_unprotected_list = get_unprotected_vendor_modules_list(msm_target)
|
||||
|
||||
# Can't enable dpm_overlay if no overlays are listed
|
||||
if len(dtbo_list) == 0 and dpm_overlay:
|
||||
dpm_overlay = False
|
||||
|
||||
vendor_unprotected_dlkm = " ".join(vendor_dlkm_module_unprotected_list)
|
||||
if vendor_unprotected_dlkm:
|
||||
write_file(
|
||||
name = "{}_vendor_dlkm_module_unprotectedlist".format(target),
|
||||
out = "{}/vendor_dlkm.modules.unprotectedlist".format(target),
|
||||
content = [vendor_unprotected_dlkm, ""],
|
||||
)
|
||||
|
||||
in_tree_module_list += vendor_dlkm_module_unprotected_list
|
||||
|
||||
_define_build_config(
|
||||
msm_target,
|
||||
target,
|
||||
@ -481,6 +502,7 @@ def define_msm_la(
|
||||
|
||||
_define_kernel_build(
|
||||
target,
|
||||
msm_target,
|
||||
base_kernel,
|
||||
in_tree_module_list,
|
||||
dtb_list,
|
||||
|
Loading…
Reference in New Issue
Block a user