From 4a4cd14ef86ef57b85dc0d5c754f6a6923d1cc51 Mon Sep 17 00:00:00 2001 From: SaschaNes Date: Tue, 12 Aug 2025 20:55:37 +0200 Subject: [PATCH] help me, what is this witchcraft --- Makefile | 442 ++++++----- arch/arm64/configs/lego.config | 4 +- arch/arm64/configs/pa3q_defconfig | 1160 +++++++++++++++++++++++++++++ include/linux/olog.pb.h | 88 +++ include/linux/ologk.h | 15 + 5 files changed, 1528 insertions(+), 181 deletions(-) create mode 100644 arch/arm64/configs/pa3q_defconfig create mode 100644 include/linux/olog.pb.h create mode 100644 include/linux/ologk.h diff --git a/Makefile b/Makefile index 31bd845b3dfd..c207aee4021f 100644 --- a/Makefile +++ b/Makefile @@ -5,16 +5,13 @@ SUBLEVEL = 30 EXTRAVERSION = NAME = Hurr durr I'ma ninja sloth + # *DOCUMENTATION* # To see a list of typical targets execute "make help" # More info can be located in ./README # Comments in this file are targeted only to the developer, do not # expect to learn how to build the kernel reading this file. -ifeq ($(filter undefine,$(.FEATURES)),) -$(error GNU Make >= 3.82 is required. Your Make version is $(MAKE_VERSION)) -endif - $(if $(filter __%, $(MAKECMDGOALS)), \ $(error targets prefixed with '__' are only for internal use)) @@ -38,10 +35,6 @@ __all: # descending is started. They are now explicitly listed as the # prepare rule. -this-makefile := $(lastword $(MAKEFILE_LIST)) -export abs_srctree := $(realpath $(dir $(this-makefile))) -export abs_objtree := $(CURDIR) - ifneq ($(sub_make_done),1) # Do not use make's built-in rules and variables @@ -60,21 +53,26 @@ unexport GREP_OPTIONS # Beautify output # --------------------------------------------------------------------------- # -# Most of build commands in Kbuild start with "cmd_". You can optionally define -# "quiet_cmd_*". If defined, the short log is printed. Otherwise, no log from -# that command is printed by default. +# Normally, we echo the whole command before executing it. By making +# that echo $($(quiet)$(cmd)), we now have the possibility to set +# $(quiet) to choose other forms of output instead, e.g. # -# e.g.) -# quiet_cmd_depmod = DEPMOD $(MODLIB) -# cmd_depmod = $(srctree)/scripts/depmod.sh $(DEPMOD) $(KERNELRELEASE) +# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@ +# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $< +# +# If $(quiet) is empty, the whole command will be printed. +# If it is set to "quiet_", only the short version will be printed. +# If it is set to "silent_", nothing will be printed at all, since +# the variable $(silent_cmd_cc_o_c) doesn't exist. # # A simple variant is to prefix commands with $(Q) - that's useful # for commands that shall be hidden in non-verbose mode. # -# $(Q)$(MAKE) $(build)=scripts/basic +# $(Q)ln $@ :< # -# If KBUILD_VERBOSE contains 1, the whole command is echoed. -# If KBUILD_VERBOSE contains 2, the reason for rebuilding is printed. +# If KBUILD_VERBOSE equals 0 then the above command will be hidden. +# If KBUILD_VERBOSE equals 1 then the above command is displayed. +# If KBUILD_VERBOSE equals 2 then give the reason why each target is rebuilt. # # To put more focus on warnings, be less verbose as default # Use 'make V=1' to see the full commands @@ -82,13 +80,16 @@ unexport GREP_OPTIONS ifeq ("$(origin V)", "command line") KBUILD_VERBOSE = $(V) endif +ifndef KBUILD_VERBOSE + KBUILD_VERBOSE = 0 +endif -quiet = quiet_ -Q = @ - -ifneq ($(findstring 1, $(KBUILD_VERBOSE)),) +ifeq ($(KBUILD_VERBOSE),1) quiet = Q = +else + quiet=quiet_ + Q = @ endif # If the user is running make -s (silent mode), suppress echoing of @@ -96,14 +97,14 @@ endif # make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. ifeq ($(filter 3.%,$(MAKE_VERSION)),) -short-opts := $(firstword -$(MAKEFLAGS)) +silence:=$(findstring s,$(firstword -$(MAKEFLAGS))) else -short-opts := $(filter-out --%,$(MAKEFLAGS)) +silence:=$(findstring s,$(filter-out --%,$(MAKEFLAGS))) endif -ifneq ($(findstring s,$(short-opts)),) +ifeq ($(silence),s) quiet=silent_ -override KBUILD_VERBOSE := +KBUILD_VERBOSE = 0 endif export quiet Q KBUILD_VERBOSE @@ -207,12 +208,32 @@ $(if $(abs_objtree),, \ # $(realpath ...) resolves symlinks abs_objtree := $(realpath $(abs_objtree)) +else +abs_objtree := $(CURDIR) endif # ifneq ($(KBUILD_OUTPUT),) +ifeq ($(abs_objtree),$(CURDIR)) +# Suppress "Entering directory ..." unless we are changing the work directory. +MAKEFLAGS += --no-print-directory +else +need-sub-make := 1 +endif + +this-makefile := $(lastword $(MAKEFILE_LIST)) +abs_srctree := $(realpath $(dir $(this-makefile))) + ifneq ($(words $(subst :, ,$(abs_srctree))), 1) $(error source directory cannot contain spaces or colons) endif +ifneq ($(abs_srctree),$(abs_objtree)) +# Look for make include files relative to root of kernel src +# +# --included-dir is added for backward compatibility, but you should not rely on +# it. Please add $(srctree)/ prefix to include Makefiles in the source tree. +MAKEFLAGS += --include-dir=$(abs_srctree) +endif + ifneq ($(filter 3.%,$(MAKE_VERSION)),) # 'MAKEFLAGS += -rR' does not immediately become effective for GNU Make 3.x # We need to invoke sub-make to avoid implicit rules in the top Makefile. @@ -221,25 +242,9 @@ need-sub-make := 1 $(this-makefile): ; endif +export abs_srctree abs_objtree export sub_make_done := 1 -endif # sub_make_done - -ifeq ($(abs_objtree),$(CURDIR)) -# Suppress "Entering directory ..." if we are at the final work directory. -no-print-directory := --no-print-directory -else -# Recursion to show "Entering directory ..." -need-sub-make := 1 -endif - -ifeq ($(filter --no-print-directory, $(MAKEFLAGS)),) -# If --no-print-directory is unset, recurse once again to set it. -# You may end up recursing into __sub-make twice. This is needed due to the -# behavior change in GNU Make 4.4.1. -need-sub-make := 1 -endif - ifeq ($(need-sub-make),1) PHONY += $(MAKECMDGOALS) __sub-make @@ -249,12 +254,18 @@ $(filter-out $(this-makefile), $(MAKECMDGOALS)) __all: __sub-make # Invoke a second make in the output directory, passing relevant variables __sub-make: - $(Q)$(MAKE) $(no-print-directory) -C $(abs_objtree) \ - -f $(abs_srctree)/Makefile $(MAKECMDGOALS) + $(Q)$(MAKE) -C $(abs_objtree) -f $(abs_srctree)/Makefile $(MAKECMDGOALS) -else # need-sub-make +endif # need-sub-make +endif # sub_make_done # We process the rest of the Makefile if this is the final invocation of make +ifeq ($(need-sub-make),) + +# Do not print "Entering directory ...", +# but we want to display it when entering to the output directory +# so that IDEs/editors are able to understand relative filenames. +MAKEFLAGS += --no-print-directory ifeq ($(abs_srctree),$(abs_objtree)) # building in the source tree @@ -298,10 +309,10 @@ no-dot-config-targets := $(clean-targets) \ # Installation targets should not require compiler. Unfortunately, vdso_install # is an exception where build artifacts may be updated. This must be fixed. no-compiler-targets := $(no-dot-config-targets) install dtbs_install \ - headers_install modules_install modules_sign kernelrelease image_name -no-sync-config-targets := $(no-dot-config-targets) %install modules_sign kernelrelease \ + headers_install modules_install kernelrelease image_name +no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \ image_name -single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.rsi %.s %.symtypes %/ +single-targets := %.a %.i %.rsi %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/ config-build := mixed-build := @@ -384,7 +395,7 @@ else # !mixed-build include $(srctree)/scripts/Kbuild.include # Read KERNELRELEASE from include/config/kernel.release (if it exists) -KERNELRELEASE = $(call read-file, include/config/kernel.release) +KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null) KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION) export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION @@ -467,7 +478,8 @@ HOSTRUSTC = rustc HOSTPKG_CONFIG = pkg-config KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \ - -O2 -fomit-frame-pointer -std=gnu11 + -O2 -fomit-frame-pointer -std=gnu11 \ + -Wdeclaration-after-statement KBUILD_USERCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS) KBUILD_USERLDFLAGS := $(USERLDFLAGS) @@ -485,7 +497,6 @@ export rust_common_flags := --edition=2021 \ -Dclippy::let_unit_value -Dclippy::mut_mut \ -Dclippy::needless_bitwise_bool \ -Dclippy::needless_continue \ - -Dclippy::no_mangle_with_rust_abi \ -Wclippy::dbg_macro KBUILD_HOSTCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTCFLAGS) @@ -528,6 +539,7 @@ LEX = flex YACC = bison AWK = awk INSTALLKERNEL := installkernel +DEPMOD = depmod PERL = perl PYTHON3 = python3 CHECK = sparse @@ -573,17 +585,14 @@ LINUXINCLUDE := \ $(USERINCLUDE) KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE - -KBUILD_CFLAGS := -KBUILD_CFLAGS += -std=gnu11 -KBUILD_CFLAGS += -fshort-wchar -KBUILD_CFLAGS += -funsigned-char -KBUILD_CFLAGS += -fno-common -KBUILD_CFLAGS += -fno-PIE -KBUILD_CFLAGS += -fno-strict-aliasing - +KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ + -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ + -Werror=implicit-function-declaration -Werror=implicit-int \ + -Werror=return-type -Wno-format-security \ + -std=gnu11 KBUILD_CPPFLAGS := -D__KERNEL__ KBUILD_RUSTFLAGS := $(rust_common_flags) \ + --target=$(objtree)/rust/target.json \ -Cpanic=abort -Cembed-bitcode=n -Clto=n \ -Cforce-unwind-tables=n -Ccodegen-units=1 \ -Csymbol-mangling-version=v0 \ @@ -834,6 +843,10 @@ endif # may-sync-config endif # need-config KBUILD_CFLAGS += -fno-delete-null-pointer-checks +KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,) +KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation) +KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow) +KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member) ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE KBUILD_CFLAGS += -O2 @@ -864,15 +877,40 @@ ifdef CONFIG_READABLE_ASM KBUILD_CFLAGS += -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining endif +ifneq ($(CONFIG_FRAME_WARN),0) +KBUILD_CFLAGS += -Wframe-larger-than=$(CONFIG_FRAME_WARN) +endif + stackp-flags-y := -fno-stack-protector stackp-flags-$(CONFIG_STACKPROTECTOR) := -fstack-protector stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong KBUILD_CFLAGS += $(stackp-flags-y) +KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror +KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds + KBUILD_RUSTFLAGS-$(CONFIG_WERROR) += -Dwarnings KBUILD_RUSTFLAGS += $(KBUILD_RUSTFLAGS-y) +ifdef CONFIG_CC_IS_CLANG +KBUILD_CPPFLAGS += -Qunused-arguments +# The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable. +KBUILD_CFLAGS += -Wno-gnu +else + +# gcc inanely warns about local variables called 'main' +KBUILD_CFLAGS += -Wno-main +endif + +# These warnings generated too much noise in a regular build. +# Use make W=1 to enable them (see scripts/Makefile.extrawarn) +KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) +KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable) + +# These result in bogus false positives +KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer) + ifdef CONFIG_FRAME_POINTER KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls KBUILD_RUSTFLAGS += -Cforce-frame-pointers=y @@ -899,9 +937,7 @@ ifdef CONFIG_INIT_STACK_ALL_ZERO KBUILD_CFLAGS += -ftrivial-auto-var-init=zero ifdef CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER # https://github.com/llvm/llvm-project/issues/44842 -CC_AUTO_VAR_INIT_ZERO_ENABLER := -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang -export CC_AUTO_VAR_INIT_ZERO_ENABLER -KBUILD_CFLAGS += $(CC_AUTO_VAR_INIT_ZERO_ENABLER) +KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang endif endif @@ -925,9 +961,7 @@ ifdef CONFIG_FTRACE_MCOUNT_USE_CC endif endif ifdef CONFIG_FTRACE_MCOUNT_USE_OBJTOOL - ifdef CONFIG_HAVE_OBJTOOL_NOP_MCOUNT - CC_FLAGS_USING += -DCC_USING_NOP_MCOUNT - endif + CC_FLAGS_USING += -DCC_USING_NOP_MCOUNT endif ifdef CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT ifdef CONFIG_HAVE_C_RECORDMCOUNT @@ -963,7 +997,6 @@ ifdef CONFIG_SHADOW_CALL_STACK ifndef CONFIG_DYNAMIC_SCS CC_FLAGS_SCS := -fsanitize=shadow-call-stack KBUILD_CFLAGS += $(CC_FLAGS_SCS) -KBUILD_RUSTFLAGS += -Zsanitizer=shadow-call-stack endif export CC_FLAGS_SCS endif @@ -989,7 +1022,7 @@ KBUILD_LDFLAGS += -mllvm -import-instr-limit=5 # Check for frame size exceeding threshold during prolog/epilog insertion # when using lld < 13.0.0. ifneq ($(CONFIG_FRAME_WARN),0) -ifeq ($(call test-lt, $(CONFIG_LLD_VERSION), 130000),y) +ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 130000; echo $$?),0) KBUILD_LDFLAGS += -plugin-opt=-warn-stack-size=$(CONFIG_FRAME_WARN) endif endif @@ -1002,35 +1035,59 @@ export CC_FLAGS_LTO endif ifdef CONFIG_CFI_CLANG -CC_FLAGS_CFI := -fsanitize=kcfi -ifdef CONFIG_RUST -# If Rust is enabled, this flag is required to support cross-language -# integer types. -# This addresses the problem that on e.g. i686, int != long, and Rust -# maps both to i32. -# See https://rcvalle.com/docs/rust-cfi-design-doc.pdf for details. -$(error "Enabling Rust and CFI silently changes the KMI.") -CC_FLAGS_CFI += -fsanitize-cfi-icall-experimental-normalize-integers -RS_FLAGS_CFI := -Zsanitizer=kcfi -Zsanitizer-cfi-normalize-integers -KBUILD_RUSTFLAGS += $(RS_FLAGS_CFI) -export RS_FLAGS_CFI -endif -KBUILD_CFLAGS += $(CC_FLAGS_CFI) +CC_FLAGS_CFI := -fsanitize=kcfi +KBUILD_CFLAGS += $(CC_FLAGS_CFI) export CC_FLAGS_CFI endif -ifneq ($(CONFIG_FUNCTION_ALIGNMENT),0) -KBUILD_CFLAGS += -falign-functions=$(CONFIG_FUNCTION_ALIGNMENT) +ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B +KBUILD_CFLAGS += -falign-functions=64 endif # arch Makefile may override CC so keep this after arch Makefile is included NOSTDINC_FLAGS += -nostdinc -# To gain proper coverage for CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE, -# the kernel uses only C99 flexible arrays for dynamically sized trailing -# arrays. Enforce this for everything that may examine structure sizes and -# perform bounds checking. -KBUILD_CFLAGS += $(call cc-option, -fstrict-flex-arrays=3) +# warn about C99 declaration after statement +KBUILD_CFLAGS += -Wdeclaration-after-statement + +# Variable Length Arrays (VLAs) should not be used anywhere in the kernel +KBUILD_CFLAGS += -Wvla + +# disable pointer signed / unsigned warnings in gcc 4.0 +KBUILD_CFLAGS += -Wno-pointer-sign + +# In order to make sure new function cast mismatches are not introduced +# in the kernel (to avoid tripping CFI checking), the kernel should be +# globally built with -Wcast-function-type. +KBUILD_CFLAGS += $(call cc-option, -Wcast-function-type) + +# disable stringop warnings in gcc 8+ +KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation) + +# We'll want to enable this eventually, but it's not going away for 5.7 at least +KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow) + +# Another good warning that we'll want to enable eventually +KBUILD_CFLAGS += $(call cc-disable-warning, restrict) + +# Enabled with W=2, disabled by default as noisy +ifdef CONFIG_CC_IS_GCC +KBUILD_CFLAGS += -Wno-maybe-uninitialized +endif + +# The allocators already balk at large sizes, so silence the compiler +# warnings for bounds checks involving those possible values. While +# -Wno-alloc-size-larger-than would normally be used here, earlier versions +# of gcc (<9.1) weirdly don't handle the option correctly when _other_ +# warnings are produced (?!). Using -Walloc-size-larger-than=SIZE_MAX +# doesn't work (as it is documented to), silently resolving to "0" prior to +# version 9.1 (and producing an error more recently). Numeric values larger +# than PTRDIFF_MAX also don't work prior to version 9.1, which are silently +# ignored, continuing to default to PTRDIFF_MAX. So, left with no other +# choice, we must perform a versioned check to disable this warning. +# https://lore.kernel.org/lkml/20210824115859.187f272f@canb.auug.org.au +KBUILD_CFLAGS-$(call gcc-min-version, 90100) += -Wno-alloc-size-larger-than +KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH) # disable invalid "can't wrap" optimizations for signed / pointers KBUILD_CFLAGS += -fno-strict-overflow @@ -1043,6 +1100,15 @@ ifdef CONFIG_CC_IS_GCC KBUILD_CFLAGS += -fconserve-stack endif +# Prohibit date/time macros, which would make the build non-deterministic +KBUILD_CFLAGS += -Werror=date-time + +# enforce correct pointer usage +KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) + +# Require designated initializers for all marked structures +KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init) + # change __FILE__ to the relative path from the srctree KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=) @@ -1082,14 +1148,13 @@ LDFLAGS_vmlinux += -X endif ifeq ($(CONFIG_RELR),y) -# ld.lld before 15 did not support -z pack-relative-relocs. -LDFLAGS_vmlinux += $(call ld-option,--pack-dyn-relocs=relr,-z pack-relative-relocs) +LDFLAGS_vmlinux += --pack-dyn-relocs=relr --use-android-relr-tags endif # We never want expected sections to be placed heuristically by the # linker. All sections should be explicitly named in the linker script. ifdef CONFIG_LD_ORPHAN_WARN -LDFLAGS_vmlinux += --orphan-handling=$(CONFIG_LD_ORPHAN_WARN_LEVEL) +LDFLAGS_vmlinux += --orphan-handling=warn endif # Align the bit size of userspace programs with the kernel @@ -1144,6 +1209,10 @@ export MODULES_NSDEPS := $(extmod_prefix)modules.nsdeps PHONY += headers +ext-mod-dir := ../sm8650-modules +ext-mod-dirs := $(ext-mod-dir)/qcom/opensource/audio-kernel $(ext-mod-dir)/qcom/opensource/dataipa/drivers/platform/msm $(ext-mod-dir)/qcom/opensource/display-drivers $(ext-mod-dir)/qcom/opensource/video-kernel $(ext-mod-dir)/nxp/opensource/driver +ext-mod-dirs := $(subst $(srctree)/,,$(ext-mod-dirs)) + #Default location for installed headers ifeq ($(KBUILD_EXTMOD),) PHONY += archheaders archscripts @@ -1172,6 +1241,9 @@ ifeq ($(KBUILD_EXTMOD),) endif $(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)include/uapi $(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)arch/$(SRCARCH)/include/uapi + $(Q)for d in $(ext-mod-dirs); do \ + $(MAKE) $(hdr-inst)=$$d/include/uapi; \ + done # --------------------------------------------------------------------------- # Devicetree files @@ -1251,12 +1323,28 @@ endif export KBUILD_VMLINUX_LIBS export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds +# Recurse until adjust_autoksyms.sh is satisfied +PHONY += autoksyms_recursive ifdef CONFIG_TRIM_UNUSED_KSYMS # For the kernel to actually contain only the needed exported symbols, # we have to build modules as well to determine what those symbols are. +# (this can be evaluated only once include/config/auto.conf has been included) KBUILD_MODULES := 1 + +autoksyms_recursive: $(build-dir) modules.order + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \ + "$(MAKE) -f $(srctree)/Makefile autoksyms_recursive" endif +autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h) + +quiet_cmd_autoksyms_h = GEN $@ + cmd_autoksyms_h = mkdir -p $(dir $@); \ + $(CONFIG_SHELL) $(srctree)/scripts/gen_autoksyms.sh $@ + +$(autoksyms_h): + $(call cmd,autoksyms_h) + # '$(AR) mPi' needs 'T' to workaround the bug of llvm-ar <= 14 quiet_cmd_ar_vmlinux.a = AR $@ cmd_ar_vmlinux.a = \ @@ -1265,7 +1353,7 @@ quiet_cmd_ar_vmlinux.a = AR $@ $(AR) mPiT $$($(AR) t $@ | sed -n 1p) $@ $$($(AR) t $@ | grep -F -f $(srctree)/scripts/head-object-list.txt) targets += vmlinux.a -vmlinux.a: $(KBUILD_VMLINUX_OBJS) scripts/head-object-list.txt FORCE +vmlinux.a: $(KBUILD_VMLINUX_OBJS) scripts/head-object-list.txt autoksyms_recursive FORCE $(call if_changed,ar_vmlinux.a) ifndef KBUILD_MIXED_TREE @@ -1297,13 +1385,9 @@ endif # make sure no implicit rule kicks in $(sort $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)): . ; --include $(srctree)/scripts/sec_env.mk - -ifeq ($(origin KERNELRELEASE),file) -filechk_kernel.release = $(srctree)/scripts/setlocalversion $(srctree) -else -filechk_kernel.release = echo $(KERNELRELEASE) -endif +filechk_kernel.release = \ + echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \ + $(srctree) $(BRANCH) $(KMI_GENERATION))" # Store (new) KERNELRELEASE string in include/config/kernel.release include/config/kernel.release: FORCE @@ -1325,7 +1409,7 @@ scripts: scripts_basic scripts_dtc PHONY += prepare archprepare archprepare: outputmakefile archheaders archscripts scripts include/config/kernel.release \ - asm-generic $(version_h) include/generated/utsrelease.h \ + asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h \ include/generated/compile.h include/generated/autoconf.h remove-stale-files prepare0: archprepare @@ -1504,10 +1588,7 @@ dtbs_prepare: include/config/kernel.release scripts_dtc ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),) export CHECK_DTBS=y -endif - -ifneq ($(CHECK_DTBS),) -dtbs_prepare: dt_binding_check +dtbs: dt_binding_check endif dtbs_check: dtbs @@ -1556,7 +1637,7 @@ endif # Build modules # -# *.ko are usually independent of vmlinux, but CONFIG_DEBUG_INFO_BTF_MODULES +# *.ko are usually independent of vmlinux, but CONFIG_DEBUG_INFOBTF_MODULES # is an exception. ifdef CONFIG_DEBUG_INFO_BTF_MODULES KBUILD_BUILTIN := 1 @@ -1569,6 +1650,40 @@ modules: modules_prepare modules_prepare: prepare $(Q)$(MAKE) $(build)=scripts scripts/module.lds +export modules_sign_only := + +ifeq ($(CONFIG_MODULE_SIG),y) +PHONY += modules_sign +modules_sign: modules_install + @: + +# modules_sign is a subset of modules_install. +# 'make modules_install modules_sign' is equivalent to 'make modules_install'. +ifeq ($(filter modules_install,$(MAKECMDGOALS)),) +modules_sign_only := y +endif +endif + +modinst_pre := +ifneq ($(filter modules_install,$(MAKECMDGOALS)),) +modinst_pre := __modinst_pre +endif + +modules_install: $(modinst_pre) +PHONY += __modinst_pre +__modinst_pre: + @rm -rf $(MODLIB)/kernel + @rm -f $(MODLIB)/source + @mkdir -p $(MODLIB)/kernel + @ln -s $(abspath $(srctree)) $(MODLIB)/source + @if [ ! $(objtree) -ef $(MODLIB)/build ]; then \ + rm -f $(MODLIB)/build ; \ + ln -s $(CURDIR) $(MODLIB)/build ; \ + fi + @sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order + @cp -f $(mixed-build-prefix)modules.builtin $(MODLIB)/ + @cp -f $(or $(mixed-build-prefix),$(objtree)/)modules.builtin.modinfo $(MODLIB)/ + endif # CONFIG_MODULES ### @@ -1579,10 +1694,10 @@ endif # CONFIG_MODULES # make distclean Remove editor backup files, patch leftover files and the like # Directories & files removed with 'make clean' -CLEAN_FILES += vmlinux.symvers modules-only.symvers \ +CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \ modules.builtin modules.builtin.modinfo modules.nsdeps \ - compile_commands.json .thinlto-cache rust/test \ - rust-project.json .vmlinux.objs .vmlinux.export.c + compile_commands.json .thinlto-cache rust/test rust/doc \ + .vmlinux.objs .vmlinux.export.c # Directories & files removed with 'make mrproper' MRPROPER_FILES += include/config include/generated \ @@ -1593,8 +1708,8 @@ MRPROPER_FILES += include/config include/generated \ certs/signing_key.pem \ certs/x509.genkey \ vmlinux-gdb.py \ - kernel.spec rpmbuild \ - rust/libmacros.so + *.spec \ + rust/target.json rust/libmacros.so # clean - Delete most, but leave enough to build external modules # @@ -1606,9 +1721,6 @@ vmlinuxclean: $(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean $(Q)$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) clean) -legoclean: - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/lego/kclean.sh $(srctree)/.legofile - clean: archclean vmlinuxclean resolve_btfids_clean # mrproper - Delete all generated files, including .config @@ -1663,6 +1775,7 @@ help: @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' + @echo 'Configuration targets:' @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help @echo '' @echo 'Other generic targets:' @@ -1761,9 +1874,8 @@ help: printf " %-16s - Show all of the above\\n" help-boards; \ echo '') - @echo ' make V=n [targets] 1: verbose build' - @echo ' 2: give reason for rebuild of target' - @echo ' V=1 and V=2 can be combined with V=12' + @echo ' make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build' + @echo ' make V=2 [targets] 2 => give reason for rebuild of target' @echo ' make O=dir [targets] Locate all output files in "dir", including .config' @echo ' make C=1 [targets] Check re-compiled c source with $$CHECK' @echo ' (sparse by default)' @@ -1775,10 +1887,6 @@ help: @echo ' 3: more obscure warnings, can most likely be ignored' @echo ' e: warnings are being treated as errors' @echo ' Multiple levels can be combined with W=12 or W=123' - @$(if $(dtstree), \ - echo ' make CHECK_DTBS=1 [targets] Check all generated dtb files against schema'; \ - echo ' This can be applied both to "dtbs" and to individual "foo.dtb" targets' ; \ - ) @echo '' @echo 'Execute "make" or "make all" to build all targets marked with [*] ' @echo 'For further info see the ./README file' @@ -1801,7 +1909,7 @@ $(help-board-dirs): help-%: # Documentation targets # --------------------------------------------------------------------------- DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \ - linkcheckdocs dochelp refcheckdocs texinfodocs infodocs + linkcheckdocs dochelp refcheckdocs PHONY += $(DOC_TARGETS) $(DOC_TARGETS): $(Q)$(MAKE) $(build)=Documentation $@ @@ -1847,15 +1955,14 @@ rustfmt: rustfmtcheck: rustfmt_flags = --check rustfmtcheck: rustfmt +# IDE support targets +PHONY += rust-analyzer +rust-analyzer: + $(Q)$(MAKE) $(build)=rust $@ + # Misc # --------------------------------------------------------------------------- -PHONY += misc-check -misc-check: - $(Q)$(srctree)/scripts/misc-check - -all: misc-check - PHONY += scripts_gdb scripts_gdb: prepare0 $(Q)$(MAKE) $(build)=scripts/gdb @@ -1867,8 +1974,6 @@ endif else # KBUILD_EXTMOD -filechk_kernel.release = echo $(KERNELRELEASE) - ### # External module support. # When building external modules the kernel used as basis is considered @@ -1909,42 +2014,14 @@ help: @echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH' @echo ' (default: $(abspath $(INSTALL_HDR_PATH)))' @echo ' clean - remove generated files in module directory only' - @echo ' rust-analyzer - generate rust-project.json rust-analyzer support file' @echo '' -ifndef CONFIG_MODULES -modules modules_install: __external_modules_error -__external_modules_error: - @echo >&2 '***' - @echo >&2 '*** The present kernel disabled CONFIG_MODULES.' - @echo >&2 '*** You cannot build or install external modules.' - @echo >&2 '***' - @false -endif - endif # KBUILD_EXTMOD # --------------------------------------------------------------------------- # Modules -PHONY += modules modules_install modules_sign modules_prepare - -modules_install: - $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst \ - sign-only=$(if $(filter modules_install,$(MAKECMDGOALS)),,y) - -ifeq ($(CONFIG_MODULE_SIG),y) -# modules_sign is a subset of modules_install. -# 'make modules_install modules_sign' is equivalent to 'make modules_install'. -modules_sign: modules_install - @: -else -modules_sign: - @echo >&2 '***' - @echo >&2 '*** CONFIG_MODULE_SIG is disabled. You cannot sign modules.' - @echo >&2 '***' - @false -endif +PHONY += modules modules_install modules_prepare ifdef CONFIG_MODULES @@ -1962,10 +2039,28 @@ PHONY += modules_check modules_check: $(MODORDER) $(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $< +quiet_cmd_depmod = DEPMOD $(MODLIB) + cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \ + $(KERNELRELEASE) $(mixed-build-prefix) + +modules_install: + $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst +ifndef modules_sign_only + $(call cmd,depmod) +endif + else # CONFIG_MODULES -modules: - @: +# Modules not configured +# --------------------------------------------------------------------------- + +modules modules_install: + @echo >&2 '***' + @echo >&2 '*** The present kernel configuration has modules disabled.' + @echo >&2 '*** To use the module feature, please run "make menuconfig" etc.' + @echo >&2 '*** to enable CONFIG_MODULES.' + @echo >&2 '***' + @exit 1 KBUILD_MODULES := @@ -2003,7 +2098,7 @@ $(single-no-ko): $(build-dir) # Remove MODORDER when done because it is not the real one. PHONY += single_modules single_modules: $(single-no-ko) modules_prepare - $(Q){ $(foreach m, $(single-ko), echo $(extmod_prefix)$(m:%.ko=%.o);) } > $(MODORDER) + $(Q){ $(foreach m, $(single-ko), echo $(extmod_prefix)$m;) } > $(MODORDER) $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost ifneq ($(KBUILD_MODPOST_NOFINAL),1) $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal @@ -2036,21 +2131,18 @@ clean: $(clean-dirs) $(RCS_FIND_IGNORE) \ \( -name '*.[aios]' -o -name '*.rsi' -o -name '*.ko' -o -name '.*.cmd' \ -o -name '*.ko.*' \ - -o -name '*.dtb' -o -name '*.dtbo' \ - -o -name '*.dtb.S' -o -name '*.dtbo.S' \ - -o -name '*.dt.yaml' \ + -o -name '*.dtb' -o -name '*.dtbo' -o -name '*.dtb.S' -o -name '*.dt.yaml' \ -o -name '*.dwo' -o -name '*.lst' \ - -o -name '*.su' -o -name '*.mod' \ + -o -name '*.su' -o -name '*.mod' -o -name '*.usyms' \ -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ -o -name '*.lex.c' -o -name '*.tab.[ch]' \ -o -name '*.asn1.[ch]' \ -o -name '*.symtypes' -o -name 'modules.order' \ + -o -name '.tmp_*' \ -o -name '*.c.[012]*.*' \ -o -name '*.ll' \ -o -name '*.gcno' \ - -o -name '*.*.symversions' \) -type f -print \ - -o -name '.tmp_*' -print \ - | xargs rm -rf + -o -name '*.*.symversions' \) -type f -print | xargs rm -f # Generate tags for editors # --------------------------------------------------------------------------- @@ -2060,11 +2152,6 @@ quiet_cmd_tags = GEN $@ tags TAGS cscope gtags: FORCE $(call cmd,tags) -# IDE support targets -PHONY += rust-analyzer -rust-analyzer: - $(Q)$(MAKE) $(build)=rust $@ - # Script to generate missing namespace dependencies # --------------------------------------------------------------------------- @@ -2137,7 +2224,8 @@ checkstack: $(PERL) $(srctree)/scripts/checkstack.pl $(CHECKSTACK_ARCH) kernelrelease: - @$(filechk_kernel.release) + @echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \ + $(srctree) $(BRANCH) $(KMI_GENERATION))" kernelversion: @echo $(KERNELVERSION) @@ -2145,10 +2233,6 @@ kernelversion: image_name: @echo $(KBUILD_IMAGE) -PHONY += run-command -run-command: - $(Q)$(KBUILD_RUN_COMMAND) - quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files))) cmd_rmfiles = rm -rf $(rm-files) diff --git a/arch/arm64/configs/lego.config b/arch/arm64/configs/lego.config index 36f003ba7eac..8114f1ad2f49 100644 --- a/arch/arm64/configs/lego.config +++ b/arch/arm64/configs/lego.config @@ -63,8 +63,8 @@ CONFIG_USB_INTERFACE_LPM_LIST=y CONFIG_USB_NOTIFY_PROC_LOG=y CONFIG_USB_USING_ADVANCED_USBLOG=y CONFIG_CIRRUS_FIRMWARE_CL_DSP=m -CONFIG_KPERFMON=y -CONFIG_KPERFMON_BUILD=m +# CONFIG_KPERFMON is not set +# CONFIG_KPERFMON_BUILD is not set CONFIG_ANDROID_SWITCH=m # CONFIG_ANDROID_SWITCH_GPIO is not set CONFIG_HDM=m diff --git a/arch/arm64/configs/pa3q_defconfig b/arch/arm64/configs/pa3q_defconfig new file mode 100644 index 000000000000..d28cc1a1905a --- /dev/null +++ b/arch/arm64/configs/pa3q_defconfig @@ -0,0 +1,1160 @@ +CONFIG_SEC_ARM64_FSIMD_DEBUG=n +CONFIG_BUILD_ARM64_DT_OVERLAY=y +# Knox/Guard/KPerfmon aus +# CONFIG_NGKSM is not set +# CONFIG_NGKPAD is not set +# CONFIG_KPERFMON is not set +# CONFIG_KPERFMON_BUILD is not set +# CONFIG_NETFILTER_XTABLES is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +# CONFIG_NETFILTER_XT_TARGET_MARK is not set +# CONFIG_NETFILTER_XT_TARGET_CONNSECMARK is not set +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +# CONFIG_NETFILTER_XT_MATCH_CONNSECMARK is not set +# Optional, falls iptables noch an ist: +# CONFIG_IP_NF_IPTABLES is not set +# CONFIG_IP6_NF_IPTABLES is not set +# CONFIG_KPERFMON is not set +# CONFIG_KPERFMON_BUILD is not set +CONFIG_AUDIT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_PREEMPT=y +CONFIG_IRQ_TIME_ACCOUNTING=y +CONFIG_TASKSTATS=y +CONFIG_MSM_SYSSTATS=m +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_PSI=y +CONFIG_RCU_EXPERT=y +CONFIG_RCU_FAST_NO_HZ=y +CONFIG_RCU_BOOST=y +CONFIG_RCU_NOCB_CPU=y +CONFIG_RCU_LAZY=y +CONFIG_RCU_LAZY_DEFAULT_OFF=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_IKHEADERS=y +CONFIG_LOG_BUF_SHIFT=20 +CONFIG_UCLAMP_TASK=y +CONFIG_UCLAMP_BUCKETS_COUNT=20 +CONFIG_CGROUPS=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_SCHED=y +CONFIG_UCLAMP_TASK_GROUP=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_BPF=y +CONFIG_NAMESPACES=y +# CONFIG_PID_NS is not set +CONFIG_RT_SOFTINT_OPTIMIZATION=y +CONFIG_RELAY=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +CONFIG_BOOT_CONFIG=y +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_FHANDLE is not set +CONFIG_KALLSYMS_ALL=y +CONFIG_USERFAULTFD=y +# CONFIG_RSEQ is not set +CONFIG_EMBEDDED=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB_MERGE_DEFAULT is not set +CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_FREELIST_HARDENED=y +CONFIG_SHUFFLE_PAGE_ALLOCATOR=y +CONFIG_PROFILING=y +CONFIG_ARCH_SUNXI=y +CONFIG_ARCH_HISI=y +CONFIG_ARCH_QCOM=y +CONFIG_ARCH_KALAMA=y +CONFIG_SCHED_MC=y +CONFIG_NR_CPUS=32 +CONFIG_PARAVIRT_TIME_ACCOUNTING=y +CONFIG_ARM64_SW_TTBR0_PAN=y +CONFIG_COMPAT=y +CONFIG_ARMV8_DEPRECATED=y +CONFIG_SWP_EMULATION=y +CONFIG_CP15_BARRIER_EMULATION=y +CONFIG_SETEND_EMULATION=y +CONFIG_ARM64_MPAM=y +CONFIG_RANDOMIZE_BASE=y +# CONFIG_RANDOMIZE_MODULE_REGION_FULL is not set +CONFIG_CMDLINE="stack_depot_disable=on kasan.stacktrace=off kvm-arm.mode=protected cgroup_disable=pressure" +CONFIG_CMDLINE_EXTEND=y +# CONFIG_DMI is not set +CONFIG_HIBERNATION=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=0 +# CONFIG_PM_WAKELOCKS_GC is not set +CONFIG_ENERGY_MODEL=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_IDLE_GOV_TEO=y +CONFIG_CPU_IDLE_GOV_QCOM_LPM=m +CONFIG_ARM_CPUIDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_TIMES=y +CONFIG_CPU_FREQ_LIMIT=m +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_ARM_SCPI_CPUFREQ=y +CONFIG_ARM_QCOM_CPUFREQ_HW=m +CONFIG_ARM_SCMI_CPUFREQ=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=y +CONFIG_KVM_S2MPU=y +CONFIG_GH_ARM64_DRV=m +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_SHA512_ARM64_CE=y +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE_BLK=y +CONFIG_KPROBES=y +CONFIG_JUMP_LABEL=y +CONFIG_SHADOW_CALL_STACK=y +CONFIG_LTO_CLANG_FULL=y +CONFIG_CFI_CLANG=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_SCMVERSION=y +CONFIG_MODULE_SIG=y +CONFIG_MODULE_SIG_PROTECT=y +# CONFIG_MODULE_SIG_ALL is not set +CONFIG_BLK_CGROUP_IOCOST=y +CONFIG_BLK_CGROUP_IOPRIO=y +CONFIG_BLK_INLINE_ENCRYPTION=y +CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y +CONFIG_BLK_SEC_STATS=m +CONFIG_BLK_SEC_WB=m +CONFIG_IOSCHED_BFQ=y +CONFIG_BFQ_GROUP_IOSCHED=y +CONFIG_MQ_IOSCHED_SSG=m +CONFIG_MQ_IOSCHED_SSG_CGROUP=m +CONFIG_MQ_IOSCHED_SSG_WB=m +CONFIG_GKI_HACKS_TO_FIX=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_MISC=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_CLEANCACHE=y +CONFIG_CMA=y +CONFIG_CMA_AREAS=32 +CONFIG_ZSMALLOC=m +# CONFIG_ZONE_DMA is not set +CONFIG_ANON_VMA_NAME=y +CONFIG_LRU_GEN=y +CONFIG_DAMON=y +CONFIG_DAMON_PADDR=y +CONFIG_DAMON_RECLAIM=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM_USER=y +CONFIG_XFRM_INTERFACE=y +CONFIG_XFRM_MIGRATE=y +CONFIG_XFRM_STATISTICS=y +CONFIG_NET_KEY=y +CONFIG_XDP_SOCKETS=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_NET_IPIP=y +CONFIG_NET_IPGRE_DEMUX=y +CONFIG_NET_IPGRE=y +CONFIG_SYN_COOKIES=y +CONFIG_NET_IPVTI=y +CONFIG_INET_ESP=y +CONFIG_INET_UDP_DIAG=y +CONFIG_INET_DIAG_DESTROY=y +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=y +# CONFIG_TCP_CONG_WESTWOOD is not set +# CONFIG_TCP_CONG_HTCP is not set +CONFIG_DEFAULT_BIC=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +CONFIG_INET6_IPCOMP=y +CONFIG_IPV6_MIP6=y +CONFIG_IPV6_VTI=y +CONFIG_IPV6_GRE=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y +CONFIG_NETFILTER_XT_TARGET_DSCP=y +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +CONFIG_NETFILTER_XT_TARGET_NOTRACK=y +CONFIG_NETFILTER_XT_TARGET_TEE=y +CONFIG_NETFILTER_XT_TARGET_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_TRACE=y +CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_BPF=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_DSCP=y +CONFIG_NETFILTER_XT_MATCH_ESP=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +CONFIG_NETFILTER_XT_MATCH_OWNER=y +CONFIG_NETFILTER_XT_MATCH_POLICY=y +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +CONFIG_IP_NF_MATCH_RPFILTER=y +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_IP_NF_MANGLE=y +CONFIG_IP_NF_RAW=y +CONFIG_IP_NF_SECURITY=y +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_RPFILTER=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +CONFIG_TIPC=y +CONFIG_L2TP=y +CONFIG_BRIDGE=y +CONFIG_VLAN_8021Q=y +CONFIG_6LOWPAN=y +CONFIG_IEEE802154=y +CONFIG_IEEE802154_6LOWPAN=y +CONFIG_MAC802154=y +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=y +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TBF=y +CONFIG_NET_SCH_NETEM=y +CONFIG_NET_SCH_CODEL=y +CONFIG_NET_SCH_FQ_CODEL=y +CONFIG_NET_SCH_FQ=y +CONFIG_NET_SCH_INGRESS=y +CONFIG_NET_CLS_BASIC=y +CONFIG_NET_CLS_FW=y +CONFIG_NET_CLS_U32=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_FLOW=y +CONFIG_NET_CLS_BPF=y +CONFIG_NET_CLS_MATCHALL=y +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_CMP=y +CONFIG_NET_EMATCH_NBYTE=y +CONFIG_NET_EMATCH_U32=y +CONFIG_NET_EMATCH_META=y +CONFIG_NET_EMATCH_TEXT=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=y +CONFIG_NET_ACT_GACT=y +CONFIG_NET_ACT_MIRRED=y +CONFIG_NET_ACT_SKBEDIT=y +CONFIG_NET_ACT_BPF=y +CONFIG_VSOCKETS=y +CONFIG_QRTR=m +CONFIG_QRTR_SMD=m +CONFIG_QRTR_MHI=m +CONFIG_QRTR_GUNYAH=m +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CAN=y +CONFIG_CAN_MCP25XXFD=m +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_HIDP=y +CONFIG_BT_HCIBTSDIO=y +CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIUART_QCA=y +CONFIG_CFG80211=m +CONFIG_NL80211_TESTMODE=y +# CONFIG_CFG80211_DEFAULT_PS is not set +# CONFIG_CFG80211_CRDA_SUPPORT is not set +CONFIG_MAC80211=m +# CONFIG_MAC80211_RC_MINSTREL is not set +CONFIG_RFKILL=y +CONFIG_NET_9P=y +CONFIG_NFC=y +CONFIG_SAMSUNG_NFC=m +CONFIG_NFC_SN2XX=y +CONFIG_NFC_SN2XX_ESE_SUPPORT=y +CONFIG_MAKE_NODE_USING_PLATFORM_DEVICE=y +CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +CONFIG_PCI_IOV=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_PCI_MSM=m +CONFIG_PCIE_DW_PLAT_EP=y +CONFIG_PCIE_QCOM=y +CONFIG_PCIE_KIRIN=y +CONFIG_PCI_ENDPOINT=y +CONFIG_SEC_PCIE=y +CONFIG_SEC_PCIE_AER=y +CONFIG_SEC_PCIE_L1SS=y +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_FW_CACHE is not set +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUNXI_RSB is not set +CONFIG_MHI_BUS=m +CONFIG_MHI_BUS_MISC=y +CONFIG_MHI_NETDEV=m +CONFIG_MHI_UCI=m +CONFIG_MHI_DTR=m +CONFIG_MHI_SATELLITE=m +CONFIG_MHI_QCOM=m +CONFIG_ARM_SCMI_PROTOCOL=y +CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y +CONFIG_QTI_SCMI_PMU_PROTOCOL=m +CONFIG_QTI_SCMI_C1DCVS_PROTOCOL=m +CONFIG_QTI_SCMI_MEMLAT_PROTOCOL=m +CONFIG_QTI_SCMI_CPUFREQ_STATS_PROTOCOL=m +# CONFIG_ARM_SCMI_POWER_DOMAIN is not set +CONFIG_ARM_SCPI_PROTOCOL=y +# CONFIG_ARM_SCPI_POWER_DOMAIN is not set +# CONFIG_EFI_ARMSTUB_DTB_LOADER is not set +CONFIG_GNSS=y +CONFIG_ZRAM=m +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=16 +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_BLK_DEV_NVME=m +CONFIG_SRAM=y +CONFIG_UID_SYS_STATS=y +CONFIG_QSEECOM_PROXY=m +CONFIG_HDMI_INPUT_MUX=m +CONFIG_SCSI=y +# CONFIG_SCSI_PROC_FS is not set +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_SG=m +CONFIG_SCSI_UFSHCD=y +CONFIG_SCSI_UFSHCD_PCI=y +CONFIG_SCSI_UFSHCD_PLATFORM=y +CONFIG_SCSI_UFS_DWC_TC_PLATFORM=y +CONFIG_SCSI_UFS_QCOM=m +CONFIG_SCSI_UFS_HISI=y +CONFIG_SCSI_UFS_BSG=y +CONFIG_SCSI_UFS_CRYPTO=y +CONFIG_SCSI_UFS_CRYPTO_QTI=m +CONFIG_SCSI_UFS_HPB=y +CONFIG_SEC_UFS_FEATURE=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_CRYPT=y +CONFIG_DM_DEFAULT_KEY=y +CONFIG_DM_SNAPSHOT=y +CONFIG_DM_INIT=y +CONFIG_DM_UEVENT=y +CONFIG_DM_VERITY=y +CONFIG_DM_VERITY_FEC=y +CONFIG_DM_BOW=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_WIREGUARD=y +CONFIG_IFB=y +CONFIG_IPVLAN=y +CONFIG_MACSEC=y +CONFIG_TUN=y +CONFIG_VETH=y +CONFIG_AT803X_PHY=m +CONFIG_REALTEK_PHY=m +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_MPPE=y +CONFIG_PPTP=y +CONFIG_PPPOL2TP=y +CONFIG_USB_RTL8150=y +CONFIG_USB_RTL8152=y +CONFIG_USB_USBNET=y +CONFIG_USB_NET_CDC_EEM=y +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +# CONFIG_USB_NET_NET1080 is not set +# CONFIG_USB_NET_CDC_SUBSET is not set +# CONFIG_USB_NET_ZAURUS is not set +CONFIG_USB_NET_AQC111=y +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +CONFIG_INPUT_EVDEV=y +CONFIG_KEYBOARD_GPIO=y +# CONFIG_MOUSE_PS2 is not set +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_XPAD=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_PM8941_PWRKEY=m +CONFIG_INPUT_QCOM_HV_HAPTICS=m +CONFIG_INPUT_UINPUT=y +# CONFIG_VT is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_SERIAL_8250_EXAR is not set +CONFIG_SERIAL_8250_NR_UARTS=32 +CONFIG_SERIAL_8250_RUNTIME_UARTS=0 +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_QCOM_GENI=y +# CONFIG_SERIAL_QCOM_GENI_CONSOLE_DEFAULT_ENABLED is not set +CONFIG_SERIAL_QCOM_GENI_CONSOLE=y +CONFIG_SERIAL_MSM_GENI=m +CONFIG_SERIAL_SPRD=y +CONFIG_SERIAL_SPRD_CONSOLE=y +CONFIG_HVC_DCC=y +CONFIG_HVC_GUNYAH=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_HW_RANDOM=y +# CONFIG_DEVMEM is not set +# CONFIG_DEVPORT is not set +CONFIG_MSM_ADSPRPC=m +CONFIG_MSM_RDBG=m +# CONFIG_I2C_COMPAT is not set +# CONFIG_I2C_HELPER_AUTO is not set +CONFIG_I2C_GPIO=m +CONFIG_I2C_MSM_GENI=m +CONFIG_I3C=y +CONFIG_I3C_MASTER_MSM_GENI=m +CONFIG_SPI=y +CONFIG_SPI_MEM=y +CONFIG_SPI_MSM_GENI=m +CONFIG_SPMI=y +CONFIG_SPMI_MSM_PMIC_ARB=m +CONFIG_PINCTRL_KALAMA=m +CONFIG_PINCTRL_QCOM_SPMI_PMIC=m +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_POWER_RESET_HISI=y +CONFIG_POWER_RESET_QCOM_DOWNLOAD_MODE=m +CONFIG_POWER_RESET_QCOM_DOWNLOAD_MODE_DEFAULT=y +CONFIG_POWER_RESET_QCOM_PON=m +CONFIG_POWER_RESET_QCOM_REBOOT_REASON=m +CONFIG_POWER_RESET_SYSCON=y +CONFIG_QTI_BATTERY_CHARGER=m +CONFIG_HWMON=m +CONFIG_SENSORS_QTI_AMOLED_ECM=m +CONFIG_THERMAL=y +CONFIG_THERMAL_NETLINK=y +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=100 +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +CONFIG_CPU_THERMAL=y +CONFIG_CPU_IDLE_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_THERMAL_EMULATION=y +CONFIG_QCOM_TSENS=m +CONFIG_QCOM_SPMI_TEMP_ALARM=m +CONFIG_QTI_CPU_PAUSE_COOLING_DEVICE=m +CONFIG_QTI_BCL_PMIC5=m +CONFIG_QTI_BCL_SOC_DRIVER=m +CONFIG_QTI_CPU_HOTPLUG_COOLING_DEVICE=m +CONFIG_QTI_CPU_VOLTAGE_COOLING_DEVICE=m +CONFIG_QTI_DDR_COOLING_DEVICE=m +CONFIG_MAX31760_FAN_CONTROLLER=m +CONFIG_QTI_THERMAL_LIMITS_DCVS=m +CONFIG_QTI_POLICY_ENGINE_SENSOR=m +CONFIG_QTI_QMI_COOLING_DEVICE=m +CONFIG_QTI_QMI_SENSOR_V2=m +CONFIG_QTI_CPUFREQ_CDEV=m +CONFIG_QTI_DEVFREQ_CDEV=m +CONFIG_QTI_USERSPACE_CDEV=m +CONFIG_QTI_SDPM_CLOCK_MONITOR=m +CONFIG_QTI_THERMAL_MINIDUMP=m +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_MFD_ACT8945A=y +CONFIG_MFD_SPMI_PMIC=m +CONFIG_SEC_AP_PMIC=m +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_QTI_FIXED_VOLTAGE=m +CONFIG_REGULATOR_PROXY_CONSUMER=m +CONFIG_REGULATOR_RPMH=m +CONFIG_REGULATOR_STUB=m +CONFIG_REGULATOR_QTI_OCP_NOTIFIER=m +CONFIG_RC_CORE=y +# CONFIG_RC_MAP is not set +CONFIG_LIRC=y +CONFIG_BPF_LIRC_MODE2=y +CONFIG_RC_DECODERS=y +CONFIG_RC_DEVICES=y +CONFIG_MEDIA_CEC_RC=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_TEST_SUPPORT is not set +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_GSPCA=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_MSM_GLOBAL_SYNX=m +# CONFIG_VGA_ARB is not set +CONFIG_DRM=y +CONFIG_DRM_LT9611UXC=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_HRTIMER=y +# CONFIG_SND_SUPPORT_OLD_API is not set +# CONFIG_SND_VERBOSE_PROCFS is not set +# CONFIG_SND_DRIVERS is not set +CONFIG_SND_USB_AUDIO=y +CONFIG_SND_USB_AUDIO_QMI=m +CONFIG_SND_SOC=y +CONFIG_SND_SOC_SAMSUNG_AUDIO=m +CONFIG_SND_SOC_CIRRUS_AMP=m +CONFIG_SND_SOC_CS35L43_I2C=m +CONFIG_SND_SOC_CS35L45_I2C=m +CONFIG_SND_SOC_CIRRUS_REINIT_SYSFS=y +CONFIG_SND_SOC_TAS5805M=m +CONFIG_SND_SOC_CS40L26=m +CONFIG_HID_BATTERY_STRENGTH=y +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_APPLE=y +CONFIG_HID_PRODIKEYS=y +CONFIG_HID_ELECOM=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_LOGITECH=y +CONFIG_HID_LOGITECH_DJ=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NINTENDO=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PLANTRONICS=y +CONFIG_HID_PLAYSTATION=y +CONFIG_PLAYSTATION_FF=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SONY=y +CONFIG_SONY_FF=y +CONFIG_HID_STEAM=y +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=y +CONFIG_USB_HIDDEV=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_OTG=y +CONFIG_USB_MON=m +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI_RENESAS=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_ACM=y +CONFIG_USB_STORAGE=y +CONFIG_USB_UAS=y +CONFIG_USB_DWC3=y +CONFIG_USB_DWC3_MSM=m +CONFIG_USB_HOST_NOTIFY=y +CONFIG_USB_NOTIFY_LAYER=m +CONFIG_USB_NOTIFIER=m +CONFIG_USB_EXTERNAL_NOTIFY=y +CONFIG_USB_HOST_SAMSUNG_FEATURE=y +CONFIG_USB_HW_PARAM=y +CONFIG_USB_INTERFACE_LPM_LIST=y +CONFIG_USB_AUDIO_POWER_SAVING=y +CONFIG_DISABLE_LOCKSCREEN_USB_RESTRICTION=y +CONFIG_USB_EHSET_TEST_FIXTURE=m +CONFIG_USB_LINK_LAYER_TEST=m +CONFIG_NOP_USB_XCEIV=m +CONFIG_USB_QCOM_EMU_PHY=m +CONFIG_USB_MSM_SSPHY_QMP=m +CONFIG_USB_MSM_EUSB2_PHY=m +CONFIG_USB_M31_MSM_EUSB2_PHY=m +CONFIG_USB_GADGET=y +CONFIG_USB_DUMMY_HCD=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_F_CONN_GADGET=m +CONFIG_USB_CONFIGFS_F_SS_ACM=m +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_ACC=y +CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y +CONFIG_USB_CONFIGFS_F_UAC2=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_UVC=y +CONFIG_USB_CONFIGFS_F_CDEV=m +CONFIG_USB_CONFIGFS_F_CCID=m +CONFIG_USB_CONFIGFS_F_QDSS=m +CONFIG_USB_CONFIGFS_F_GSI=m +CONFIG_USB_CONFIGFS_F_DIAG=m +CONFIG_TYPEC=y +CONFIG_TYPEC_TCPM=y +CONFIG_TYPEC_TCPCI=y +CONFIG_TYPEC_UCSI=y +CONFIG_UCSI_QTI_GLINK=m +CONFIG_USB_REPEATER=m +CONFIG_QTI_PMIC_EUSB2_REPEATER=m +CONFIG_I2C_EUSB2_REPEATER=m +CONFIG_USB_REDRIVER=m +CONFIG_USB_REDRIVER_NB7VPQ904M=m +CONFIG_MMC=y +# CONFIG_PWRSEQ_EMMC is not set +# CONFIG_PWRSEQ_SIMPLE is not set +CONFIG_MMC_CRYPTO=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_MSM=m +CONFIG_SEC_MMC_FEATURE=y +CONFIG_LEDS_CLASS_FLASH=y +CONFIG_LEDS_CLASS_MULTICOLOR=y +CONFIG_LEDS_QTI_FLASH=m +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_QTI_TRI_LED=m +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_TRANSIENT=y +CONFIG_EDAC=y +CONFIG_EDAC_QCOM=m +CONFIG_EDAC_QCOM_LLCC_PANIC_ON_UE=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_PL030=y +CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_PM8XXX=m +CONFIG_RTC_AUTO_PWRON=m +CONFIG_QCOM_BAM_DMA=m +CONFIG_MSM_GPI_DMA=m +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_SYSFS_STATS=y +CONFIG_DMABUF_HEAPS_PAGE_POOL=y +CONFIG_QCOM_DMABUF_HEAPS=m +CONFIG_QCOM_DMABUF_HEAPS_SYSTEM=y +CONFIG_QCOM_DMABUF_HEAPS_PAGE_POOL_REFILL=y +CONFIG_QCOM_DMABUF_HEAPS_SYSTEM_SECURE=y +CONFIG_QCOM_DMABUF_HEAPS_CMA=y +CONFIG_QCOM_DMABUF_HEAPS_CARVEOUT=y +CONFIG_QCOM_DMABUF_HEAPS_BITSTREAM_CONTIG=y +CONFIG_UIO=y +CONFIG_UIO_MSM_SHAREDMEM=m +CONFIG_VIRT_DRIVERS=y +CONFIG_GUNYAH=m +CONFIG_GH_SECURE_VM_LOADER=m +CONFIG_GH_PROXY_SCHED=m +CONFIG_GUNYAH_DRIVERS=y +CONFIG_GH_VIRT_WATCHDOG=m +CONFIG_GH_CTRL=m +CONFIG_GH_DBL=m +CONFIG_GH_MSGQ=m +CONFIG_GH_RM_DRV=m +CONFIG_GH_IRQ_LEND=m +CONFIG_GH_MEM_NOTIFIER=m +CONFIG_VHOST_VSOCK=y +CONFIG_STAGING=y +CONFIG_ASHMEM=y +CONFIG_DEBUG_KINFO=y +CONFIG_IPA3=m +CONFIG_EP_PCIE=m +CONFIG_MSM_MHI_DEV=m +CONFIG_MSM_MHI_NET_DEV=m +CONFIG_SEC_PLATFORM_DM3Q=y +CONFIG_COMMON_CLK_SCPI=y +CONFIG_COMMON_CLK_QCOM=m +CONFIG_QCOM_CLK_RPMH=m +CONFIG_QCOM_GDSC_REGULATOR=m +CONFIG_SM_GCC_KALAMA=m +CONFIG_SM_VIDEOCC_KALAMA=m +CONFIG_SM_CAMCC_KALAMA=m +CONFIG_SM_DISPCC_KALAMA=m +CONFIG_SM_DEBUGCC_KALAMA=m +CONFIG_SM_GPUCC_KALAMA=m +CONFIG_SM_TCSRCC_KALAMA=m +# CONFIG_CLK_SUNXI is not set +# CONFIG_SUNXI_CCU is not set +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_QCOM=m +# CONFIG_SUN50I_ERRATUM_UNKNOWN1 is not set +CONFIG_MAILBOX=y +CONFIG_IOMMU_IO_PGTABLE_FAST=y +CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y +CONFIG_QTI_IOMMU_SUPPORT=m +CONFIG_ARM_SMMU=m +CONFIG_QCOM_LAZY_MAPPING=m +CONFIG_QCOM_IOMMU_UTIL=m +CONFIG_REMOTEPROC=y +CONFIG_REMOTEPROC_CDEV=y +CONFIG_QCOM_Q6V5_PAS=m +CONFIG_QCOM_SPSS=m +CONFIG_QCOM_ESOC=m +CONFIG_QCOM_ESOC_DEV=m +CONFIG_QCOM_ESOC_CLIENT=m +CONFIG_QCOM_ESOC_MDM_4X=m +CONFIG_QCOM_ESOC_MDM_DRV=m +CONFIG_QCOM_SYSMON=m +CONFIG_QCOM_PANIC_ON_NOTIF_TIMEOUT=y +CONFIG_RPROC_SYSMON_NOTIF_TIMEOUT=20000 +CONFIG_RPROC_SSR_NOTIF_TIMEOUT=20000 +CONFIG_SEC_SENSORS_SSC=y +CONFIG_RPMSG_CHAR=y +CONFIG_RPMSG_QCOM_GLINK_DEBUG=y +CONFIG_RPMSG_QCOM_GLINK_SMEM=m +CONFIG_RPMSG_QCOM_GLINK_SPSS=m +CONFIG_RPMSG_QCOM_SMD=m +CONFIG_SPS=m +CONFIG_SPS_SUPPORT_NDP_BAM=y +CONFIG_QCOM_AOSS_QMP=m +CONFIG_QCOM_COMMAND_DB=m +CONFIG_QCOM_QDSS_BRIDGE=m +CONFIG_SHOW_SUSPEND_EPOCH=m +CONFIG_QCOM_GENI_SE=y +CONFIG_QCOM_MSM_IPCC=m +CONFIG_QCOM_RIMPS=m +CONFIG_QCOM_LLCC=m +CONFIG_QCOM_LLCC_PERFMON=m +CONFIG_QCOM_PANIC_ON_PDR_NOTIF_TIMEOUT=y +CONFIG_PDR_INDICATION_NOTIF_TIMEOUT=9000 +CONFIG_MEM_SHARE_QMI_SERVICE=m +CONFIG_MSM_CORE_HANG_DETECT=m +CONFIG_QCOM_RPMH=m +CONFIG_QCOM_SMEM=m +CONFIG_QCOM_MEMORY_DUMP_V2=m +CONFIG_QCOM_SMP2P=m +CONFIG_QCOM_MICRODUMP=m +CONFIG_QCOM_SMP2P_SLEEPSTATE=m +CONFIG_QSEE_IPC_IRQ_BRIDGE=m +CONFIG_QCOM_GLINK=m +CONFIG_QCOM_GLINK_PKT=m +CONFIG_QTI_PMIC_GLINK=m +CONFIG_QTI_ALTMODE_GLINK=m +CONFIG_QCOM_SECURE_BUFFER=m +CONFIG_QCOM_MEM_HOOKS=m +CONFIG_QCOM_BALANCE_ANON_FILE_RECLAIM=y +CONFIG_MSM_CDSP_LOADER=m +CONFIG_QTI_SYS_PM_VX=m +CONFIG_QCOM_SOCINFO=m +CONFIG_QCOM_PMU_LIB=m +CONFIG_QCOM_DCVS_FP=m +CONFIG_QCOM_DCVS=m +CONFIG_QCOM_MEMLAT=m +CONFIG_QCOM_BWMON=m +CONFIG_QTI_HW_MEMLAT_SCMI_CLIENT=m +CONFIG_QTI_PMU_SCMI_CLIENT=m +CONFIG_QTI_C1DCVS_SCMI_CLIENT=m +CONFIG_QTI_CPUFREQ_STATS_SCMI_CLIENT=m +CONFIG_QCOM_SOC_SLEEP_STATS=m +CONFIG_QCOM_ADSP_SLEEPMON=m +CONFIG_QCOM_WDT_CORE=m +CONFIG_QCOM_IRQ_STAT=y +CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC=y +CONFIG_MSM_SPCOM=m +CONFIG_MSM_SPSS_UTILS=m +CONFIG_QCOM_DCC_V2=m +CONFIG_QCOM_SUBSYSTEM_SLEEP_STATS=m +CONFIG_QCOM_CDSP_RM=m +CONFIG_QCOM_SYSMON_SUBSYSTEM_STATS=m +CONFIG_QCOM_EUD=m +CONFIG_QTI_PMIC_PON_LOG=m +CONFIG_MSM_BOOT_STATS=m +CONFIG_USB_BAM=m +CONFIG_QCOM_RAMDUMP=m +CONFIG_QCOM_CPU_VENDOR_HOOKS=m +CONFIG_QCOM_PANEL_EVENT_NOTIFIER=m +CONFIG_QTI_CRYPTO_COMMON=m +CONFIG_QTI_HW_KEY_MANAGER=m +CONFIG_QCOM_HUNG_TASK_ENH=m +CONFIG_QCOM_FSA4480_I2C=m +CONFIG_GH_TLMM_VM_MEM_ACCESS=m +CONFIG_MSM_PERFORMANCE=m +CONFIG_QCOM_WCD_USBSS_I2C=m +CONFIG_QCOM_MINIDUMP=m +CONFIG_QCOM_VA_MINIDUMP=m +CONFIG_QCOM_MINIDUMP_PANIC_DUMP=y +CONFIG_QCOM_VM_DMESG_DUMPER=m +CONFIG_QCOM_DEBUG_SYMBOL=m +CONFIG_QCOM_MEM_BUF=m +CONFIG_QCOM_MEM_BUF_GH=y +CONFIG_QCOM_MEM_BUF_MSGQ=m +CONFIG_MSM_TMECOM_QMP=m +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +CONFIG_DEVFREQ_GOV_POWERSAVE=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +CONFIG_DEVFREQ_GOV_PASSIVE=y +CONFIG_PM_DEVFREQ_EVENT=y +CONFIG_EXTCON_LT8711UXE2=m +CONFIG_EXTCON_KTM5030=m +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_TRIGGERED_BUFFER=y +CONFIG_QCOM_SPMI_ADC5_GEN3=m +CONFIG_PWM=y +CONFIG_PWM_QTI_LPG=m +CONFIG_QCOM_SHOW_RESUME_IRQ=m +CONFIG_QCOM_PDC=m +CONFIG_PHY_QCOM_UFS=m +CONFIG_PHY_QCOM_UFS_QRBTC_SDM845=m +CONFIG_POWERCAP=y +CONFIG_IDLE_INJECT=y +CONFIG_QCOM_LLCC_PMU=m +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDERFS=y +CONFIG_ANDROID_DEBUG_SYMBOLS=y +CONFIG_ANDROID_VENDOR_HOOKS=y +CONFIG_LIBNVDIMM=y +# CONFIG_ND_BLK is not set +CONFIG_QCOM_QFPROM=m +CONFIG_NVMEM_SPMI_SDAM=m +CONFIG_SLIMBUS=m +CONFIG_SLIM_QCOM_NGD_CTRL=m +CONFIG_INTERCONNECT_QCOM=m +CONFIG_INTERCONNECT_QCOM_KALAMA=m +CONFIG_SAMSUNG_PRODUCT_SHIP=y +CONFIG_SEC_CLASS=m +CONFIG_SEC_KEY_NOTIFIER=m +CONFIG_SEC_LOG_BUF=m +CONFIG_SEC_REBOOT_CMD=m +CONFIG_SWITCH=m +CONFIG_SWITCH_GPIO=m +CONFIG_SENSORS=m +CONFIG_ADSP_FACTORY=m +CONFIG_LSM6DSO_FACTORY=y +CONFIG_AK09918_FACTORY=y +CONFIG_LPS22HH_FACTORY=y +CONFIG_LIGHT_FACTORY=y +CONFIG_PROX_FACTORY=y +CONFIG_SUPPORT_LIGHT_CALIBRATION=y +CONFIG_SUPPORT_PROX_CALIBRATION=y +CONFIG_SUPPORT_BRIGHTNESS_NOTIFY_FOR_LIGHT_SENSOR=y +CONFIG_SUPPORT_PANEL_STATE_NOTIFY_FOR_LIGHT_SENSOR=y +CONFIG_SUPPORT_DDI_COPR_FOR_LIGHT_SENSOR=y +CONFIG_SUPPORT_LIGHT_SEAMLESS=y +CONFIG_FLIP_COVER_DETECTOR_FACTORY=y +CONFIG_DRV_SAMSUNG_PMIC=m +CONFIG_VIBRATOR_VIB_INFO=m +CONFIG_DEV_RIL_BRIDGE=m +CONFIG_SEC_PANEL_NOTIFIER=m +CONFIG_VBUS_NOTIFIER=m +CONFIG_CHARGER_MAX77705=m +CONFIG_SB_CORE=m +CONFIG_SB_PQUEUE=y +CONFIG_SB_NOTIFY=y +CONFIG_SB_SYSFS=y +CONFIG_SB_VOTE=y +CONFIG_SEC_VIBRATOR_INPUTFF=m +CONFIG_VIB_STORE_LE_PARAM=y +CONFIG_USE_MUIC=y +CONFIG_MUIC_NOTIFIER=m +CONFIG_MUIC_SUPPORT_PDIC=y +CONFIG_HICCUP_CHARGER=y +CONFIG_MUIC_AFC_RETRY=y +CONFIG_MUIC_USE_MODULE_PARAM=y +CONFIG_USB_TYPEC_MANAGER_NOTIFIER=m +CONFIG_IF_CB_MANAGER=m +CONFIG_INPUT_SEC_INPUT=m +CONFIG_INPUT_TOUCHSCREEN_TCLMV2=m +CONFIG_INPUT_SEC_SECURE_TOUCH=m +CONFIG_TOUCHSCREEN_DUMP_MODE=m +CONFIG_INPUT_SEC_NOTIFIER=m +CONFIG_SENSORS_FINGERPRINT=m +CONFIG_FINGERPRINT_SECURE=y +CONFIG_SENSORS_FINGERPRINT_MODULE=y +CONFIG_SENSORS_FINGERPRINT_QCOM=y +CONFIG_SENSORS_QBT2000=m +CONFIG_CIRRUS_FIRMWARE_CL_DSP=m +CONFIG_SEC_INPUT_BOOSTER=m +CONFIG_SEC_INPUT_BOOSTER_MODE=y +CONFIG_SEC_INPUT_BOOSTER_QC=y +CONFIG_PDIC_NOTIFIER=m +CONFIG_PDIC_USE_MODULE_PARAM=y +CONFIG_CHARGER_PCA9481=m +CONFIG_INPUT_CS40L26_I2C=m +CONFIG_CS40L26_SAMSUNG_FEATURE=y +CONFIG_CS40L26_SAMSUNG_USE_DVL=y +CONFIG_CS40L26_SAMSUNG_USE_MAX_DATA_TX_SIZE=y +CONFIG_INPUT_HALL_IC=m +CONFIG_HALL_NOTIFIER=m +CONFIG_HALL_LOGICAL=m +CONFIG_SENSORS_FLICKER_SELF_TEST=m +CONFIG_SENSORS_TSL2585=m +CONFIG_FLICKER_PWM_CALIBRATION=y +CONFIG_FUELGAUGE_MAX77705=m +CONFIG_MFD_MAX77705=m +CONFIG_MAX77705_FW_SEPARATION_PID_BY_MODEL=y +CONFIG_REGULATOR_S2MPB03=m +CONFIG_DIRECT_CHARGING=m +CONFIG_BATTERY_SAMSUNG=m +CONFIG_STEP_CHARGING=y +CONFIG_ENABLE_FULL_BY_SOC=y +CONFIG_SEC_PD=m +CONFIG_BATTERY_CISD=y +CONFIG_AFC_CHARGER_MODE=y +CONFIG_BATTERY_AGE_FORECAST=y +CONFIG_BATTERY_GKI=y +CONFIG_SUPPORT_SHIP_MODE=y +CONFIG_SUPPORT_HV_CTRL=y +CONFIG_STAR_K250A_LEGO=m +CONFIG_REGULATOR_S2DOS05=m +CONFIG_REGULATOR_S2DOS05_ELVSS_FD=y +CONFIG_EPEN_WACOM_WEZ02=m +CONFIG_CCIC_MAX77705=m +CONFIG_MAXIM_CCIC_ALTERNATE_MODE=y +CONFIG_CCIC_MAX77705_DEBUG=y +CONFIG_MAX77705_FW_PID03_SUPPORT=y +CONFIG_MUIC_MAX77705=y +CONFIG_HV_MUIC_MAX77705_AFC=y +CONFIG_MUIC_MAX77705_PDIC=y +CONFIG_AFC=y +CONFIG_GET_UNMASK_VBUS_HWPARAM=y +CONFIG_REGULATOR_S2MPB02=m +CONFIG_SAMSUNG_UWB=m +CONFIG_UWB_SR200=y +CONFIG_SENSORS_SEC_THERMISTOR=m +CONFIG_SEC_DISPLAYPORT=m +CONFIG_SENSORS_ISG6320=m +CONFIG_SENSORS_SUPPORT_QCOM=y +CONFIG_SENSORS_CORE_AP=y +CONFIG_USE_MULTI_CHANNEL=y +CONFIG_WIRELESS_CHARGER_CPS4038=m +CONFIG_WIRELESS_AUTH=y +CONFIG_WIRELESS_CHARGER_HIGH_VOLTAGE=y +CONFIG_WIRELESS_TX_MODE=y +CONFIG_WIRELESS_FIRMWARE_UPDATE=y +CONFIG_WIRELESS_IC_PARAM=y +CONFIG_TX_GEAR_PHM_VOUT_CTRL=y +CONFIG_ENABLE_WIRELESS_IRQ_IN_SLEEP=y +CONFIG_SENSORS_VL53L8=m +CONFIG_SENSORS_VL53L8_SUPPORT_UAPI=y +CONFIG_SENSORS_VL53L8_QCOM=y +CONFIG_SENSORS_LAF_FAILURE_DEBUG=y +CONFIG_TOUCHSCREEN_STM_SPI=m +CONFIG_MFD_S2MPB02=m +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_F2FS_FS=y +CONFIG_F2FS_FS_SECURITY=y +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_UNFAIR_RWSEM=y +CONFIG_FS_ENCRYPTION=y +CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y +CONFIG_FS_VERITY=y +CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y +# CONFIG_DNOTIFY is not set +CONFIG_QUOTA=y +CONFIG_QFMT_V2=y +CONFIG_FUSE_FS=y +CONFIG_VIRTIO_FS=y +CONFIG_FUSE_BPF=y +CONFIG_OVERLAY_FS=y +CONFIG_INCREMENTAL_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_EXFAT_FS=y +CONFIG_TMPFS=y +# CONFIG_EFIVAR_FS is not set +CONFIG_PSTORE=y +CONFIG_PSTORE_CONSOLE=y +CONFIG_PSTORE_PMSG=y +CONFIG_PSTORE_RAM=y +CONFIG_EROFS_FS=y +CONFIG_EROFS_FS_PCPU_KTHREAD=y +CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=y +CONFIG_NLS_CODEPAGE_775=y +CONFIG_NLS_CODEPAGE_850=y +CONFIG_NLS_CODEPAGE_852=y +CONFIG_NLS_CODEPAGE_855=y +CONFIG_NLS_CODEPAGE_857=y +CONFIG_NLS_CODEPAGE_860=y +CONFIG_NLS_CODEPAGE_861=y +CONFIG_NLS_CODEPAGE_862=y +CONFIG_NLS_CODEPAGE_863=y +CONFIG_NLS_CODEPAGE_864=y +CONFIG_NLS_CODEPAGE_865=y +CONFIG_NLS_CODEPAGE_866=y +CONFIG_NLS_CODEPAGE_869=y +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=y +CONFIG_NLS_CODEPAGE_932=y +CONFIG_NLS_CODEPAGE_949=y +CONFIG_NLS_CODEPAGE_874=y +CONFIG_NLS_ISO8859_8=y +CONFIG_NLS_CODEPAGE_1250=y +CONFIG_NLS_CODEPAGE_1251=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=y +CONFIG_NLS_ISO8859_3=y +CONFIG_NLS_ISO8859_4=y +CONFIG_NLS_ISO8859_5=y +CONFIG_NLS_ISO8859_6=y +CONFIG_NLS_ISO8859_7=y +CONFIG_NLS_ISO8859_9=y +CONFIG_NLS_ISO8859_13=y +CONFIG_NLS_ISO8859_14=y +CONFIG_NLS_ISO8859_15=y +CONFIG_NLS_KOI8_R=y +CONFIG_NLS_KOI8_U=y +CONFIG_NLS_MAC_ROMAN=y +CONFIG_NLS_MAC_CELTIC=y +CONFIG_NLS_MAC_CENTEURO=y +CONFIG_NLS_MAC_CROATIAN=y +CONFIG_NLS_MAC_CYRILLIC=y +CONFIG_NLS_MAC_GAELIC=y +CONFIG_NLS_MAC_GREEK=y +CONFIG_NLS_MAC_ICELAND=y +CONFIG_NLS_MAC_INUIT=y +CONFIG_NLS_MAC_ROMANIAN=y +CONFIG_NLS_MAC_TURKISH=y +CONFIG_NLS_UTF8=y +CONFIG_UNICODE=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_NETWORK=y +CONFIG_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY_FALLBACK is not set +CONFIG_STATIC_USERMODEHELPER=y +CONFIG_STATIC_USERMODEHELPER_PATH="" +CONFIG_SECURITY_SELINUX=y +CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y +CONFIG_CRYPTO_CHACHA20POLY1305=y +CONFIG_CRYPTO_ADIANTUM=y +CONFIG_CRYPTO_XCBC=y +CONFIG_CRYPTO_BLAKE2B=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_LZ4=y +CONFIG_CRYPTO_ZSTD=y +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_TRACE_MMIO_ACCESS=y +CONFIG_XZ_DEC=y +CONFIG_DMA_RESTRICTED_POOL=y +CONFIG_DMA_CMA=y +CONFIG_STACK_HASH_ORDER=12 +CONFIG_PRINTK_TIME=y +CONFIG_PRINTK_CALLER=y +CONFIG_DYNAMIC_DEBUG_CORE=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF4=y +CONFIG_DEBUG_INFO_BTF=y +CONFIG_MODULE_ALLOW_BTF_MISMATCH=y +CONFIG_HEADERS_INSTALL=y +# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_UBSAN=y +CONFIG_UBSAN_TRAP=y +CONFIG_UBSAN_LOCAL_BOUNDS=y +# CONFIG_UBSAN_SHIFT is not set +# CONFIG_UBSAN_BOOL is not set +# CONFIG_UBSAN_ENUM is not set +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_KASAN=y +CONFIG_KASAN_HW_TAGS=y +CONFIG_KFENCE=y +CONFIG_KFENCE_SAMPLE_INTERVAL=500 +CONFIG_KFENCE_NUM_OBJECTS=63 +CONFIG_KFENCE_STATIC_KEYS=y +CONFIG_PANIC_ON_OOPS=y +CONFIG_PANIC_TIMEOUT=-1 +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_WQ_WATCHDOG=y +CONFIG_SCHEDSTATS=y +CONFIG_BUG_ON_DATA_CORRUPTION=y +# CONFIG_RCU_TRACE is not set +CONFIG_HIST_TRIGGERS=y +CONFIG_SEC_PM=y +CONFIG_FUNCTION_ERROR_INJECTION=y +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_SCHED_WALT=m +CONFIG_RQ_STAT_SHOW=y +CONFIG_SCHED_POWER_OPTIMIZE=y diff --git a/include/linux/olog.pb.h b/include/linux/olog.pb.h new file mode 100644 index 000000000000..53ddbaca357d --- /dev/null +++ b/include/linux/olog.pb.h @@ -0,0 +1,88 @@ +// Generated by the protocol buffer compiler for perflog!! DO NOT EDIT! +#ifndef _OLOG_PROTOCOL_BUFFER_H_ +#define _OLOG_PROTOCOL_BUFFER_H_ + +//EnumGenerator::GenerateDefinition in perflog_enum.cc +enum OlogTestEnum_Type { + PERFLOG_DEF = 0, + PERFLOG_LOG = 1, + PERFLOG_EVT = 2, + PERFLOG_WRN = 3, + PERFLOG_CRI = 4 +}; +#if defined(KPERFMON_KERNEL) +int OlogTestEnum_Type_maxnum = 5; +char * OlogTestEnum_Type_strings[5] = { + "DEF", + "LOG", + "EVT", + "WRN", + "CRI" +}; +#endif //KPERFMON_KERNEL +//EnumGenerator::GenerateDefinition in perflog_enum.cc +enum OlogTestEnum_ID { + PERFLOG_UNKNOWN = 0, + PERFLOG_LCDV = 2, + PERFLOG_ARGOS = 3, + PERFLOG_APPLAUNCH = 4, + PERFLOG_LOADAPK = 5, + PERFLOG_MAINLOOPER = 6, + PERFLOG_EXCESSIVECPUUSAGE = 7, + PERFLOG_ACTIVITYSLOW = 8, + PERFLOG_BROADCAST = 9, + PERFLOG_STORE = 10, + PERFLOG_CPUTOP = 11, + PERFLOG_LCD = 12, + PERFLOG_CPU = 13, + PERFLOG_LOCKCONTENTION = 14, + PERFLOG_CPUFREQ = 15, + PERFLOG_MEMPRESSURE = 16, + PERFLOG_INPUTD = 17, + PERFLOG_AMPSS = 18, + PERFLOG_SERVICEMANAGERSLOW = 19, + PERFLOG_IPCSTARVE = 20, + PERFLOG_SCREENSHOT = 21, + PERFLOG_MUTEX = 22, + PERFLOG_SYSTEMSERVER = 23, + PERFLOG_PERFETTOLOGGINGENABLED = 24, + PERFLOG_BIGDATA = 25, + PERFLOG_PSI = 26, + PERFLOG_JANK = 27 +}; +#if defined(KPERFMON_KERNEL) +int OlogTestEnum_ID_maxnum = 28; +char * OlogTestEnum_ID_strings[28] = { + "UNKNOWN", + " ", + "LCDV", + "ARGOS", + "APPLAUNCH", + "LOADAPK", + "MAINLOOPER", + "EXCESSIVECPUUSAGE", + "ACTIVITYSLOW", + "BROADCAST", + "STORE", + "CPUTOP", + "LCD", + "CPU", + "LOCKCONTENTION", + "CPUFREQ", + "MEMPRESSURE", + "INPUTD", + "AMPSS", + "SERVICEMANAGERSLOW", + "IPCSTARVE", + "SCREENSHOT", + "MUTEX", + "SYSTEMSERVER", + "PERFETTOLOGGINGENABLED", + "BIGDATA", + "PSI", + "JANK" +}; +#endif //KPERFMON_KERNEL + +#endif //_OLOG_PROTOCOL_BUFFER_H_ + diff --git a/include/linux/ologk.h b/include/linux/ologk.h new file mode 100644 index 000000000000..0af51d89eb10 --- /dev/null +++ b/include/linux/ologk.h @@ -0,0 +1,15 @@ +#ifndef _OLOG_KERNEL_H_ +#define _OLOG_KERNEL_H_ + +#include +#include "olog.pb.h" + +#define OLOG_CPU_FREQ_FILTER 1500000 +#define PERFLOG_MUTEX_THRESHOLD 20 + +#define ologk(...) _perflog(PERFLOG_LOG, PERFLOG_UNKNOWN, __VA_ARGS__) +#define perflog(...) _perflog(PERFLOG_LOG, __VA_ARGS__) +extern void _perflog(int type, int logid, const char *fmt, ...); +extern void perflog_evt(int logid, int arg1); + +#endif