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.
|
# Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
|
|
||||||
blocklist kheaders
|
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(":image_opts.bzl", "boot_image_opts")
|
||||||
load(":target_variants.bzl", "la_variants")
|
load(":target_variants.bzl", "la_variants")
|
||||||
load(":modules.bzl", "COMMON_GKI_MODULES_LIST")
|
load(":modules.bzl", "COMMON_GKI_MODULES_LIST")
|
||||||
|
load(":modules_unprotected.bzl", "get_unprotected_vendor_modules_list")
|
||||||
|
|
||||||
def _define_build_config(
|
def _define_build_config(
|
||||||
msm_target,
|
msm_target,
|
||||||
@ -116,6 +117,7 @@ def _define_build_config(
|
|||||||
|
|
||||||
def _define_kernel_build(
|
def _define_kernel_build(
|
||||||
target,
|
target,
|
||||||
|
msm_target,
|
||||||
base_kernel,
|
base_kernel,
|
||||||
in_tree_module_list,
|
in_tree_module_list,
|
||||||
dtb_list,
|
dtb_list,
|
||||||
@ -143,10 +145,14 @@ def _define_kernel_build(
|
|||||||
if dtbo_list:
|
if dtbo_list:
|
||||||
out_list += 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(
|
kernel_build(
|
||||||
name = target,
|
name = target,
|
||||||
module_outs = in_tree_module_list,
|
module_outs = in_tree_module_list,
|
||||||
module_implicit_outs = COMMON_GKI_MODULES_LIST,
|
module_implicit_outs = common_gki_mod_list,
|
||||||
outs = out_list,
|
outs = out_list,
|
||||||
build_config = ":{}_build_config".format(target),
|
build_config = ":{}_build_config".format(target),
|
||||||
dtstree = dtstree,
|
dtstree = dtstree,
|
||||||
@ -359,6 +365,10 @@ def _define_kernel_dist(
|
|||||||
":{}_system_dlkm_module_blocklist".format(target),
|
":{}_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))
|
msm_dist_targets.append("{}_avb_sign_boot_image".format(target))
|
||||||
|
|
||||||
if dpm_overlay:
|
if dpm_overlay:
|
||||||
@ -466,11 +476,22 @@ def define_msm_la(
|
|||||||
vendor_ramdisk_binaries = get_vendor_ramdisk_binaries(target)
|
vendor_ramdisk_binaries = get_vendor_ramdisk_binaries(target)
|
||||||
gki_ramdisk_prebuilt_binary = get_gki_ramdisk_prebuilt_binary()
|
gki_ramdisk_prebuilt_binary = get_gki_ramdisk_prebuilt_binary()
|
||||||
build_config_fragments = get_build_config_fragments(msm_target)
|
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
|
# Can't enable dpm_overlay if no overlays are listed
|
||||||
if len(dtbo_list) == 0 and dpm_overlay:
|
if len(dtbo_list) == 0 and dpm_overlay:
|
||||||
dpm_overlay = False
|
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(
|
_define_build_config(
|
||||||
msm_target,
|
msm_target,
|
||||||
target,
|
target,
|
||||||
@ -481,6 +502,7 @@ def define_msm_la(
|
|||||||
|
|
||||||
_define_kernel_build(
|
_define_kernel_build(
|
||||||
target,
|
target,
|
||||||
|
msm_target,
|
||||||
base_kernel,
|
base_kernel,
|
||||||
in_tree_module_list,
|
in_tree_module_list,
|
||||||
dtb_list,
|
dtb_list,
|
||||||
|
Loading…
Reference in New Issue
Block a user