summaryrefslogtreecommitdiff
path: root/BoardConfig-common.mk
diff options
context:
space:
mode:
authorDaniel Mentz <danielmentz@google.com>2022-07-21 14:45:34 -0700
committerDaniel Mentz <danielmentz@google.com>2022-10-31 19:30:13 +0000
commit3b533e5227b67f5bde8daa12de2f9da3605998c0 (patch)
tree435f2e5ceed5da9579f61eec1f268ec8f801267e /BoardConfig-common.mk
parent694c890c33acbea00f525b8fe4c6abc527f445fe (diff)
downloadgs201-3b533e5227b67f5bde8daa12de2f9da3605998c0.tar.gz
Import prebuilt kernel modules like fips140.ko
Add support for copying prebuilt kernel modules like fips140.ko into the vendor kernel ramdisk. These kernel modules are different in the following ways: - They do not appear in vendor_kernel_boot.modules.load provided by the kernel build system. - We want to put their names at the very beginning of the output modules.load file to ensure that they are loaded prior to all other modules. We define a new Makefile variable named BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES. For every filename on this list, we verify that the file exists in $(KERNEL_MODULE_DIR), and if it does, we include its name in the modules.load for the vendor kernel boot ramdisk. Bug: 194712883 Change-Id: I91a1d834b32717d32621d0a67da9052324cab20c
Diffstat (limited to 'BoardConfig-common.mk')
-rw-r--r--BoardConfig-common.mk15
1 files changed, 12 insertions, 3 deletions
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index c7ff9a5..20ce92c 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -391,11 +391,20 @@ KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
-BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_kernel_boot.modules.load))
-ifndef BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD
+# Prebuilt kernel modules that are *not* listed in vendor_kernel_boot.modules.load
+BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES = fips140/fips140.ko
+BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA = $(foreach k,$(BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES),$(if $(wildcard $(KERNEL_MODULE_DIR)/$(k)), $(k)))
+KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA))
+
+# Kernel modules that are listed in vendor_kernel_boot.modules.load
+BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_kernel_boot.modules.load))
+ifndef BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE
$(error vendor_kernel_boot.modules.load not found or empty)
endif
-BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD)))
+BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD := $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA)
+BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD += $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE)
+BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA))
+BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE)))
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load))
ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD