From ecaa4baa1519af4224b1efbdeea2e69f74abe756 Mon Sep 17 00:00:00 2001 From: "kaleb.dias" Date: Wed, 15 May 2024 19:40:37 -0400 Subject: [PATCH 01/10] arquivo probe.c corrigido --- smartlamp-kernel-module/.Module.symvers.cmd | 1 + smartlamp-kernel-module/.modules.order.cmd | 1 + smartlamp-kernel-module/.probe.ko.cmd | 1 + smartlamp-kernel-module/.probe.mod.cmd | 1 + smartlamp-kernel-module/.probe.mod.o.cmd | 706 ++++++++++++++ smartlamp-kernel-module/.probe.o.cmd | 994 ++++++++++++++++++++ smartlamp-kernel-module/Makefile | 2 +- smartlamp-kernel-module/Module.symvers | 0 smartlamp-kernel-module/modules.order | 1 + smartlamp-kernel-module/probe.c | 5 +- smartlamp-kernel-module/probe.ko | Bin 0 -> 231624 bytes smartlamp-kernel-module/probe.mod | 2 + smartlamp-kernel-module/probe.mod.c | 46 + smartlamp-kernel-module/probe.mod.o | Bin 0 -> 50688 bytes smartlamp-kernel-module/probe.o | Bin 0 -> 182384 bytes 15 files changed, 1757 insertions(+), 3 deletions(-) create mode 100644 smartlamp-kernel-module/.Module.symvers.cmd create mode 100644 smartlamp-kernel-module/.modules.order.cmd create mode 100644 smartlamp-kernel-module/.probe.ko.cmd create mode 100644 smartlamp-kernel-module/.probe.mod.cmd create mode 100644 smartlamp-kernel-module/.probe.mod.o.cmd create mode 100644 smartlamp-kernel-module/.probe.o.cmd create mode 100644 smartlamp-kernel-module/Module.symvers create mode 100644 smartlamp-kernel-module/modules.order create mode 100644 smartlamp-kernel-module/probe.ko create mode 100644 smartlamp-kernel-module/probe.mod create mode 100644 smartlamp-kernel-module/probe.mod.c create mode 100644 smartlamp-kernel-module/probe.mod.o create mode 100644 smartlamp-kernel-module/probe.o diff --git a/smartlamp-kernel-module/.Module.symvers.cmd b/smartlamp-kernel-module/.Module.symvers.cmd new file mode 100644 index 0000000..31e17eb --- /dev/null +++ b/smartlamp-kernel-module/.Module.symvers.cmd @@ -0,0 +1 @@ +cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/Module.symvers := sed 's/\.ko$$/\.o/' /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/modules.order | scripts/mod/modpost -m -a -o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/Module.symvers -e -i Module.symvers -T - diff --git a/smartlamp-kernel-module/.modules.order.cmd b/smartlamp-kernel-module/.modules.order.cmd new file mode 100644 index 0000000..5f03925 --- /dev/null +++ b/smartlamp-kernel-module/.modules.order.cmd @@ -0,0 +1 @@ +cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/modules.order := { echo /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.ko; :; } | awk '!x[$$0]++' - > /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/modules.order diff --git a/smartlamp-kernel-module/.probe.ko.cmd b/smartlamp-kernel-module/.probe.ko.cmd new file mode 100644 index 0000000..d1ec10a --- /dev/null +++ b/smartlamp-kernel-module/.probe.ko.cmd @@ -0,0 +1 @@ +cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.ko := ld -r -m elf_x86_64 -z noexecstack --build-id=sha1 -T scripts/module.lds -o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.ko /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o; true diff --git a/smartlamp-kernel-module/.probe.mod.cmd b/smartlamp-kernel-module/.probe.mod.cmd new file mode 100644 index 0000000..853c1b9 --- /dev/null +++ b/smartlamp-kernel-module/.probe.mod.cmd @@ -0,0 +1 @@ +cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod := { echo /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o; echo; } > /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod diff --git a/smartlamp-kernel-module/.probe.mod.o.cmd b/smartlamp-kernel-module/.probe.mod.o.cmd new file mode 100644 index 0000000..223addf --- /dev/null +++ b/smartlamp-kernel-module/.probe.mod.o.cmd @@ -0,0 +1,706 @@ +cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o := gcc -Wp,-MMD,/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/.probe.mod.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -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=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"probe.mod"' -DKBUILD_MODNAME='"probe"' -D__KBUILD_MODNAME=kmod_probe -c -o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.c + +source_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o := /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.c + +deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o := \ + $(wildcard include/config/MODULE_UNLOAD) \ + $(wildcard include/config/RETPOLINE) \ + include/linux/compiler-version.h \ + $(wildcard include/config/CC_VERSION_TEXT) \ + include/linux/kconfig.h \ + $(wildcard include/config/CPU_BIG_ENDIAN) \ + $(wildcard include/config/BOOGER) \ + $(wildcard include/config/FOO) \ + include/linux/compiler_types.h \ + $(wildcard include/config/HAVE_ARCH_COMPILER_H) \ + $(wildcard include/config/CC_HAS_ASM_INLINE) \ + include/linux/compiler_attributes.h \ + include/linux/compiler-gcc.h \ + $(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \ + $(wildcard include/config/KCOV) \ + include/linux/module.h \ + $(wildcard include/config/MODULES) \ + $(wildcard include/config/SYSFS) \ + $(wildcard include/config/MODULES_TREE_LOOKUP) \ + $(wildcard include/config/LIVEPATCH) \ + $(wildcard include/config/STACKTRACE_BUILD_ID) \ + $(wildcard include/config/CFI_CLANG) \ + $(wildcard include/config/MODULE_SIG) \ + $(wildcard include/config/GENERIC_BUG) \ + $(wildcard include/config/KALLSYMS) \ + $(wildcard include/config/SMP) \ + $(wildcard include/config/TRACEPOINTS) \ + $(wildcard include/config/TREE_SRCU) \ + $(wildcard include/config/BPF_EVENTS) \ + $(wildcard include/config/DEBUG_INFO_BTF_MODULES) \ + $(wildcard include/config/JUMP_LABEL) \ + $(wildcard include/config/TRACING) \ + $(wildcard include/config/EVENT_TRACING) \ + $(wildcard include/config/FTRACE_MCOUNT_RECORD) \ + $(wildcard include/config/KPROBES) \ + $(wildcard include/config/HAVE_STATIC_CALL_INLINE) \ + $(wildcard include/config/PRINTK_INDEX) \ + $(wildcard include/config/CONSTRUCTORS) \ + $(wildcard include/config/FUNCTION_ERROR_INJECTION) \ + include/linux/list.h \ + $(wildcard include/config/DEBUG_LIST) \ + include/linux/types.h \ + $(wildcard include/config/HAVE_UID16) \ + $(wildcard include/config/UID16) \ + $(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \ + $(wildcard include/config/PHYS_ADDR_T_64BIT) \ + $(wildcard include/config/64BIT) \ + $(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \ + include/uapi/linux/types.h \ + arch/x86/include/generated/uapi/asm/types.h \ + include/uapi/asm-generic/types.h \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + arch/x86/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + include/uapi/linux/posix_types.h \ + include/linux/stddef.h \ + include/uapi/linux/stddef.h \ + include/linux/compiler_types.h \ + arch/x86/include/asm/posix_types.h \ + $(wildcard include/config/X86_32) \ + arch/x86/include/uapi/asm/posix_types_64.h \ + include/uapi/asm-generic/posix_types.h \ + include/linux/poison.h \ + $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ + include/linux/const.h \ + include/vdso/const.h \ + include/uapi/linux/const.h \ + include/linux/kernel.h \ + $(wildcard include/config/PREEMPT_VOLUNTARY) \ + $(wildcard include/config/PREEMPT_DYNAMIC) \ + $(wildcard include/config/PREEMPT_) \ + $(wildcard include/config/DEBUG_ATOMIC_SLEEP) \ + $(wildcard include/config/MMU) \ + $(wildcard include/config/PROVE_LOCKING) \ + include/linux/stdarg.h \ + include/linux/align.h \ + include/linux/limits.h \ + include/uapi/linux/limits.h \ + include/vdso/limits.h \ + include/linux/linkage.h \ + $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ + include/linux/stringify.h \ + include/linux/export.h \ + $(wildcard include/config/MODVERSIONS) \ + $(wildcard include/config/MODULE_REL_CRCS) \ + $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ + $(wildcard include/config/TRIM_UNUSED_KSYMS) \ + include/linux/compiler.h \ + $(wildcard include/config/TRACE_BRANCH_PROFILING) \ + $(wildcard include/config/PROFILE_ALL_BRANCHES) \ + $(wildcard include/config/STACK_VALIDATION) \ + arch/x86/include/generated/asm/rwonce.h \ + include/asm-generic/rwonce.h \ + include/linux/kasan-checks.h \ + $(wildcard include/config/KASAN_GENERIC) \ + $(wildcard include/config/KASAN_SW_TAGS) \ + include/linux/kcsan-checks.h \ + $(wildcard include/config/KCSAN) \ + $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ + arch/x86/include/asm/linkage.h \ + $(wildcard include/config/X86_64) \ + $(wildcard include/config/X86_ALIGNMENT_16) \ + $(wildcard include/config/RETHUNK) \ + $(wildcard include/config/SLS) \ + include/linux/bitops.h \ + include/linux/bits.h \ + include/vdso/bits.h \ + include/linux/build_bug.h \ + include/linux/typecheck.h \ + include/uapi/linux/kernel.h \ + include/uapi/linux/sysinfo.h \ + arch/x86/include/asm/bitops.h \ + $(wildcard include/config/X86_CMOV) \ + arch/x86/include/asm/alternative.h \ + arch/x86/include/asm/asm.h \ + arch/x86/include/asm/extable_fixup_types.h \ + arch/x86/include/asm/rmwcc.h \ + $(wildcard include/config/CC_HAS_ASM_GOTO) \ + arch/x86/include/asm/barrier.h \ + arch/x86/include/asm/nops.h \ + include/asm-generic/barrier.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/GENERIC_FIND_FIRST_BIT) \ + include/asm-generic/bitops/sched.h \ + arch/x86/include/asm/arch_hweight.h \ + arch/x86/include/asm/cpufeatures.h \ + arch/x86/include/asm/required-features.h \ + $(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \ + $(wildcard include/config/MATH_EMULATION) \ + $(wildcard include/config/X86_PAE) \ + $(wildcard include/config/X86_CMPXCHG64) \ + $(wildcard include/config/X86_USE_3DNOW) \ + $(wildcard include/config/X86_P6_NOP) \ + $(wildcard include/config/MATOM) \ + $(wildcard include/config/PARAVIRT_XXL) \ + arch/x86/include/asm/disabled-features.h \ + $(wildcard include/config/X86_SMAP) \ + $(wildcard include/config/X86_UMIP) \ + $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ + $(wildcard include/config/X86_5LEVEL) \ + $(wildcard include/config/PAGE_TABLE_ISOLATION) \ + $(wildcard include/config/CPU_UNRET_ENTRY) \ + $(wildcard include/config/X86_SGX) \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/instrumented-atomic.h \ + include/linux/instrumented.h \ + include/asm-generic/bitops/instrumented-non-atomic.h \ + $(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \ + include/asm-generic/bitops/instrumented-lock.h \ + include/asm-generic/bitops/le.h \ + arch/x86/include/uapi/asm/byteorder.h \ + include/linux/byteorder/little_endian.h \ + include/uapi/linux/byteorder/little_endian.h \ + include/linux/swab.h \ + include/uapi/linux/swab.h \ + arch/x86/include/uapi/asm/swab.h \ + include/linux/byteorder/generic.h \ + include/asm-generic/bitops/ext2-atomic-setbit.h \ + include/linux/kstrtox.h \ + include/linux/log2.h \ + $(wildcard include/config/ARCH_HAS_ILOG2_U32) \ + $(wildcard include/config/ARCH_HAS_ILOG2_U64) \ + include/linux/math.h \ + arch/x86/include/asm/div64.h \ + include/asm-generic/div64.h \ + include/linux/minmax.h \ + include/linux/panic.h \ + $(wildcard include/config/PANIC_TIMEOUT) \ + include/linux/printk.h \ + $(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \ + $(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \ + $(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \ + $(wildcard include/config/EARLY_PRINTK) \ + $(wildcard include/config/PRINTK) \ + $(wildcard include/config/DYNAMIC_DEBUG) \ + $(wildcard include/config/DYNAMIC_DEBUG_CORE) \ + include/linux/init.h \ + $(wildcard include/config/STRICT_KERNEL_RWX) \ + $(wildcard include/config/STRICT_MODULE_RWX) \ + $(wildcard include/config/LTO_CLANG) \ + include/linux/kern_levels.h \ + include/linux/cache.h \ + $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ + arch/x86/include/asm/cache.h \ + $(wildcard include/config/X86_L1_CACHE_SHIFT) \ + $(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \ + $(wildcard include/config/X86_VSMP) \ + include/linux/ratelimit_types.h \ + include/uapi/linux/param.h \ + arch/x86/include/generated/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/HZ) \ + include/uapi/asm-generic/param.h \ + include/linux/spinlock_types.h \ + $(wildcard include/config/PREEMPT_RT) \ + $(wildcard include/config/DEBUG_LOCK_ALLOC) \ + include/linux/spinlock_types_raw.h \ + $(wildcard include/config/DEBUG_SPINLOCK) \ + arch/x86/include/asm/spinlock_types.h \ + include/asm-generic/qspinlock_types.h \ + $(wildcard include/config/NR_CPUS) \ + include/asm-generic/qrwlock_types.h \ + include/linux/lockdep_types.h \ + $(wildcard include/config/PROVE_RAW_LOCK_NESTING) \ + $(wildcard include/config/PREEMPT_LOCK) \ + $(wildcard include/config/LOCKDEP) \ + $(wildcard include/config/LOCK_STAT) \ + include/linux/rwlock_types.h \ + include/linux/once_lite.h \ + include/linux/dynamic_debug.h \ + include/linux/jump_label.h \ + $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ + arch/x86/include/asm/jump_label.h \ + include/linux/static_call_types.h \ + $(wildcard include/config/HAVE_STATIC_CALL) \ + include/linux/stat.h \ + arch/x86/include/uapi/asm/stat.h \ + include/uapi/linux/stat.h \ + include/linux/time.h \ + $(wildcard include/config/POSIX_TIMERS) \ + include/linux/math64.h \ + $(wildcard include/config/ARCH_SUPPORTS_INT128) \ + include/vdso/math64.h \ + include/linux/time64.h \ + include/vdso/time64.h \ + include/uapi/linux/time.h \ + include/uapi/linux/time_types.h \ + include/linux/time32.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + arch/x86/include/asm/timex.h \ + $(wildcard include/config/X86_TSC) \ + arch/x86/include/asm/processor.h \ + $(wildcard include/config/X86_VMX_FEATURE_NAMES) \ + $(wildcard include/config/X86_IOPL_IOPERM) \ + $(wildcard include/config/STACKPROTECTOR) \ + $(wildcard include/config/VM86) \ + $(wildcard include/config/X86_DEBUGCTLMSR) \ + $(wildcard include/config/CPU_SUP_AMD) \ + $(wildcard include/config/XEN) \ + arch/x86/include/asm/processor-flags.h \ + arch/x86/include/uapi/asm/processor-flags.h \ + include/linux/mem_encrypt.h \ + $(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \ + $(wildcard include/config/AMD_MEM_ENCRYPT) \ + arch/x86/include/asm/mem_encrypt.h \ + include/linux/cc_platform.h \ + $(wildcard include/config/ARCH_HAS_CC_PLATFORM) \ + arch/x86/include/uapi/asm/bootparam.h \ + include/linux/screen_info.h \ + include/uapi/linux/screen_info.h \ + include/linux/apm_bios.h \ + include/uapi/linux/apm_bios.h \ + include/uapi/linux/ioctl.h \ + arch/x86/include/generated/uapi/asm/ioctl.h \ + include/asm-generic/ioctl.h \ + include/uapi/asm-generic/ioctl.h \ + include/linux/edd.h \ + include/uapi/linux/edd.h \ + arch/x86/include/asm/ist.h \ + arch/x86/include/uapi/asm/ist.h \ + include/video/edid.h \ + $(wildcard include/config/X86) \ + include/uapi/video/edid.h \ + arch/x86/include/asm/math_emu.h \ + arch/x86/include/asm/ptrace.h \ + $(wildcard include/config/PARAVIRT) \ + $(wildcard include/config/IA32_EMULATION) \ + arch/x86/include/asm/segment.h \ + $(wildcard include/config/XEN_PV) \ + arch/x86/include/asm/page_types.h \ + $(wildcard include/config/PHYSICAL_START) \ + $(wildcard include/config/PHYSICAL_ALIGN) \ + $(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \ + arch/x86/include/asm/page_64_types.h \ + $(wildcard include/config/KASAN) \ + $(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \ + $(wildcard include/config/RANDOMIZE_BASE) \ + arch/x86/include/asm/kaslr.h \ + $(wildcard include/config/RANDOMIZE_MEMORY) \ + arch/x86/include/uapi/asm/ptrace.h \ + arch/x86/include/uapi/asm/ptrace-abi.h \ + arch/x86/include/asm/paravirt_types.h \ + $(wildcard include/config/PGTABLE_LEVELS) \ + $(wildcard include/config/PARAVIRT_DEBUG) \ + arch/x86/include/asm/desc_defs.h \ + arch/x86/include/asm/pgtable_types.h \ + $(wildcard include/config/MEM_SOFT_DIRTY) \ + $(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \ + $(wildcard include/config/PROC_FS) \ + arch/x86/include/asm/pgtable_64_types.h \ + $(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \ + arch/x86/include/asm/sparsemem.h \ + $(wildcard include/config/SPARSEMEM) \ + $(wildcard include/config/NUMA_KEEP_MEMINFO) \ + arch/x86/include/asm/nospec-branch.h \ + $(wildcard include/config/CPU_SRSO) \ + $(wildcard include/config/CPU_IBPB_ENTRY) \ + include/linux/static_key.h \ + include/linux/objtool.h \ + $(wildcard include/config/FRAME_POINTER) \ + arch/x86/include/asm/msr-index.h \ + arch/x86/include/asm/unwind_hints.h \ + arch/x86/include/asm/orc_types.h \ + arch/x86/include/asm/percpu.h \ + $(wildcard include/config/X86_64_SMP) \ + include/asm-generic/percpu.h \ + $(wildcard include/config/DEBUG_PREEMPT) \ + $(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \ + include/linux/threads.h \ + $(wildcard include/config/BASE_SMALL) \ + include/linux/percpu-defs.h \ + $(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \ + arch/x86/include/asm/GEN-for-each-reg.h \ + arch/x86/include/asm/proto.h \ + arch/x86/include/uapi/asm/ldt.h \ + arch/x86/include/uapi/asm/sigcontext.h \ + arch/x86/include/asm/current.h \ + arch/x86/include/asm/page.h \ + arch/x86/include/asm/page_64.h \ + $(wildcard include/config/DEBUG_VIRTUAL) \ + $(wildcard include/config/FLATMEM) \ + $(wildcard include/config/X86_VSYSCALL_EMULATION) \ + include/linux/range.h \ + include/asm-generic/memory_model.h \ + $(wildcard include/config/SPARSEMEM_VMEMMAP) \ + include/linux/pfn.h \ + include/asm-generic/getorder.h \ + arch/x86/include/asm/msr.h \ + arch/x86/include/asm/msr-index.h \ + arch/x86/include/generated/uapi/asm/errno.h \ + include/uapi/asm-generic/errno.h \ + include/uapi/asm-generic/errno-base.h \ + arch/x86/include/asm/cpumask.h \ + include/linux/cpumask.h \ + $(wildcard include/config/CPUMASK_OFFSTACK) \ + $(wildcard include/config/HOTPLUG_CPU) \ + $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ + include/linux/bitmap.h \ + include/linux/string.h \ + $(wildcard include/config/BINARY_PRINTF) \ + $(wildcard include/config/FORTIFY_SOURCE) \ + include/linux/err.h \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + include/linux/overflow.h \ + include/uapi/linux/string.h \ + arch/x86/include/asm/string.h \ + arch/x86/include/asm/string_64.h \ + $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ + include/linux/fortify-string.h \ + include/linux/atomic.h \ + arch/x86/include/asm/atomic.h \ + arch/x86/include/asm/cmpxchg.h \ + arch/x86/include/asm/cmpxchg_64.h \ + arch/x86/include/asm/atomic64_64.h \ + include/linux/atomic/atomic-arch-fallback.h \ + $(wildcard include/config/GENERIC_ATOMIC64) \ + include/linux/atomic/atomic-long.h \ + include/linux/atomic/atomic-instrumented.h \ + include/linux/bug.h \ + $(wildcard include/config/BUG_ON_DATA_CORRUPTION) \ + arch/x86/include/asm/bug.h \ + $(wildcard include/config/DEBUG_BUGVERBOSE) \ + include/linux/instrumentation.h \ + $(wildcard include/config/DEBUG_ENTRY) \ + include/asm-generic/bug.h \ + $(wildcard include/config/BUG) \ + $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ + arch/x86/include/uapi/asm/msr.h \ + include/linux/tracepoint-defs.h \ + arch/x86/include/asm/paravirt.h \ + $(wildcard include/config/PARAVIRT_SPINLOCKS) \ + arch/x86/include/asm/frame.h \ + arch/x86/include/asm/special_insns.h \ + include/linux/irqflags.h \ + $(wildcard include/config/TRACE_IRQFLAGS) \ + $(wildcard include/config/IRQSOFF_TRACER) \ + $(wildcard include/config/PREEMPT_TRACER) \ + $(wildcard include/config/DEBUG_IRQFLAGS) \ + $(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \ + arch/x86/include/asm/irqflags.h \ + arch/x86/include/asm/fpu/types.h \ + arch/x86/include/asm/vmxfeatures.h \ + arch/x86/include/asm/vdso/processor.h \ + include/linux/personality.h \ + include/uapi/linux/personality.h \ + arch/x86/include/asm/tsc.h \ + arch/x86/include/asm/cpufeature.h \ + $(wildcard include/config/X86_FEATURE_NAMES) \ + include/vdso/time32.h \ + include/vdso/time.h \ + include/linux/uidgid.h \ + $(wildcard include/config/MULTIUSER) \ + $(wildcard include/config/USER_NS) \ + include/linux/highuid.h \ + include/linux/buildid.h \ + $(wildcard include/config/CRASH_CORE) \ + include/linux/mm_types.h \ + $(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \ + $(wildcard include/config/MEMCG) \ + $(wildcard include/config/USERFAULTFD) \ + $(wildcard include/config/SWAP) \ + $(wildcard include/config/NUMA) \ + $(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \ + $(wildcard include/config/MEMBARRIER) \ + $(wildcard include/config/AIO) \ + $(wildcard include/config/MMU_NOTIFIER) \ + $(wildcard include/config/TRANSPARENT_HUGEPAGE) \ + $(wildcard include/config/NUMA_BALANCING) \ + $(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \ + $(wildcard include/config/HUGETLB_PAGE) \ + $(wildcard include/config/IOMMU_SUPPORT) \ + include/linux/mm_types_task.h \ + $(wildcard include/config/SPLIT_PTLOCK_CPUS) \ + $(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \ + arch/x86/include/asm/tlbbatch.h \ + include/linux/auxvec.h \ + include/uapi/linux/auxvec.h \ + arch/x86/include/uapi/asm/auxvec.h \ + include/linux/spinlock.h \ + $(wildcard include/config/PREEMPTION) \ + include/linux/preempt.h \ + $(wildcard include/config/PREEMPT_COUNT) \ + $(wildcard include/config/TRACE_PREEMPT_TOGGLE) \ + $(wildcard include/config/PREEMPT_NOTIFIERS) \ + arch/x86/include/asm/preempt.h \ + include/linux/thread_info.h \ + $(wildcard include/config/THREAD_INFO_IN_TASK) \ + $(wildcard include/config/GENERIC_ENTRY) \ + $(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \ + $(wildcard include/config/HARDENED_USERCOPY) \ + include/linux/restart_block.h \ + arch/x86/include/asm/thread_info.h \ + $(wildcard include/config/COMPAT) \ + include/linux/bottom_half.h \ + include/linux/lockdep.h \ + $(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \ + include/linux/smp.h \ + $(wildcard include/config/UP_LATE_INIT) \ + include/linux/smp_types.h \ + include/linux/llist.h \ + $(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \ + arch/x86/include/asm/smp.h \ + $(wildcard include/config/X86_LOCAL_APIC) \ + $(wildcard include/config/DEBUG_NMI_SELFTEST) \ + arch/x86/include/generated/asm/mmiowb.h \ + include/asm-generic/mmiowb.h \ + $(wildcard include/config/MMIOWB) \ + arch/x86/include/asm/spinlock.h \ + arch/x86/include/asm/qspinlock.h \ + include/asm-generic/qspinlock.h \ + arch/x86/include/asm/qrwlock.h \ + include/asm-generic/qrwlock.h \ + include/linux/rwlock.h \ + $(wildcard include/config/PREEMPT) \ + include/linux/spinlock_api_smp.h \ + $(wildcard include/config/INLINE_SPIN_LOCK) \ + $(wildcard include/config/INLINE_SPIN_LOCK_BH) \ + $(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \ + $(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_SPIN_TRYLOCK) \ + $(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \ + $(wildcard include/config/UNINLINE_SPIN_UNLOCK) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \ + $(wildcard include/config/GENERIC_LOCKBREAK) \ + include/linux/rwlock_api_smp.h \ + $(wildcard include/config/INLINE_READ_LOCK) \ + $(wildcard include/config/INLINE_WRITE_LOCK) \ + $(wildcard include/config/INLINE_READ_LOCK_BH) \ + $(wildcard include/config/INLINE_WRITE_LOCK_BH) \ + $(wildcard include/config/INLINE_READ_LOCK_IRQ) \ + $(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \ + $(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_READ_TRYLOCK) \ + $(wildcard include/config/INLINE_WRITE_TRYLOCK) \ + $(wildcard include/config/INLINE_READ_UNLOCK) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK) \ + $(wildcard include/config/INLINE_READ_UNLOCK_BH) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \ + $(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \ + include/linux/rbtree.h \ + include/linux/rbtree_types.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/PREEMPT_RCU) \ + $(wildcard include/config/TINY_RCU) \ + $(wildcard include/config/TASKS_RCU_GENERIC) \ + $(wildcard include/config/RCU_STALL_COMMON) \ + $(wildcard include/config/NO_HZ_FULL) \ + $(wildcard include/config/RCU_NOCB_CPU) \ + $(wildcard include/config/TASKS_RCU) \ + $(wildcard include/config/TASKS_TRACE_RCU) \ + $(wildcard include/config/TASKS_RUDE_RCU) \ + $(wildcard include/config/TREE_RCU) \ + $(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \ + $(wildcard include/config/PROVE_RCU) \ + $(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \ + include/linux/rcutree.h \ + include/linux/rwsem.h \ + $(wildcard include/config/RWSEM_SPIN_ON_OWNER) \ + $(wildcard include/config/DEBUG_RWSEMS) \ + include/linux/osq_lock.h \ + include/linux/completion.h \ + include/linux/swait.h \ + include/linux/wait.h \ + include/uapi/linux/wait.h \ + include/linux/uprobes.h \ + $(wildcard include/config/UPROBES) \ + arch/x86/include/asm/uprobes.h \ + include/linux/notifier.h \ + include/linux/mutex.h \ + $(wildcard include/config/MUTEX_SPIN_ON_OWNER) \ + $(wildcard include/config/DEBUG_MUTEXES) \ + include/linux/debug_locks.h \ + include/linux/srcu.h \ + $(wildcard include/config/TINY_SRCU) \ + $(wildcard include/config/SRCU) \ + include/linux/workqueue.h \ + $(wildcard include/config/DEBUG_OBJECTS_WORK) \ + $(wildcard include/config/FREEZER) \ + $(wildcard include/config/WQ_WATCHDOG) \ + include/linux/timer.h \ + $(wildcard include/config/DEBUG_OBJECTS_TIMERS) \ + $(wildcard include/config/NO_HZ_COMMON) \ + include/linux/ktime.h \ + include/linux/jiffies.h \ + include/vdso/jiffies.h \ + include/generated/timeconst.h \ + include/vdso/ktime.h \ + include/linux/timekeeping.h \ + $(wildcard include/config/GENERIC_CMOS_UPDATE) \ + include/linux/clocksource_ids.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/DEBUG_OBJECTS) \ + $(wildcard include/config/DEBUG_OBJECTS_FREE) \ + include/linux/rcu_segcblist.h \ + include/linux/srcutree.h \ + include/linux/rcu_node_tree.h \ + $(wildcard include/config/RCU_FANOUT) \ + $(wildcard include/config/RCU_FANOUT_LEAF) \ + include/linux/page-flags-layout.h \ + $(wildcard include/config/KASAN_HW_TAGS) \ + include/linux/numa.h \ + $(wildcard include/config/NODES_SHIFT) \ + include/generated/bounds.h \ + include/linux/seqlock.h \ + include/linux/ww_mutex.h \ + $(wildcard include/config/DEBUG_RT_MUTEXES) \ + $(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \ + include/linux/rtmutex.h \ + arch/x86/include/asm/mmu.h \ + $(wildcard include/config/MODIFY_LDT_SYSCALL) \ + include/linux/kmod.h \ + include/linux/umh.h \ + include/linux/gfp.h \ + $(wildcard include/config/HIGHMEM) \ + $(wildcard include/config/ZONE_DMA) \ + $(wildcard include/config/ZONE_DMA32) \ + $(wildcard include/config/ZONE_DEVICE) \ + $(wildcard include/config/PM_SLEEP) \ + $(wildcard include/config/CONTIG_ALLOC) \ + $(wildcard include/config/CMA) \ + include/linux/mmdebug.h \ + $(wildcard include/config/DEBUG_VM) \ + $(wildcard include/config/DEBUG_VM_PGFLAGS) \ + include/linux/mmzone.h \ + $(wildcard include/config/FORCE_MAX_ZONEORDER) \ + $(wildcard include/config/MEMORY_ISOLATION) \ + $(wildcard include/config/ZSMALLOC) \ + $(wildcard include/config/SHADOW_CALL_STACK) \ + $(wildcard include/config/MEMORY_HOTPLUG) \ + $(wildcard include/config/COMPACTION) \ + $(wildcard include/config/PAGE_EXTENSION) \ + $(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \ + $(wildcard include/config/HAVE_MEMORYLESS_NODES) \ + $(wildcard include/config/SPARSEMEM_EXTREME) \ + $(wildcard include/config/HAVE_ARCH_PFN_VALID) \ + include/linux/nodemask.h \ + include/linux/pageblock-flags.h \ + $(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \ + include/linux/page-flags.h \ + $(wildcard include/config/ARCH_USES_PG_UNCACHED) \ + $(wildcard include/config/MEMORY_FAILURE) \ + $(wildcard include/config/PAGE_IDLE_FLAG) \ + $(wildcard include/config/THP_SWAP) \ + $(wildcard include/config/KSM) \ + include/linux/local_lock.h \ + include/linux/local_lock_internal.h \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ + $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ + $(wildcard include/config/MEMORY_HOTREMOVE) \ + arch/x86/include/asm/mmzone.h \ + arch/x86/include/asm/mmzone_64.h \ + include/linux/topology.h \ + $(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \ + $(wildcard include/config/SCHED_SMT) \ + include/linux/arch_topology.h \ + $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ + include/linux/percpu.h \ + $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ + $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ + arch/x86/include/asm/topology.h \ + $(wildcard include/config/SCHED_MC_PRIO) \ + $(wildcard include/config/ACPI_CPPC_LIB) \ + arch/x86/include/asm/mpspec.h \ + $(wildcard include/config/EISA) \ + $(wildcard include/config/X86_MPPARSE) \ + arch/x86/include/asm/mpspec_def.h \ + arch/x86/include/asm/x86_init.h \ + arch/x86/include/asm/apicdef.h \ + include/asm-generic/topology.h \ + include/linux/sysctl.h \ + $(wildcard include/config/SYSCTL) \ + include/uapi/linux/sysctl.h \ + include/linux/elf.h \ + $(wildcard include/config/ARCH_USE_GNU_PROPERTY) \ + $(wildcard include/config/ARCH_HAVE_ELF_PROT) \ + arch/x86/include/asm/elf.h \ + $(wildcard include/config/X86_X32_ABI) \ + arch/x86/include/asm/user.h \ + arch/x86/include/asm/user_64.h \ + arch/x86/include/asm/fsgsbase.h \ + arch/x86/include/asm/vdso.h \ + $(wildcard include/config/X86_X32) \ + include/uapi/linux/elf.h \ + include/uapi/linux/elf-em.h \ + include/linux/kobject.h \ + $(wildcard include/config/UEVENT_HELPER) \ + $(wildcard include/config/DEBUG_KOBJECT_RELEASE) \ + include/linux/sysfs.h \ + include/linux/kernfs.h \ + $(wildcard include/config/KERNFS) \ + include/linux/idr.h \ + include/linux/radix-tree.h \ + include/linux/xarray.h \ + $(wildcard include/config/XARRAY_MULTI) \ + include/linux/kconfig.h \ + include/linux/kobject_ns.h \ + include/linux/kref.h \ + include/linux/refcount.h \ + include/linux/moduleparam.h \ + $(wildcard include/config/ALPHA) \ + $(wildcard include/config/IA64) \ + $(wildcard include/config/PPC64) \ + include/linux/rbtree_latch.h \ + include/linux/error-injection.h \ + include/asm-generic/error-injection.h \ + include/linux/cfi.h \ + $(wildcard include/config/CFI_CLANG_SHADOW) \ + arch/x86/include/asm/module.h \ + $(wildcard include/config/UNWINDER_ORC) \ + include/asm-generic/module.h \ + $(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \ + $(wildcard include/config/MODULES_USE_ELF_REL) \ + $(wildcard include/config/MODULES_USE_ELF_RELA) \ + arch/x86/include/asm/orc_types.h \ + include/linux/build-salt.h \ + $(wildcard include/config/BUILD_SALT) \ + include/linux/elfnote.h \ + include/linux/elfnote-lto.h \ + $(wildcard include/config/LTO) \ + include/linux/vermagic.h \ + include/generated/utsrelease.h \ + arch/x86/include/asm/vermagic.h \ + $(wildcard include/config/M486SX) \ + $(wildcard include/config/M486) \ + $(wildcard include/config/M586) \ + $(wildcard include/config/M586TSC) \ + $(wildcard include/config/M586MMX) \ + $(wildcard include/config/MCORE2) \ + $(wildcard include/config/M686) \ + $(wildcard include/config/MPENTIUMII) \ + $(wildcard include/config/MPENTIUMIII) \ + $(wildcard include/config/MPENTIUMM) \ + $(wildcard include/config/MPENTIUM4) \ + $(wildcard include/config/MK6) \ + $(wildcard include/config/MK7) \ + $(wildcard include/config/MK8) \ + $(wildcard include/config/MELAN) \ + $(wildcard include/config/MCRUSOE) \ + $(wildcard include/config/MEFFICEON) \ + $(wildcard include/config/MWINCHIPC6) \ + $(wildcard include/config/MWINCHIP3D) \ + $(wildcard include/config/MCYRIXIII) \ + $(wildcard include/config/MVIAC3_2) \ + $(wildcard include/config/MVIAC7) \ + $(wildcard include/config/MGEODEGX1) \ + $(wildcard include/config/MGEODE_LX) \ + +/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o: $(deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o) + +$(deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o): diff --git a/smartlamp-kernel-module/.probe.o.cmd b/smartlamp-kernel-module/.probe.o.cmd new file mode 100644 index 0000000..941ffd0 --- /dev/null +++ b/smartlamp-kernel-module/.probe.o.cmd @@ -0,0 +1,994 @@ +cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o := gcc -Wp,-MMD,/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/.probe.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -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=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"probe"' -DKBUILD_MODNAME='"probe"' -D__KBUILD_MODNAME=kmod_probe -c -o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.c + +source_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o := /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.c + +deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o := \ + include/linux/compiler-version.h \ + $(wildcard include/config/CC_VERSION_TEXT) \ + include/linux/kconfig.h \ + $(wildcard include/config/CPU_BIG_ENDIAN) \ + $(wildcard include/config/BOOGER) \ + $(wildcard include/config/FOO) \ + include/linux/compiler_types.h \ + $(wildcard include/config/HAVE_ARCH_COMPILER_H) \ + $(wildcard include/config/CC_HAS_ASM_INLINE) \ + include/linux/compiler_attributes.h \ + include/linux/compiler-gcc.h \ + $(wildcard include/config/RETPOLINE) \ + $(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \ + $(wildcard include/config/KCOV) \ + include/linux/module.h \ + $(wildcard include/config/MODULES) \ + $(wildcard include/config/SYSFS) \ + $(wildcard include/config/MODULES_TREE_LOOKUP) \ + $(wildcard include/config/LIVEPATCH) \ + $(wildcard include/config/STACKTRACE_BUILD_ID) \ + $(wildcard include/config/CFI_CLANG) \ + $(wildcard include/config/MODULE_SIG) \ + $(wildcard include/config/GENERIC_BUG) \ + $(wildcard include/config/KALLSYMS) \ + $(wildcard include/config/SMP) \ + $(wildcard include/config/TRACEPOINTS) \ + $(wildcard include/config/TREE_SRCU) \ + $(wildcard include/config/BPF_EVENTS) \ + $(wildcard include/config/DEBUG_INFO_BTF_MODULES) \ + $(wildcard include/config/JUMP_LABEL) \ + $(wildcard include/config/TRACING) \ + $(wildcard include/config/EVENT_TRACING) \ + $(wildcard include/config/FTRACE_MCOUNT_RECORD) \ + $(wildcard include/config/KPROBES) \ + $(wildcard include/config/HAVE_STATIC_CALL_INLINE) \ + $(wildcard include/config/PRINTK_INDEX) \ + $(wildcard include/config/MODULE_UNLOAD) \ + $(wildcard include/config/CONSTRUCTORS) \ + $(wildcard include/config/FUNCTION_ERROR_INJECTION) \ + include/linux/list.h \ + $(wildcard include/config/DEBUG_LIST) \ + include/linux/types.h \ + $(wildcard include/config/HAVE_UID16) \ + $(wildcard include/config/UID16) \ + $(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \ + $(wildcard include/config/PHYS_ADDR_T_64BIT) \ + $(wildcard include/config/64BIT) \ + $(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \ + include/uapi/linux/types.h \ + arch/x86/include/generated/uapi/asm/types.h \ + include/uapi/asm-generic/types.h \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + arch/x86/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + include/uapi/linux/posix_types.h \ + include/linux/stddef.h \ + include/uapi/linux/stddef.h \ + include/linux/compiler_types.h \ + arch/x86/include/asm/posix_types.h \ + $(wildcard include/config/X86_32) \ + arch/x86/include/uapi/asm/posix_types_64.h \ + include/uapi/asm-generic/posix_types.h \ + include/linux/poison.h \ + $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ + include/linux/const.h \ + include/vdso/const.h \ + include/uapi/linux/const.h \ + include/linux/kernel.h \ + $(wildcard include/config/PREEMPT_VOLUNTARY) \ + $(wildcard include/config/PREEMPT_DYNAMIC) \ + $(wildcard include/config/PREEMPT_) \ + $(wildcard include/config/DEBUG_ATOMIC_SLEEP) \ + $(wildcard include/config/MMU) \ + $(wildcard include/config/PROVE_LOCKING) \ + include/linux/stdarg.h \ + include/linux/align.h \ + include/linux/limits.h \ + include/uapi/linux/limits.h \ + include/vdso/limits.h \ + include/linux/linkage.h \ + $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ + include/linux/stringify.h \ + include/linux/export.h \ + $(wildcard include/config/MODVERSIONS) \ + $(wildcard include/config/MODULE_REL_CRCS) \ + $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ + $(wildcard include/config/TRIM_UNUSED_KSYMS) \ + include/linux/compiler.h \ + $(wildcard include/config/TRACE_BRANCH_PROFILING) \ + $(wildcard include/config/PROFILE_ALL_BRANCHES) \ + $(wildcard include/config/STACK_VALIDATION) \ + arch/x86/include/generated/asm/rwonce.h \ + include/asm-generic/rwonce.h \ + include/linux/kasan-checks.h \ + $(wildcard include/config/KASAN_GENERIC) \ + $(wildcard include/config/KASAN_SW_TAGS) \ + include/linux/kcsan-checks.h \ + $(wildcard include/config/KCSAN) \ + $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ + arch/x86/include/asm/linkage.h \ + $(wildcard include/config/X86_64) \ + $(wildcard include/config/X86_ALIGNMENT_16) \ + $(wildcard include/config/RETHUNK) \ + $(wildcard include/config/SLS) \ + include/linux/bitops.h \ + include/linux/bits.h \ + include/vdso/bits.h \ + include/linux/build_bug.h \ + include/linux/typecheck.h \ + include/uapi/linux/kernel.h \ + include/uapi/linux/sysinfo.h \ + arch/x86/include/asm/bitops.h \ + $(wildcard include/config/X86_CMOV) \ + arch/x86/include/asm/alternative.h \ + arch/x86/include/asm/asm.h \ + arch/x86/include/asm/extable_fixup_types.h \ + arch/x86/include/asm/rmwcc.h \ + $(wildcard include/config/CC_HAS_ASM_GOTO) \ + arch/x86/include/asm/barrier.h \ + arch/x86/include/asm/nops.h \ + include/asm-generic/barrier.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/GENERIC_FIND_FIRST_BIT) \ + include/asm-generic/bitops/sched.h \ + arch/x86/include/asm/arch_hweight.h \ + arch/x86/include/asm/cpufeatures.h \ + arch/x86/include/asm/required-features.h \ + $(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \ + $(wildcard include/config/MATH_EMULATION) \ + $(wildcard include/config/X86_PAE) \ + $(wildcard include/config/X86_CMPXCHG64) \ + $(wildcard include/config/X86_USE_3DNOW) \ + $(wildcard include/config/X86_P6_NOP) \ + $(wildcard include/config/MATOM) \ + $(wildcard include/config/PARAVIRT_XXL) \ + arch/x86/include/asm/disabled-features.h \ + $(wildcard include/config/X86_SMAP) \ + $(wildcard include/config/X86_UMIP) \ + $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ + $(wildcard include/config/X86_5LEVEL) \ + $(wildcard include/config/PAGE_TABLE_ISOLATION) \ + $(wildcard include/config/CPU_UNRET_ENTRY) \ + $(wildcard include/config/X86_SGX) \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/instrumented-atomic.h \ + include/linux/instrumented.h \ + include/asm-generic/bitops/instrumented-non-atomic.h \ + $(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \ + include/asm-generic/bitops/instrumented-lock.h \ + include/asm-generic/bitops/le.h \ + arch/x86/include/uapi/asm/byteorder.h \ + include/linux/byteorder/little_endian.h \ + include/uapi/linux/byteorder/little_endian.h \ + include/linux/swab.h \ + include/uapi/linux/swab.h \ + arch/x86/include/uapi/asm/swab.h \ + include/linux/byteorder/generic.h \ + include/asm-generic/bitops/ext2-atomic-setbit.h \ + include/linux/kstrtox.h \ + include/linux/log2.h \ + $(wildcard include/config/ARCH_HAS_ILOG2_U32) \ + $(wildcard include/config/ARCH_HAS_ILOG2_U64) \ + include/linux/math.h \ + arch/x86/include/asm/div64.h \ + include/asm-generic/div64.h \ + include/linux/minmax.h \ + include/linux/panic.h \ + $(wildcard include/config/PANIC_TIMEOUT) \ + include/linux/printk.h \ + $(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \ + $(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \ + $(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \ + $(wildcard include/config/EARLY_PRINTK) \ + $(wildcard include/config/PRINTK) \ + $(wildcard include/config/DYNAMIC_DEBUG) \ + $(wildcard include/config/DYNAMIC_DEBUG_CORE) \ + include/linux/init.h \ + $(wildcard include/config/STRICT_KERNEL_RWX) \ + $(wildcard include/config/STRICT_MODULE_RWX) \ + $(wildcard include/config/LTO_CLANG) \ + include/linux/kern_levels.h \ + include/linux/cache.h \ + $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ + arch/x86/include/asm/cache.h \ + $(wildcard include/config/X86_L1_CACHE_SHIFT) \ + $(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \ + $(wildcard include/config/X86_VSMP) \ + include/linux/ratelimit_types.h \ + include/uapi/linux/param.h \ + arch/x86/include/generated/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/HZ) \ + include/uapi/asm-generic/param.h \ + include/linux/spinlock_types.h \ + $(wildcard include/config/PREEMPT_RT) \ + $(wildcard include/config/DEBUG_LOCK_ALLOC) \ + include/linux/spinlock_types_raw.h \ + $(wildcard include/config/DEBUG_SPINLOCK) \ + arch/x86/include/asm/spinlock_types.h \ + include/asm-generic/qspinlock_types.h \ + $(wildcard include/config/NR_CPUS) \ + include/asm-generic/qrwlock_types.h \ + include/linux/lockdep_types.h \ + $(wildcard include/config/PROVE_RAW_LOCK_NESTING) \ + $(wildcard include/config/PREEMPT_LOCK) \ + $(wildcard include/config/LOCKDEP) \ + $(wildcard include/config/LOCK_STAT) \ + include/linux/rwlock_types.h \ + include/linux/once_lite.h \ + include/linux/dynamic_debug.h \ + include/linux/jump_label.h \ + $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ + arch/x86/include/asm/jump_label.h \ + include/linux/static_call_types.h \ + $(wildcard include/config/HAVE_STATIC_CALL) \ + include/linux/stat.h \ + arch/x86/include/uapi/asm/stat.h \ + include/uapi/linux/stat.h \ + include/linux/time.h \ + $(wildcard include/config/POSIX_TIMERS) \ + include/linux/math64.h \ + $(wildcard include/config/ARCH_SUPPORTS_INT128) \ + include/vdso/math64.h \ + include/linux/time64.h \ + include/vdso/time64.h \ + include/uapi/linux/time.h \ + include/uapi/linux/time_types.h \ + include/linux/time32.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + arch/x86/include/asm/timex.h \ + $(wildcard include/config/X86_TSC) \ + arch/x86/include/asm/processor.h \ + $(wildcard include/config/X86_VMX_FEATURE_NAMES) \ + $(wildcard include/config/X86_IOPL_IOPERM) \ + $(wildcard include/config/STACKPROTECTOR) \ + $(wildcard include/config/VM86) \ + $(wildcard include/config/X86_DEBUGCTLMSR) \ + $(wildcard include/config/CPU_SUP_AMD) \ + $(wildcard include/config/XEN) \ + arch/x86/include/asm/processor-flags.h \ + arch/x86/include/uapi/asm/processor-flags.h \ + include/linux/mem_encrypt.h \ + $(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \ + $(wildcard include/config/AMD_MEM_ENCRYPT) \ + arch/x86/include/asm/mem_encrypt.h \ + include/linux/cc_platform.h \ + $(wildcard include/config/ARCH_HAS_CC_PLATFORM) \ + arch/x86/include/uapi/asm/bootparam.h \ + include/linux/screen_info.h \ + include/uapi/linux/screen_info.h \ + include/linux/apm_bios.h \ + include/uapi/linux/apm_bios.h \ + include/uapi/linux/ioctl.h \ + arch/x86/include/generated/uapi/asm/ioctl.h \ + include/asm-generic/ioctl.h \ + include/uapi/asm-generic/ioctl.h \ + include/linux/edd.h \ + include/uapi/linux/edd.h \ + arch/x86/include/asm/ist.h \ + arch/x86/include/uapi/asm/ist.h \ + include/video/edid.h \ + $(wildcard include/config/X86) \ + include/uapi/video/edid.h \ + arch/x86/include/asm/math_emu.h \ + arch/x86/include/asm/ptrace.h \ + $(wildcard include/config/PARAVIRT) \ + $(wildcard include/config/IA32_EMULATION) \ + arch/x86/include/asm/segment.h \ + $(wildcard include/config/XEN_PV) \ + arch/x86/include/asm/page_types.h \ + $(wildcard include/config/PHYSICAL_START) \ + $(wildcard include/config/PHYSICAL_ALIGN) \ + $(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \ + arch/x86/include/asm/page_64_types.h \ + $(wildcard include/config/KASAN) \ + $(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \ + $(wildcard include/config/RANDOMIZE_BASE) \ + arch/x86/include/asm/kaslr.h \ + $(wildcard include/config/RANDOMIZE_MEMORY) \ + arch/x86/include/uapi/asm/ptrace.h \ + arch/x86/include/uapi/asm/ptrace-abi.h \ + arch/x86/include/asm/paravirt_types.h \ + $(wildcard include/config/PGTABLE_LEVELS) \ + $(wildcard include/config/PARAVIRT_DEBUG) \ + arch/x86/include/asm/desc_defs.h \ + arch/x86/include/asm/pgtable_types.h \ + $(wildcard include/config/MEM_SOFT_DIRTY) \ + $(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \ + $(wildcard include/config/PROC_FS) \ + arch/x86/include/asm/pgtable_64_types.h \ + $(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \ + arch/x86/include/asm/sparsemem.h \ + $(wildcard include/config/SPARSEMEM) \ + $(wildcard include/config/NUMA_KEEP_MEMINFO) \ + arch/x86/include/asm/nospec-branch.h \ + $(wildcard include/config/CPU_SRSO) \ + $(wildcard include/config/CPU_IBPB_ENTRY) \ + include/linux/static_key.h \ + include/linux/objtool.h \ + $(wildcard include/config/FRAME_POINTER) \ + arch/x86/include/asm/msr-index.h \ + arch/x86/include/asm/unwind_hints.h \ + arch/x86/include/asm/orc_types.h \ + arch/x86/include/asm/percpu.h \ + $(wildcard include/config/X86_64_SMP) \ + include/asm-generic/percpu.h \ + $(wildcard include/config/DEBUG_PREEMPT) \ + $(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \ + include/linux/threads.h \ + $(wildcard include/config/BASE_SMALL) \ + include/linux/percpu-defs.h \ + $(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \ + arch/x86/include/asm/GEN-for-each-reg.h \ + arch/x86/include/asm/proto.h \ + arch/x86/include/uapi/asm/ldt.h \ + arch/x86/include/uapi/asm/sigcontext.h \ + arch/x86/include/asm/current.h \ + arch/x86/include/asm/page.h \ + arch/x86/include/asm/page_64.h \ + $(wildcard include/config/DEBUG_VIRTUAL) \ + $(wildcard include/config/FLATMEM) \ + $(wildcard include/config/X86_VSYSCALL_EMULATION) \ + include/linux/range.h \ + include/asm-generic/memory_model.h \ + $(wildcard include/config/SPARSEMEM_VMEMMAP) \ + include/linux/pfn.h \ + include/asm-generic/getorder.h \ + arch/x86/include/asm/msr.h \ + arch/x86/include/asm/msr-index.h \ + arch/x86/include/generated/uapi/asm/errno.h \ + include/uapi/asm-generic/errno.h \ + include/uapi/asm-generic/errno-base.h \ + arch/x86/include/asm/cpumask.h \ + include/linux/cpumask.h \ + $(wildcard include/config/CPUMASK_OFFSTACK) \ + $(wildcard include/config/HOTPLUG_CPU) \ + $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ + include/linux/bitmap.h \ + include/linux/string.h \ + $(wildcard include/config/BINARY_PRINTF) \ + $(wildcard include/config/FORTIFY_SOURCE) \ + include/linux/err.h \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + include/linux/overflow.h \ + include/uapi/linux/string.h \ + arch/x86/include/asm/string.h \ + arch/x86/include/asm/string_64.h \ + $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ + include/linux/fortify-string.h \ + include/linux/atomic.h \ + arch/x86/include/asm/atomic.h \ + arch/x86/include/asm/cmpxchg.h \ + arch/x86/include/asm/cmpxchg_64.h \ + arch/x86/include/asm/atomic64_64.h \ + include/linux/atomic/atomic-arch-fallback.h \ + $(wildcard include/config/GENERIC_ATOMIC64) \ + include/linux/atomic/atomic-long.h \ + include/linux/atomic/atomic-instrumented.h \ + include/linux/bug.h \ + $(wildcard include/config/BUG_ON_DATA_CORRUPTION) \ + arch/x86/include/asm/bug.h \ + $(wildcard include/config/DEBUG_BUGVERBOSE) \ + include/linux/instrumentation.h \ + $(wildcard include/config/DEBUG_ENTRY) \ + include/asm-generic/bug.h \ + $(wildcard include/config/BUG) \ + $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ + arch/x86/include/uapi/asm/msr.h \ + include/linux/tracepoint-defs.h \ + arch/x86/include/asm/paravirt.h \ + $(wildcard include/config/PARAVIRT_SPINLOCKS) \ + arch/x86/include/asm/frame.h \ + arch/x86/include/asm/special_insns.h \ + include/linux/irqflags.h \ + $(wildcard include/config/TRACE_IRQFLAGS) \ + $(wildcard include/config/IRQSOFF_TRACER) \ + $(wildcard include/config/PREEMPT_TRACER) \ + $(wildcard include/config/DEBUG_IRQFLAGS) \ + $(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \ + arch/x86/include/asm/irqflags.h \ + arch/x86/include/asm/fpu/types.h \ + arch/x86/include/asm/vmxfeatures.h \ + arch/x86/include/asm/vdso/processor.h \ + include/linux/personality.h \ + include/uapi/linux/personality.h \ + arch/x86/include/asm/tsc.h \ + arch/x86/include/asm/cpufeature.h \ + $(wildcard include/config/X86_FEATURE_NAMES) \ + include/vdso/time32.h \ + include/vdso/time.h \ + include/linux/uidgid.h \ + $(wildcard include/config/MULTIUSER) \ + $(wildcard include/config/USER_NS) \ + include/linux/highuid.h \ + include/linux/buildid.h \ + $(wildcard include/config/CRASH_CORE) \ + include/linux/mm_types.h \ + $(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \ + $(wildcard include/config/MEMCG) \ + $(wildcard include/config/USERFAULTFD) \ + $(wildcard include/config/SWAP) \ + $(wildcard include/config/NUMA) \ + $(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \ + $(wildcard include/config/MEMBARRIER) \ + $(wildcard include/config/AIO) \ + $(wildcard include/config/MMU_NOTIFIER) \ + $(wildcard include/config/TRANSPARENT_HUGEPAGE) \ + $(wildcard include/config/NUMA_BALANCING) \ + $(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \ + $(wildcard include/config/HUGETLB_PAGE) \ + $(wildcard include/config/IOMMU_SUPPORT) \ + include/linux/mm_types_task.h \ + $(wildcard include/config/SPLIT_PTLOCK_CPUS) \ + $(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \ + arch/x86/include/asm/tlbbatch.h \ + include/linux/auxvec.h \ + include/uapi/linux/auxvec.h \ + arch/x86/include/uapi/asm/auxvec.h \ + include/linux/spinlock.h \ + $(wildcard include/config/PREEMPTION) \ + include/linux/preempt.h \ + $(wildcard include/config/PREEMPT_COUNT) \ + $(wildcard include/config/TRACE_PREEMPT_TOGGLE) \ + $(wildcard include/config/PREEMPT_NOTIFIERS) \ + arch/x86/include/asm/preempt.h \ + include/linux/thread_info.h \ + $(wildcard include/config/THREAD_INFO_IN_TASK) \ + $(wildcard include/config/GENERIC_ENTRY) \ + $(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \ + $(wildcard include/config/HARDENED_USERCOPY) \ + include/linux/restart_block.h \ + arch/x86/include/asm/thread_info.h \ + $(wildcard include/config/COMPAT) \ + include/linux/bottom_half.h \ + include/linux/lockdep.h \ + $(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \ + include/linux/smp.h \ + $(wildcard include/config/UP_LATE_INIT) \ + include/linux/smp_types.h \ + include/linux/llist.h \ + $(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \ + arch/x86/include/asm/smp.h \ + $(wildcard include/config/X86_LOCAL_APIC) \ + $(wildcard include/config/DEBUG_NMI_SELFTEST) \ + arch/x86/include/generated/asm/mmiowb.h \ + include/asm-generic/mmiowb.h \ + $(wildcard include/config/MMIOWB) \ + arch/x86/include/asm/spinlock.h \ + arch/x86/include/asm/qspinlock.h \ + include/asm-generic/qspinlock.h \ + arch/x86/include/asm/qrwlock.h \ + include/asm-generic/qrwlock.h \ + include/linux/rwlock.h \ + $(wildcard include/config/PREEMPT) \ + include/linux/spinlock_api_smp.h \ + $(wildcard include/config/INLINE_SPIN_LOCK) \ + $(wildcard include/config/INLINE_SPIN_LOCK_BH) \ + $(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \ + $(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_SPIN_TRYLOCK) \ + $(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \ + $(wildcard include/config/UNINLINE_SPIN_UNLOCK) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \ + $(wildcard include/config/GENERIC_LOCKBREAK) \ + include/linux/rwlock_api_smp.h \ + $(wildcard include/config/INLINE_READ_LOCK) \ + $(wildcard include/config/INLINE_WRITE_LOCK) \ + $(wildcard include/config/INLINE_READ_LOCK_BH) \ + $(wildcard include/config/INLINE_WRITE_LOCK_BH) \ + $(wildcard include/config/INLINE_READ_LOCK_IRQ) \ + $(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \ + $(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_READ_TRYLOCK) \ + $(wildcard include/config/INLINE_WRITE_TRYLOCK) \ + $(wildcard include/config/INLINE_READ_UNLOCK) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK) \ + $(wildcard include/config/INLINE_READ_UNLOCK_BH) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \ + $(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \ + include/linux/rbtree.h \ + include/linux/rbtree_types.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/PREEMPT_RCU) \ + $(wildcard include/config/TINY_RCU) \ + $(wildcard include/config/TASKS_RCU_GENERIC) \ + $(wildcard include/config/RCU_STALL_COMMON) \ + $(wildcard include/config/NO_HZ_FULL) \ + $(wildcard include/config/RCU_NOCB_CPU) \ + $(wildcard include/config/TASKS_RCU) \ + $(wildcard include/config/TASKS_TRACE_RCU) \ + $(wildcard include/config/TASKS_RUDE_RCU) \ + $(wildcard include/config/TREE_RCU) \ + $(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \ + $(wildcard include/config/PROVE_RCU) \ + $(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \ + include/linux/rcutree.h \ + include/linux/rwsem.h \ + $(wildcard include/config/RWSEM_SPIN_ON_OWNER) \ + $(wildcard include/config/DEBUG_RWSEMS) \ + include/linux/osq_lock.h \ + include/linux/completion.h \ + include/linux/swait.h \ + include/linux/wait.h \ + include/uapi/linux/wait.h \ + include/linux/uprobes.h \ + $(wildcard include/config/UPROBES) \ + arch/x86/include/asm/uprobes.h \ + include/linux/notifier.h \ + include/linux/mutex.h \ + $(wildcard include/config/MUTEX_SPIN_ON_OWNER) \ + $(wildcard include/config/DEBUG_MUTEXES) \ + include/linux/debug_locks.h \ + include/linux/srcu.h \ + $(wildcard include/config/TINY_SRCU) \ + $(wildcard include/config/SRCU) \ + include/linux/workqueue.h \ + $(wildcard include/config/DEBUG_OBJECTS_WORK) \ + $(wildcard include/config/FREEZER) \ + $(wildcard include/config/WQ_WATCHDOG) \ + include/linux/timer.h \ + $(wildcard include/config/DEBUG_OBJECTS_TIMERS) \ + $(wildcard include/config/NO_HZ_COMMON) \ + include/linux/ktime.h \ + include/linux/jiffies.h \ + include/vdso/jiffies.h \ + include/generated/timeconst.h \ + include/vdso/ktime.h \ + include/linux/timekeeping.h \ + $(wildcard include/config/GENERIC_CMOS_UPDATE) \ + include/linux/clocksource_ids.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/DEBUG_OBJECTS) \ + $(wildcard include/config/DEBUG_OBJECTS_FREE) \ + include/linux/rcu_segcblist.h \ + include/linux/srcutree.h \ + include/linux/rcu_node_tree.h \ + $(wildcard include/config/RCU_FANOUT) \ + $(wildcard include/config/RCU_FANOUT_LEAF) \ + include/linux/page-flags-layout.h \ + $(wildcard include/config/KASAN_HW_TAGS) \ + include/linux/numa.h \ + $(wildcard include/config/NODES_SHIFT) \ + include/generated/bounds.h \ + include/linux/seqlock.h \ + include/linux/ww_mutex.h \ + $(wildcard include/config/DEBUG_RT_MUTEXES) \ + $(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \ + include/linux/rtmutex.h \ + arch/x86/include/asm/mmu.h \ + $(wildcard include/config/MODIFY_LDT_SYSCALL) \ + include/linux/kmod.h \ + include/linux/umh.h \ + include/linux/gfp.h \ + $(wildcard include/config/HIGHMEM) \ + $(wildcard include/config/ZONE_DMA) \ + $(wildcard include/config/ZONE_DMA32) \ + $(wildcard include/config/ZONE_DEVICE) \ + $(wildcard include/config/PM_SLEEP) \ + $(wildcard include/config/CONTIG_ALLOC) \ + $(wildcard include/config/CMA) \ + include/linux/mmdebug.h \ + $(wildcard include/config/DEBUG_VM) \ + $(wildcard include/config/DEBUG_VM_PGFLAGS) \ + include/linux/mmzone.h \ + $(wildcard include/config/FORCE_MAX_ZONEORDER) \ + $(wildcard include/config/MEMORY_ISOLATION) \ + $(wildcard include/config/ZSMALLOC) \ + $(wildcard include/config/SHADOW_CALL_STACK) \ + $(wildcard include/config/MEMORY_HOTPLUG) \ + $(wildcard include/config/COMPACTION) \ + $(wildcard include/config/PAGE_EXTENSION) \ + $(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \ + $(wildcard include/config/HAVE_MEMORYLESS_NODES) \ + $(wildcard include/config/SPARSEMEM_EXTREME) \ + $(wildcard include/config/HAVE_ARCH_PFN_VALID) \ + include/linux/nodemask.h \ + include/linux/pageblock-flags.h \ + $(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \ + include/linux/page-flags.h \ + $(wildcard include/config/ARCH_USES_PG_UNCACHED) \ + $(wildcard include/config/MEMORY_FAILURE) \ + $(wildcard include/config/PAGE_IDLE_FLAG) \ + $(wildcard include/config/THP_SWAP) \ + $(wildcard include/config/KSM) \ + include/linux/local_lock.h \ + include/linux/local_lock_internal.h \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ + $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ + $(wildcard include/config/MEMORY_HOTREMOVE) \ + arch/x86/include/asm/mmzone.h \ + arch/x86/include/asm/mmzone_64.h \ + include/linux/topology.h \ + $(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \ + $(wildcard include/config/SCHED_SMT) \ + include/linux/arch_topology.h \ + $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ + include/linux/percpu.h \ + $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ + $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ + arch/x86/include/asm/topology.h \ + $(wildcard include/config/SCHED_MC_PRIO) \ + $(wildcard include/config/ACPI_CPPC_LIB) \ + arch/x86/include/asm/mpspec.h \ + $(wildcard include/config/EISA) \ + $(wildcard include/config/X86_MPPARSE) \ + arch/x86/include/asm/mpspec_def.h \ + arch/x86/include/asm/x86_init.h \ + arch/x86/include/asm/apicdef.h \ + include/asm-generic/topology.h \ + include/linux/sysctl.h \ + $(wildcard include/config/SYSCTL) \ + include/uapi/linux/sysctl.h \ + include/linux/elf.h \ + $(wildcard include/config/ARCH_USE_GNU_PROPERTY) \ + $(wildcard include/config/ARCH_HAVE_ELF_PROT) \ + arch/x86/include/asm/elf.h \ + $(wildcard include/config/X86_X32_ABI) \ + arch/x86/include/asm/user.h \ + arch/x86/include/asm/user_64.h \ + arch/x86/include/asm/fsgsbase.h \ + arch/x86/include/asm/vdso.h \ + $(wildcard include/config/X86_X32) \ + include/uapi/linux/elf.h \ + include/uapi/linux/elf-em.h \ + include/linux/kobject.h \ + $(wildcard include/config/UEVENT_HELPER) \ + $(wildcard include/config/DEBUG_KOBJECT_RELEASE) \ + include/linux/sysfs.h \ + include/linux/kernfs.h \ + $(wildcard include/config/KERNFS) \ + include/linux/idr.h \ + include/linux/radix-tree.h \ + include/linux/xarray.h \ + $(wildcard include/config/XARRAY_MULTI) \ + include/linux/kconfig.h \ + include/linux/kobject_ns.h \ + include/linux/kref.h \ + include/linux/refcount.h \ + include/linux/moduleparam.h \ + $(wildcard include/config/ALPHA) \ + $(wildcard include/config/IA64) \ + $(wildcard include/config/PPC64) \ + include/linux/rbtree_latch.h \ + include/linux/error-injection.h \ + include/asm-generic/error-injection.h \ + include/linux/cfi.h \ + $(wildcard include/config/CFI_CLANG_SHADOW) \ + arch/x86/include/asm/module.h \ + $(wildcard include/config/UNWINDER_ORC) \ + include/asm-generic/module.h \ + $(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \ + $(wildcard include/config/MODULES_USE_ELF_REL) \ + $(wildcard include/config/MODULES_USE_ELF_RELA) \ + arch/x86/include/asm/orc_types.h \ + include/linux/usb.h \ + $(wildcard include/config/USB_MON) \ + $(wildcard include/config/PM) \ + $(wildcard include/config/ACPI) \ + $(wildcard include/config/USB) \ + $(wildcard include/config/USB_LED_TRIG) \ + include/linux/mod_devicetable.h \ + include/linux/uuid.h \ + include/uapi/linux/uuid.h \ + include/linux/usb/ch9.h \ + include/linux/device.h \ + $(wildcard include/config/ENERGY_MODEL) \ + $(wildcard include/config/GENERIC_MSI_IRQ_DOMAIN) \ + $(wildcard include/config/PINCTRL) \ + $(wildcard include/config/GENERIC_MSI_IRQ) \ + $(wildcard include/config/DMA_OPS) \ + $(wildcard include/config/DMA_DECLARE_COHERENT) \ + $(wildcard include/config/DMA_CMA) \ + $(wildcard include/config/SWIOTLB) \ + $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_DEVICE) \ + $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU) \ + $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU_ALL) \ + $(wildcard include/config/DMA_OPS_BYPASS) \ + $(wildcard include/config/OF) \ + $(wildcard include/config/DEVTMPFS) \ + $(wildcard include/config/SYSFS_DEPRECATED) \ + include/linux/dev_printk.h \ + include/linux/ratelimit.h \ + include/linux/sched.h \ + $(wildcard include/config/VIRT_CPU_ACCOUNTING_NATIVE) \ + $(wildcard include/config/SCHED_INFO) \ + $(wildcard include/config/SCHEDSTATS) \ + $(wildcard include/config/FAIR_GROUP_SCHED) \ + $(wildcard include/config/RT_GROUP_SCHED) \ + $(wildcard include/config/RT_MUTEXES) \ + $(wildcard include/config/UCLAMP_TASK) \ + $(wildcard include/config/UCLAMP_BUCKETS_COUNT) \ + $(wildcard include/config/KMAP_LOCAL) \ + $(wildcard include/config/SCHED_CORE) \ + $(wildcard include/config/CGROUP_SCHED) \ + $(wildcard include/config/BLK_DEV_IO_TRACE) \ + $(wildcard include/config/PSI) \ + $(wildcard include/config/COMPAT_BRK) \ + $(wildcard include/config/CGROUPS) \ + $(wildcard include/config/BLK_CGROUP) \ + $(wildcard include/config/PAGE_OWNER) \ + $(wildcard include/config/EVENTFD) \ + $(wildcard include/config/ARCH_HAS_SCALED_CPUTIME) \ + $(wildcard include/config/VIRT_CPU_ACCOUNTING_GEN) \ + $(wildcard include/config/POSIX_CPUTIMERS) \ + $(wildcard include/config/POSIX_CPU_TIMERS_TASK_WORK) \ + $(wildcard include/config/KEYS) \ + $(wildcard include/config/SYSVIPC) \ + $(wildcard include/config/DETECT_HUNG_TASK) \ + $(wildcard include/config/IO_URING) \ + $(wildcard include/config/AUDIT) \ + $(wildcard include/config/AUDITSYSCALL) \ + $(wildcard include/config/UBSAN) \ + $(wildcard include/config/UBSAN_TRAP) \ + $(wildcard include/config/BLOCK) \ + $(wildcard include/config/TASK_XACCT) \ + $(wildcard include/config/CPUSETS) \ + $(wildcard include/config/X86_CPU_RESCTRL) \ + $(wildcard include/config/FUTEX) \ + $(wildcard include/config/PERF_EVENTS) \ + $(wildcard include/config/RSEQ) \ + $(wildcard include/config/TASK_DELAY_ACCT) \ + $(wildcard include/config/FAULT_INJECTION) \ + $(wildcard include/config/LATENCYTOP) \ + $(wildcard include/config/KUNIT) \ + $(wildcard include/config/FUNCTION_GRAPH_TRACER) \ + $(wildcard include/config/BCACHE) \ + $(wildcard include/config/VMAP_STACK) \ + $(wildcard include/config/SECURITY) \ + $(wildcard include/config/BPF_SYSCALL) \ + $(wildcard include/config/GCC_PLUGIN_STACKLEAK) \ + $(wildcard include/config/X86_MCE) \ + $(wildcard include/config/KRETPROBES) \ + $(wildcard include/config/ARCH_HAS_PARANOID_L1D_FLUSH) \ + $(wildcard include/config/ARCH_TASK_STRUCT_ON_STACK) \ + $(wildcard include/config/DEBUG_RSEQ) \ + include/uapi/linux/sched.h \ + include/linux/pid.h \ + include/linux/rculist.h \ + $(wildcard include/config/PROVE_RCU_LIST) \ + include/linux/sem.h \ + include/uapi/linux/sem.h \ + include/linux/ipc.h \ + include/linux/rhashtable-types.h \ + include/uapi/linux/ipc.h \ + arch/x86/include/generated/uapi/asm/ipcbuf.h \ + include/uapi/asm-generic/ipcbuf.h \ + arch/x86/include/uapi/asm/sembuf.h \ + include/linux/shm.h \ + include/uapi/linux/shm.h \ + include/uapi/asm-generic/hugetlb_encode.h \ + arch/x86/include/uapi/asm/shmbuf.h \ + include/uapi/asm-generic/shmbuf.h \ + arch/x86/include/asm/shmparam.h \ + include/linux/plist.h \ + $(wildcard include/config/DEBUG_PLIST) \ + include/linux/hrtimer.h \ + $(wildcard include/config/HIGH_RES_TIMERS) \ + $(wildcard include/config/TIME_LOW_RES) \ + $(wildcard include/config/TIMERFD) \ + include/linux/hrtimer_defs.h \ + include/linux/timerqueue.h \ + include/linux/seccomp.h \ + $(wildcard include/config/SECCOMP) \ + $(wildcard include/config/HAVE_ARCH_SECCOMP_FILTER) \ + $(wildcard include/config/SECCOMP_FILTER) \ + $(wildcard include/config/CHECKPOINT_RESTORE) \ + $(wildcard include/config/SECCOMP_CACHE_DEBUG) \ + include/uapi/linux/seccomp.h \ + arch/x86/include/asm/seccomp.h \ + arch/x86/include/asm/unistd.h \ + arch/x86/include/uapi/asm/unistd.h \ + arch/x86/include/generated/uapi/asm/unistd_64.h \ + arch/x86/include/generated/asm/unistd_64_x32.h \ + arch/x86/include/generated/asm/unistd_32_ia32.h \ + arch/x86/include/asm/ia32_unistd.h \ + include/asm-generic/seccomp.h \ + include/uapi/linux/unistd.h \ + include/linux/resource.h \ + include/uapi/linux/resource.h \ + arch/x86/include/generated/uapi/asm/resource.h \ + include/asm-generic/resource.h \ + include/uapi/asm-generic/resource.h \ + include/linux/latencytop.h \ + include/linux/sched/prio.h \ + include/linux/sched/types.h \ + include/linux/signal_types.h \ + $(wildcard include/config/OLD_SIGACTION) \ + include/uapi/linux/signal.h \ + arch/x86/include/asm/signal.h \ + arch/x86/include/uapi/asm/signal.h \ + include/uapi/asm-generic/signal-defs.h \ + arch/x86/include/uapi/asm/siginfo.h \ + include/uapi/asm-generic/siginfo.h \ + include/linux/syscall_user_dispatch.h \ + include/linux/task_io_accounting.h \ + $(wildcard include/config/TASK_IO_ACCOUNTING) \ + include/linux/posix-timers.h \ + include/linux/alarmtimer.h \ + $(wildcard include/config/RTC_CLASS) \ + include/linux/task_work.h \ + include/uapi/linux/rseq.h \ + include/linux/kcsan.h \ + arch/x86/include/generated/asm/kmap_size.h \ + include/asm-generic/kmap_size.h \ + $(wildcard include/config/DEBUG_KMAP_LOCAL) \ + include/linux/energy_model.h \ + include/linux/sched/cpufreq.h \ + $(wildcard include/config/CPU_FREQ) \ + include/linux/sched/topology.h \ + $(wildcard include/config/SCHED_DEBUG) \ + $(wildcard include/config/SCHED_MC) \ + $(wildcard include/config/CPU_FREQ_GOV_SCHEDUTIL) \ + include/linux/sched/idle.h \ + include/linux/sched/sd_flags.h \ + include/linux/ioport.h \ + include/linux/klist.h \ + include/linux/pm.h \ + $(wildcard include/config/VT_CONSOLE_SLEEP) \ + $(wildcard include/config/PM_CLK) \ + $(wildcard include/config/PM_GENERIC_DOMAINS) \ + include/linux/device/bus.h \ + include/linux/device/class.h \ + include/linux/device/driver.h \ + arch/x86/include/asm/device.h \ + include/linux/pm_wakeup.h \ + include/uapi/linux/usb/ch9.h \ + include/linux/delay.h \ + arch/x86/include/asm/delay.h \ + include/asm-generic/delay.h \ + include/linux/interrupt.h \ + $(wildcard include/config/IRQ_FORCED_THREADING) \ + $(wildcard include/config/GENERIC_IRQ_PROBE) \ + $(wildcard include/config/IRQ_TIMINGS) \ + include/linux/irqreturn.h \ + include/linux/irqnr.h \ + include/uapi/linux/irqnr.h \ + include/linux/hardirq.h \ + include/linux/context_tracking_state.h \ + $(wildcard include/config/CONTEXT_TRACKING) \ + include/linux/ftrace_irq.h \ + $(wildcard include/config/HWLAT_TRACER) \ + $(wildcard include/config/OSNOISE_TRACER) \ + include/linux/vtime.h \ + $(wildcard include/config/VIRT_CPU_ACCOUNTING) \ + $(wildcard include/config/IRQ_TIME_ACCOUNTING) \ + arch/x86/include/asm/hardirq.h \ + $(wildcard include/config/KVM_INTEL) \ + $(wildcard include/config/HAVE_KVM) \ + $(wildcard include/config/X86_THERMAL_VECTOR) \ + $(wildcard include/config/X86_MCE_THRESHOLD) \ + $(wildcard include/config/X86_MCE_AMD) \ + $(wildcard include/config/X86_HV_CALLBACK_VECTOR) \ + $(wildcard include/config/HYPERV) \ + arch/x86/include/asm/irq.h \ + arch/x86/include/asm/irq_vectors.h \ + $(wildcard include/config/X86_IO_APIC) \ + $(wildcard include/config/PCI_MSI) \ + arch/x86/include/asm/sections.h \ + include/asm-generic/sections.h \ + arch/x86/include/asm/extable.h \ + $(wildcard include/config/BPF_JIT) \ + include/linux/fs.h \ + $(wildcard include/config/READ_ONLY_THP_FOR_FS) \ + $(wildcard include/config/FS_POSIX_ACL) \ + $(wildcard include/config/CGROUP_WRITEBACK) \ + $(wildcard include/config/IMA) \ + $(wildcard include/config/FILE_LOCKING) \ + $(wildcard include/config/FSNOTIFY) \ + $(wildcard include/config/FS_ENCRYPTION) \ + $(wildcard include/config/FS_VERITY) \ + $(wildcard include/config/EPOLL) \ + $(wildcard include/config/UNICODE) \ + $(wildcard include/config/QUOTA) \ + $(wildcard include/config/BLK_DEV_LOOP) \ + $(wildcard include/config/FS_DAX) \ + $(wildcard include/config/MIGRATION) \ + include/linux/wait_bit.h \ + include/linux/kdev_t.h \ + include/uapi/linux/kdev_t.h \ + include/linux/dcache.h \ + include/linux/rculist_bl.h \ + include/linux/list_bl.h \ + include/linux/bit_spinlock.h \ + include/linux/lockref.h \ + $(wildcard include/config/ARCH_USE_CMPXCHG_LOCKREF) \ + include/linux/stringhash.h \ + $(wildcard include/config/DCACHE_WORD_ACCESS) \ + include/linux/hash.h \ + $(wildcard include/config/HAVE_ARCH_HASH) \ + include/linux/path.h \ + include/linux/list_lru.h \ + $(wildcard include/config/MEMCG_KMEM) \ + include/linux/shrinker.h \ + include/linux/capability.h \ + include/uapi/linux/capability.h \ + include/linux/semaphore.h \ + include/linux/fcntl.h \ + $(wildcard include/config/ARCH_32BIT_OFF_T) \ + include/uapi/linux/fcntl.h \ + arch/x86/include/generated/uapi/asm/fcntl.h \ + include/uapi/asm-generic/fcntl.h \ + include/uapi/linux/openat2.h \ + include/linux/migrate_mode.h \ + include/linux/percpu-rwsem.h \ + include/linux/rcuwait.h \ + include/linux/sched/signal.h \ + $(wildcard include/config/SCHED_AUTOGROUP) \ + $(wildcard include/config/BSD_PROCESS_ACCT) \ + $(wildcard include/config/TASKSTATS) \ + $(wildcard include/config/STACK_GROWSUP) \ + include/linux/signal.h \ + $(wildcard include/config/DYNAMIC_SIGFRAME) \ + include/linux/sched/jobctl.h \ + include/linux/sched/task.h \ + $(wildcard include/config/HAVE_EXIT_THREAD) \ + $(wildcard include/config/ARCH_WANTS_DYNAMIC_TASK_STRUCT) \ + $(wildcard include/config/HAVE_ARCH_THREAD_STRUCT_WHITELIST) \ + include/linux/uaccess.h \ + $(wildcard include/config/SET_FS) \ + include/linux/fault-inject-usercopy.h \ + $(wildcard include/config/FAULT_INJECTION_USERCOPY) \ + arch/x86/include/asm/uaccess.h \ + $(wildcard include/config/CC_HAS_ASM_GOTO_OUTPUT) \ + $(wildcard include/config/CC_ASM_GOTO_OUTPUT) \ + $(wildcard include/config/CC_HAS_ASM_GOTO_TIED_OUTPUT) \ + $(wildcard include/config/ARCH_HAS_COPY_MC) \ + $(wildcard include/config/X86_INTEL_USERCOPY) \ + arch/x86/include/asm/smap.h \ + arch/x86/include/asm/uaccess_64.h \ + include/linux/cred.h \ + $(wildcard include/config/DEBUG_CREDENTIALS) \ + include/linux/key.h \ + $(wildcard include/config/KEY_NOTIFICATIONS) \ + $(wildcard include/config/NET) \ + include/linux/assoc_array.h \ + $(wildcard include/config/ASSOCIATIVE_ARRAY) \ + include/linux/sched/user.h \ + $(wildcard include/config/VFIO_PCI_ZDEV_KVM) \ + $(wildcard include/config/WATCH_QUEUE) \ + include/linux/percpu_counter.h \ + include/linux/rcu_sync.h \ + include/linux/delayed_call.h \ + include/linux/errseq.h \ + include/linux/ioprio.h \ + include/linux/sched/rt.h \ + include/linux/iocontext.h \ + include/uapi/linux/ioprio.h \ + include/linux/fs_types.h \ + include/linux/mount.h \ + include/linux/mnt_idmapping.h \ + include/uapi/linux/fs.h \ + include/linux/quota.h \ + $(wildcard include/config/QUOTA_NETLINK_INTERFACE) \ + include/uapi/linux/dqblk_xfs.h \ + include/linux/dqblk_v1.h \ + include/linux/dqblk_v2.h \ + include/linux/dqblk_qtree.h \ + include/linux/projid.h \ + include/uapi/linux/quota.h \ + include/linux/nfs_fs_i.h \ + include/linux/pm_runtime.h \ + include/linux/slab.h \ + $(wildcard include/config/DEBUG_SLAB) \ + $(wildcard include/config/FAILSLAB) \ + $(wildcard include/config/HAVE_HARDENED_USERCOPY_ALLOCATOR) \ + $(wildcard include/config/SLAB) \ + $(wildcard include/config/SLUB) \ + $(wildcard include/config/SLOB) \ + $(wildcard include/config/CC_IS_GCC) \ + $(wildcard include/config/CLANG_VERSION) \ + include/linux/percpu-refcount.h \ + include/linux/kasan.h \ + $(wildcard include/config/KASAN_STACK) \ + $(wildcard include/config/KASAN_VMALLOC) \ + +/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o: $(deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o) + +$(deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o): diff --git a/smartlamp-kernel-module/Makefile b/smartlamp-kernel-module/Makefile index be05f47..3847ec2 100644 --- a/smartlamp-kernel-module/Makefile +++ b/smartlamp-kernel-module/Makefile @@ -1,4 +1,4 @@ -obj-m += SUBISTITUA_PELO_NOME_DO_MODULO.o +obj-m += probe.o PWD := $(CURDIR) all: diff --git a/smartlamp-kernel-module/Module.symvers b/smartlamp-kernel-module/Module.symvers new file mode 100644 index 0000000..e69de29 diff --git a/smartlamp-kernel-module/modules.order b/smartlamp-kernel-module/modules.order new file mode 100644 index 0000000..712f1f1 --- /dev/null +++ b/smartlamp-kernel-module/modules.order @@ -0,0 +1 @@ +/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.ko diff --git a/smartlamp-kernel-module/probe.c b/smartlamp-kernel-module/probe.c index 7374e5c..c9c9097 100644 --- a/smartlamp-kernel-module/probe.c +++ b/smartlamp-kernel-module/probe.c @@ -14,8 +14,9 @@ static uint usb_in, usb_out; // Endereços das portas de e static char *usb_in_buffer, *usb_out_buffer; // Buffers de entrada e saída da USB static int usb_max_size; // Tamanho máximo de uma mensagem USB -#define VENDOR_ID SUBSTITUA_PELO_VENDORID /* Encontre o VendorID do smartlamp */ -#define PRODUCT_ID SUBSTITUA_PELO_PRODUCTID /* Encontre o ProductID do smartlamp */ +#define VENDOR_ID 0x10c4 // Vendor ID smartlamp +#define PRODUCT_ID 0xea60 // Product ID smartlamp + static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} }; static int usb_probe(struct usb_interface *ifce, const struct usb_device_id *id); // Executado quando o dispositivo é conectado na USB diff --git a/smartlamp-kernel-module/probe.ko b/smartlamp-kernel-module/probe.ko new file mode 100644 index 0000000000000000000000000000000000000000..2f3ec9f4a6ecf654317f0aa8d802b743a7715bdc GIT binary patch literal 231624 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 z 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 UZ)=`*es+C8>pr(~XYl<01A3#+c>n+a literal 0 HcmV?d00001 diff --git a/smartlamp-kernel-module/probe.mod b/smartlamp-kernel-module/probe.mod new file mode 100644 index 0000000..93fdef0 --- /dev/null +++ b/smartlamp-kernel-module/probe.mod @@ -0,0 +1,2 @@ +/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o + diff --git a/smartlamp-kernel-module/probe.mod.c b/smartlamp-kernel-module/probe.mod.c new file mode 100644 index 0000000..4204789 --- /dev/null +++ b/smartlamp-kernel-module/probe.mod.c @@ -0,0 +1,46 @@ +#include +#define INCLUDE_VERMAGIC +#include +#include +#include +#include + +BUILD_SALT; +BUILD_LTO_INFO; + +MODULE_INFO(vermagic, VERMAGIC_STRING); +MODULE_INFO(name, KBUILD_MODNAME); + +__visible struct module __this_module +__section(".gnu.linkonce.this_module") = { + .name = KBUILD_MODNAME, + .init = init_module, +#ifdef CONFIG_MODULE_UNLOAD + .exit = cleanup_module, +#endif + .arch = MODULE_ARCH_INIT, +}; + +#ifdef CONFIG_RETPOLINE +MODULE_INFO(retpoline, "Y"); +#endif + +static const struct modversion_info ____versions[] +__used __section("__versions") = { + { 0xdc658e53, "module_layout" }, + { 0xaad01b89, "usb_deregister" }, + { 0xd670cf94, "usb_register_driver" }, + { 0xd0da656b, "__stack_chk_fail" }, + { 0xeb233a45, "__kmalloc" }, + { 0x93c7edeb, "usb_find_common_endpoints" }, + { 0x5b8239ca, "__x86_return_thunk" }, + { 0x37a0cba, "kfree" }, + { 0x92997ed8, "_printk" }, + { 0xbdfb6dbb, "__fentry__" }, +}; + +MODULE_INFO(depends, ""); + +MODULE_ALIAS("usb:v10C4pEA60d*dc*dsc*dp*ic*isc*ip*in*"); + +MODULE_INFO(srcversion, "570BF91448D07AEE4847187"); diff --git a/smartlamp-kernel-module/probe.mod.o b/smartlamp-kernel-module/probe.mod.o new file mode 100644 index 0000000000000000000000000000000000000000..6d40353ab702b7f497eb4ec16b4592cbc77e3a73 GIT binary patch literal 50688 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 Mc*zyiZ(IKV0M@$kmjD0& literal 0 HcmV?d00001 diff --git a/smartlamp-kernel-module/probe.o b/smartlamp-kernel-module/probe.o new file mode 100644 index 0000000000000000000000000000000000000000..e7554b93be4e3866fbebeaa1819d5ee82d9b4374 GIT binary patch literal 182384 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 If8PK98>&V+k^lez literal 0 HcmV?d00001 From bdc3a2d942792d9febd406920d23ca51cc695a0b Mon Sep 17 00:00:00 2001 From: Mikael Hayden <62375520+mikaelhayden@users.noreply.github.com> Date: Wed, 15 May 2024 20:51:12 -0400 Subject: [PATCH 02/10] Add files via upload testes --- teste.ino | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ testeLed.ino | 22 ++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 teste.ino create mode 100644 testeLed.ino diff --git a/teste.ino b/teste.ino new file mode 100644 index 0000000..b101620 --- /dev/null +++ b/teste.ino @@ -0,0 +1,48 @@ +// Defina os pinos de LED e LDR +// Defina uma variável com valor máximo do LDR (4000) +// Defina uma variável para guardar o valor atual do LED (10) + +int ledPin ; +int ledValue; + +int ldrPin; +int ldrMax; +char comando; + + +void setup() { + Serial.begin(9600); + + pinMode(ledPin, OUTPUT); + pinMode(ldrPin, INPUT); + + Serial.printf("SmartLamp Initialized.\n"); + + +} + +// Função loop será executada infinitamente pelo ESP32 +void loop() { + comando = Serial.read(); + if( comando == 'C') + { + Serial.printf("Comando valido\n"); + } + //Obtenha os comandos enviados pela serial + //e processe-os com a função processCommand +} + + +void processCommand(String command) { + // compare o comando com os comandos possíveis e execute a ação correspondente +} + +// Função para atualizar o valor do LED +void ledUpdate() { + // Normalize o valor do LED antes de enviar para a porta correspondente +} + +// Função para ler o valor do LDR +int ldrGetValue() { + // Leia o sensor LDR e retorne o valor normalizado +} diff --git a/testeLed.ino b/testeLed.ino new file mode 100644 index 0000000..5ff0b7a --- /dev/null +++ b/testeLed.ino @@ -0,0 +1,22 @@ + +int ledPin = 23; +float sinVal; +int ledVal=10; + +void setup() +{ + pinMode(ledPin, OUTPUT); +} + +void loop() +{ + //normalize = map(ledVal, 0, 100, 0, 255); + for (int x=0; x<180; x++) + { + // converte graus para radianos e então obtém o valor do seno + sinVal = (sin(x*(3.1412/180))); + ledVal = int(sinVal*255); + analogWrite(ledPin, ledVal); + delay(25); + } +} From c54ae95832e1c62b4c6f9d823066c8b708044bdb Mon Sep 17 00:00:00 2001 From: Lucas Batista Date: Fri, 17 May 2024 17:18:45 -0400 Subject: [PATCH 03/10] Adicionando arquivo de teste do LDR --- testeLDR.ino | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 testeLDR.ino diff --git a/testeLDR.ino b/testeLDR.ino new file mode 100644 index 0000000..b759f5f --- /dev/null +++ b/testeLDR.ino @@ -0,0 +1,14 @@ +const int ldrPin = 12; +int ldrValue = 0; + +void setup() { + Serial.begin(115200); + delay(1000); +} + +void loop() { + ldrValue = analogRead(ldrPin); + Serial.print("LDR value: "); + Serial.println(ldrValue); + delay(500); +} \ No newline at end of file From 8118c6540c3c1da844facd4a4b621d77a15248b2 Mon Sep 17 00:00:00 2001 From: Wendell Date: Fri, 17 May 2024 20:45:20 -0400 Subject: [PATCH 04/10] Arquivo serial.c corrigido --- smartlamp-kernel-module/.Module.symvers.cmd | 2 +- smartlamp-kernel-module/.modules.order.cmd | 2 +- smartlamp-kernel-module/.serial.ko.cmd | 1 + smartlamp-kernel-module/.serial.mod.cmd | 1 + smartlamp-kernel-module/.serial.mod.o.cmd | 706 ++++++++++++++ smartlamp-kernel-module/.serial.o.cmd | 994 ++++++++++++++++++++ smartlamp-kernel-module/Makefile | 2 +- smartlamp-kernel-module/modules.order | 2 +- smartlamp-kernel-module/serial.c | 12 +- smartlamp-kernel-module/serial.ko | Bin 0 -> 235600 bytes smartlamp-kernel-module/serial.mod | 2 + smartlamp-kernel-module/serial.mod.c | 49 + smartlamp-kernel-module/serial.mod.o | Bin 0 -> 50856 bytes smartlamp-kernel-module/serial.o | Bin 0 -> 186192 bytes 14 files changed, 1766 insertions(+), 7 deletions(-) create mode 100644 smartlamp-kernel-module/.serial.ko.cmd create mode 100644 smartlamp-kernel-module/.serial.mod.cmd create mode 100644 smartlamp-kernel-module/.serial.mod.o.cmd create mode 100644 smartlamp-kernel-module/.serial.o.cmd create mode 100644 smartlamp-kernel-module/serial.ko create mode 100644 smartlamp-kernel-module/serial.mod create mode 100644 smartlamp-kernel-module/serial.mod.c create mode 100644 smartlamp-kernel-module/serial.mod.o create mode 100644 smartlamp-kernel-module/serial.o diff --git a/smartlamp-kernel-module/.Module.symvers.cmd b/smartlamp-kernel-module/.Module.symvers.cmd index 31e17eb..f87a467 100644 --- a/smartlamp-kernel-module/.Module.symvers.cmd +++ b/smartlamp-kernel-module/.Module.symvers.cmd @@ -1 +1 @@ -cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/Module.symvers := sed 's/\.ko$$/\.o/' /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/modules.order | scripts/mod/modpost -m -a -o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/Module.symvers -e -i Module.symvers -T - +cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/Module.symvers := sed 's/\.ko$$/\.o/' /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/modules.order | scripts/mod/modpost -m -a -o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/Module.symvers -e -i Module.symvers -T - diff --git a/smartlamp-kernel-module/.modules.order.cmd b/smartlamp-kernel-module/.modules.order.cmd index 5f03925..a871f89 100644 --- a/smartlamp-kernel-module/.modules.order.cmd +++ b/smartlamp-kernel-module/.modules.order.cmd @@ -1 +1 @@ -cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/modules.order := { echo /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.ko; :; } | awk '!x[$$0]++' - > /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/modules.order +cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/modules.order := { echo /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.ko; :; } | awk '!x[$$0]++' - > /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/modules.order diff --git a/smartlamp-kernel-module/.serial.ko.cmd b/smartlamp-kernel-module/.serial.ko.cmd new file mode 100644 index 0000000..d1681d7 --- /dev/null +++ b/smartlamp-kernel-module/.serial.ko.cmd @@ -0,0 +1 @@ +cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.ko := ld -r -m elf_x86_64 -z noexecstack --build-id=sha1 -T scripts/module.lds -o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.ko /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o; true diff --git a/smartlamp-kernel-module/.serial.mod.cmd b/smartlamp-kernel-module/.serial.mod.cmd new file mode 100644 index 0000000..b2bbb46 --- /dev/null +++ b/smartlamp-kernel-module/.serial.mod.cmd @@ -0,0 +1 @@ +cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod := { echo /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o; echo; } > /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod diff --git a/smartlamp-kernel-module/.serial.mod.o.cmd b/smartlamp-kernel-module/.serial.mod.o.cmd new file mode 100644 index 0000000..f11ddf3 --- /dev/null +++ b/smartlamp-kernel-module/.serial.mod.o.cmd @@ -0,0 +1,706 @@ +cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o := gcc -Wp,-MMD,/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/.serial.mod.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -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=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"serial.mod"' -DKBUILD_MODNAME='"serial"' -D__KBUILD_MODNAME=kmod_serial -c -o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.c + +source_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o := /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.c + +deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o := \ + $(wildcard include/config/MODULE_UNLOAD) \ + $(wildcard include/config/RETPOLINE) \ + include/linux/compiler-version.h \ + $(wildcard include/config/CC_VERSION_TEXT) \ + include/linux/kconfig.h \ + $(wildcard include/config/CPU_BIG_ENDIAN) \ + $(wildcard include/config/BOOGER) \ + $(wildcard include/config/FOO) \ + include/linux/compiler_types.h \ + $(wildcard include/config/HAVE_ARCH_COMPILER_H) \ + $(wildcard include/config/CC_HAS_ASM_INLINE) \ + include/linux/compiler_attributes.h \ + include/linux/compiler-gcc.h \ + $(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \ + $(wildcard include/config/KCOV) \ + include/linux/module.h \ + $(wildcard include/config/MODULES) \ + $(wildcard include/config/SYSFS) \ + $(wildcard include/config/MODULES_TREE_LOOKUP) \ + $(wildcard include/config/LIVEPATCH) \ + $(wildcard include/config/STACKTRACE_BUILD_ID) \ + $(wildcard include/config/CFI_CLANG) \ + $(wildcard include/config/MODULE_SIG) \ + $(wildcard include/config/GENERIC_BUG) \ + $(wildcard include/config/KALLSYMS) \ + $(wildcard include/config/SMP) \ + $(wildcard include/config/TRACEPOINTS) \ + $(wildcard include/config/TREE_SRCU) \ + $(wildcard include/config/BPF_EVENTS) \ + $(wildcard include/config/DEBUG_INFO_BTF_MODULES) \ + $(wildcard include/config/JUMP_LABEL) \ + $(wildcard include/config/TRACING) \ + $(wildcard include/config/EVENT_TRACING) \ + $(wildcard include/config/FTRACE_MCOUNT_RECORD) \ + $(wildcard include/config/KPROBES) \ + $(wildcard include/config/HAVE_STATIC_CALL_INLINE) \ + $(wildcard include/config/PRINTK_INDEX) \ + $(wildcard include/config/CONSTRUCTORS) \ + $(wildcard include/config/FUNCTION_ERROR_INJECTION) \ + include/linux/list.h \ + $(wildcard include/config/DEBUG_LIST) \ + include/linux/types.h \ + $(wildcard include/config/HAVE_UID16) \ + $(wildcard include/config/UID16) \ + $(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \ + $(wildcard include/config/PHYS_ADDR_T_64BIT) \ + $(wildcard include/config/64BIT) \ + $(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \ + include/uapi/linux/types.h \ + arch/x86/include/generated/uapi/asm/types.h \ + include/uapi/asm-generic/types.h \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + arch/x86/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + include/uapi/linux/posix_types.h \ + include/linux/stddef.h \ + include/uapi/linux/stddef.h \ + include/linux/compiler_types.h \ + arch/x86/include/asm/posix_types.h \ + $(wildcard include/config/X86_32) \ + arch/x86/include/uapi/asm/posix_types_64.h \ + include/uapi/asm-generic/posix_types.h \ + include/linux/poison.h \ + $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ + include/linux/const.h \ + include/vdso/const.h \ + include/uapi/linux/const.h \ + include/linux/kernel.h \ + $(wildcard include/config/PREEMPT_VOLUNTARY) \ + $(wildcard include/config/PREEMPT_DYNAMIC) \ + $(wildcard include/config/PREEMPT_) \ + $(wildcard include/config/DEBUG_ATOMIC_SLEEP) \ + $(wildcard include/config/MMU) \ + $(wildcard include/config/PROVE_LOCKING) \ + include/linux/stdarg.h \ + include/linux/align.h \ + include/linux/limits.h \ + include/uapi/linux/limits.h \ + include/vdso/limits.h \ + include/linux/linkage.h \ + $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ + include/linux/stringify.h \ + include/linux/export.h \ + $(wildcard include/config/MODVERSIONS) \ + $(wildcard include/config/MODULE_REL_CRCS) \ + $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ + $(wildcard include/config/TRIM_UNUSED_KSYMS) \ + include/linux/compiler.h \ + $(wildcard include/config/TRACE_BRANCH_PROFILING) \ + $(wildcard include/config/PROFILE_ALL_BRANCHES) \ + $(wildcard include/config/STACK_VALIDATION) \ + arch/x86/include/generated/asm/rwonce.h \ + include/asm-generic/rwonce.h \ + include/linux/kasan-checks.h \ + $(wildcard include/config/KASAN_GENERIC) \ + $(wildcard include/config/KASAN_SW_TAGS) \ + include/linux/kcsan-checks.h \ + $(wildcard include/config/KCSAN) \ + $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ + arch/x86/include/asm/linkage.h \ + $(wildcard include/config/X86_64) \ + $(wildcard include/config/X86_ALIGNMENT_16) \ + $(wildcard include/config/RETHUNK) \ + $(wildcard include/config/SLS) \ + include/linux/bitops.h \ + include/linux/bits.h \ + include/vdso/bits.h \ + include/linux/build_bug.h \ + include/linux/typecheck.h \ + include/uapi/linux/kernel.h \ + include/uapi/linux/sysinfo.h \ + arch/x86/include/asm/bitops.h \ + $(wildcard include/config/X86_CMOV) \ + arch/x86/include/asm/alternative.h \ + arch/x86/include/asm/asm.h \ + arch/x86/include/asm/extable_fixup_types.h \ + arch/x86/include/asm/rmwcc.h \ + $(wildcard include/config/CC_HAS_ASM_GOTO) \ + arch/x86/include/asm/barrier.h \ + arch/x86/include/asm/nops.h \ + include/asm-generic/barrier.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/GENERIC_FIND_FIRST_BIT) \ + include/asm-generic/bitops/sched.h \ + arch/x86/include/asm/arch_hweight.h \ + arch/x86/include/asm/cpufeatures.h \ + arch/x86/include/asm/required-features.h \ + $(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \ + $(wildcard include/config/MATH_EMULATION) \ + $(wildcard include/config/X86_PAE) \ + $(wildcard include/config/X86_CMPXCHG64) \ + $(wildcard include/config/X86_USE_3DNOW) \ + $(wildcard include/config/X86_P6_NOP) \ + $(wildcard include/config/MATOM) \ + $(wildcard include/config/PARAVIRT_XXL) \ + arch/x86/include/asm/disabled-features.h \ + $(wildcard include/config/X86_SMAP) \ + $(wildcard include/config/X86_UMIP) \ + $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ + $(wildcard include/config/X86_5LEVEL) \ + $(wildcard include/config/PAGE_TABLE_ISOLATION) \ + $(wildcard include/config/CPU_UNRET_ENTRY) \ + $(wildcard include/config/X86_SGX) \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/instrumented-atomic.h \ + include/linux/instrumented.h \ + include/asm-generic/bitops/instrumented-non-atomic.h \ + $(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \ + include/asm-generic/bitops/instrumented-lock.h \ + include/asm-generic/bitops/le.h \ + arch/x86/include/uapi/asm/byteorder.h \ + include/linux/byteorder/little_endian.h \ + include/uapi/linux/byteorder/little_endian.h \ + include/linux/swab.h \ + include/uapi/linux/swab.h \ + arch/x86/include/uapi/asm/swab.h \ + include/linux/byteorder/generic.h \ + include/asm-generic/bitops/ext2-atomic-setbit.h \ + include/linux/kstrtox.h \ + include/linux/log2.h \ + $(wildcard include/config/ARCH_HAS_ILOG2_U32) \ + $(wildcard include/config/ARCH_HAS_ILOG2_U64) \ + include/linux/math.h \ + arch/x86/include/asm/div64.h \ + include/asm-generic/div64.h \ + include/linux/minmax.h \ + include/linux/panic.h \ + $(wildcard include/config/PANIC_TIMEOUT) \ + include/linux/printk.h \ + $(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \ + $(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \ + $(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \ + $(wildcard include/config/EARLY_PRINTK) \ + $(wildcard include/config/PRINTK) \ + $(wildcard include/config/DYNAMIC_DEBUG) \ + $(wildcard include/config/DYNAMIC_DEBUG_CORE) \ + include/linux/init.h \ + $(wildcard include/config/STRICT_KERNEL_RWX) \ + $(wildcard include/config/STRICT_MODULE_RWX) \ + $(wildcard include/config/LTO_CLANG) \ + include/linux/kern_levels.h \ + include/linux/cache.h \ + $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ + arch/x86/include/asm/cache.h \ + $(wildcard include/config/X86_L1_CACHE_SHIFT) \ + $(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \ + $(wildcard include/config/X86_VSMP) \ + include/linux/ratelimit_types.h \ + include/uapi/linux/param.h \ + arch/x86/include/generated/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/HZ) \ + include/uapi/asm-generic/param.h \ + include/linux/spinlock_types.h \ + $(wildcard include/config/PREEMPT_RT) \ + $(wildcard include/config/DEBUG_LOCK_ALLOC) \ + include/linux/spinlock_types_raw.h \ + $(wildcard include/config/DEBUG_SPINLOCK) \ + arch/x86/include/asm/spinlock_types.h \ + include/asm-generic/qspinlock_types.h \ + $(wildcard include/config/NR_CPUS) \ + include/asm-generic/qrwlock_types.h \ + include/linux/lockdep_types.h \ + $(wildcard include/config/PROVE_RAW_LOCK_NESTING) \ + $(wildcard include/config/PREEMPT_LOCK) \ + $(wildcard include/config/LOCKDEP) \ + $(wildcard include/config/LOCK_STAT) \ + include/linux/rwlock_types.h \ + include/linux/once_lite.h \ + include/linux/dynamic_debug.h \ + include/linux/jump_label.h \ + $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ + arch/x86/include/asm/jump_label.h \ + include/linux/static_call_types.h \ + $(wildcard include/config/HAVE_STATIC_CALL) \ + include/linux/stat.h \ + arch/x86/include/uapi/asm/stat.h \ + include/uapi/linux/stat.h \ + include/linux/time.h \ + $(wildcard include/config/POSIX_TIMERS) \ + include/linux/math64.h \ + $(wildcard include/config/ARCH_SUPPORTS_INT128) \ + include/vdso/math64.h \ + include/linux/time64.h \ + include/vdso/time64.h \ + include/uapi/linux/time.h \ + include/uapi/linux/time_types.h \ + include/linux/time32.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + arch/x86/include/asm/timex.h \ + $(wildcard include/config/X86_TSC) \ + arch/x86/include/asm/processor.h \ + $(wildcard include/config/X86_VMX_FEATURE_NAMES) \ + $(wildcard include/config/X86_IOPL_IOPERM) \ + $(wildcard include/config/STACKPROTECTOR) \ + $(wildcard include/config/VM86) \ + $(wildcard include/config/X86_DEBUGCTLMSR) \ + $(wildcard include/config/CPU_SUP_AMD) \ + $(wildcard include/config/XEN) \ + arch/x86/include/asm/processor-flags.h \ + arch/x86/include/uapi/asm/processor-flags.h \ + include/linux/mem_encrypt.h \ + $(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \ + $(wildcard include/config/AMD_MEM_ENCRYPT) \ + arch/x86/include/asm/mem_encrypt.h \ + include/linux/cc_platform.h \ + $(wildcard include/config/ARCH_HAS_CC_PLATFORM) \ + arch/x86/include/uapi/asm/bootparam.h \ + include/linux/screen_info.h \ + include/uapi/linux/screen_info.h \ + include/linux/apm_bios.h \ + include/uapi/linux/apm_bios.h \ + include/uapi/linux/ioctl.h \ + arch/x86/include/generated/uapi/asm/ioctl.h \ + include/asm-generic/ioctl.h \ + include/uapi/asm-generic/ioctl.h \ + include/linux/edd.h \ + include/uapi/linux/edd.h \ + arch/x86/include/asm/ist.h \ + arch/x86/include/uapi/asm/ist.h \ + include/video/edid.h \ + $(wildcard include/config/X86) \ + include/uapi/video/edid.h \ + arch/x86/include/asm/math_emu.h \ + arch/x86/include/asm/ptrace.h \ + $(wildcard include/config/PARAVIRT) \ + $(wildcard include/config/IA32_EMULATION) \ + arch/x86/include/asm/segment.h \ + $(wildcard include/config/XEN_PV) \ + arch/x86/include/asm/page_types.h \ + $(wildcard include/config/PHYSICAL_START) \ + $(wildcard include/config/PHYSICAL_ALIGN) \ + $(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \ + arch/x86/include/asm/page_64_types.h \ + $(wildcard include/config/KASAN) \ + $(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \ + $(wildcard include/config/RANDOMIZE_BASE) \ + arch/x86/include/asm/kaslr.h \ + $(wildcard include/config/RANDOMIZE_MEMORY) \ + arch/x86/include/uapi/asm/ptrace.h \ + arch/x86/include/uapi/asm/ptrace-abi.h \ + arch/x86/include/asm/paravirt_types.h \ + $(wildcard include/config/PGTABLE_LEVELS) \ + $(wildcard include/config/PARAVIRT_DEBUG) \ + arch/x86/include/asm/desc_defs.h \ + arch/x86/include/asm/pgtable_types.h \ + $(wildcard include/config/MEM_SOFT_DIRTY) \ + $(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \ + $(wildcard include/config/PROC_FS) \ + arch/x86/include/asm/pgtable_64_types.h \ + $(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \ + arch/x86/include/asm/sparsemem.h \ + $(wildcard include/config/SPARSEMEM) \ + $(wildcard include/config/NUMA_KEEP_MEMINFO) \ + arch/x86/include/asm/nospec-branch.h \ + $(wildcard include/config/CPU_SRSO) \ + $(wildcard include/config/CPU_IBPB_ENTRY) \ + include/linux/static_key.h \ + include/linux/objtool.h \ + $(wildcard include/config/FRAME_POINTER) \ + arch/x86/include/asm/msr-index.h \ + arch/x86/include/asm/unwind_hints.h \ + arch/x86/include/asm/orc_types.h \ + arch/x86/include/asm/percpu.h \ + $(wildcard include/config/X86_64_SMP) \ + include/asm-generic/percpu.h \ + $(wildcard include/config/DEBUG_PREEMPT) \ + $(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \ + include/linux/threads.h \ + $(wildcard include/config/BASE_SMALL) \ + include/linux/percpu-defs.h \ + $(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \ + arch/x86/include/asm/GEN-for-each-reg.h \ + arch/x86/include/asm/proto.h \ + arch/x86/include/uapi/asm/ldt.h \ + arch/x86/include/uapi/asm/sigcontext.h \ + arch/x86/include/asm/current.h \ + arch/x86/include/asm/page.h \ + arch/x86/include/asm/page_64.h \ + $(wildcard include/config/DEBUG_VIRTUAL) \ + $(wildcard include/config/FLATMEM) \ + $(wildcard include/config/X86_VSYSCALL_EMULATION) \ + include/linux/range.h \ + include/asm-generic/memory_model.h \ + $(wildcard include/config/SPARSEMEM_VMEMMAP) \ + include/linux/pfn.h \ + include/asm-generic/getorder.h \ + arch/x86/include/asm/msr.h \ + arch/x86/include/asm/msr-index.h \ + arch/x86/include/generated/uapi/asm/errno.h \ + include/uapi/asm-generic/errno.h \ + include/uapi/asm-generic/errno-base.h \ + arch/x86/include/asm/cpumask.h \ + include/linux/cpumask.h \ + $(wildcard include/config/CPUMASK_OFFSTACK) \ + $(wildcard include/config/HOTPLUG_CPU) \ + $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ + include/linux/bitmap.h \ + include/linux/string.h \ + $(wildcard include/config/BINARY_PRINTF) \ + $(wildcard include/config/FORTIFY_SOURCE) \ + include/linux/err.h \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + include/linux/overflow.h \ + include/uapi/linux/string.h \ + arch/x86/include/asm/string.h \ + arch/x86/include/asm/string_64.h \ + $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ + include/linux/fortify-string.h \ + include/linux/atomic.h \ + arch/x86/include/asm/atomic.h \ + arch/x86/include/asm/cmpxchg.h \ + arch/x86/include/asm/cmpxchg_64.h \ + arch/x86/include/asm/atomic64_64.h \ + include/linux/atomic/atomic-arch-fallback.h \ + $(wildcard include/config/GENERIC_ATOMIC64) \ + include/linux/atomic/atomic-long.h \ + include/linux/atomic/atomic-instrumented.h \ + include/linux/bug.h \ + $(wildcard include/config/BUG_ON_DATA_CORRUPTION) \ + arch/x86/include/asm/bug.h \ + $(wildcard include/config/DEBUG_BUGVERBOSE) \ + include/linux/instrumentation.h \ + $(wildcard include/config/DEBUG_ENTRY) \ + include/asm-generic/bug.h \ + $(wildcard include/config/BUG) \ + $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ + arch/x86/include/uapi/asm/msr.h \ + include/linux/tracepoint-defs.h \ + arch/x86/include/asm/paravirt.h \ + $(wildcard include/config/PARAVIRT_SPINLOCKS) \ + arch/x86/include/asm/frame.h \ + arch/x86/include/asm/special_insns.h \ + include/linux/irqflags.h \ + $(wildcard include/config/TRACE_IRQFLAGS) \ + $(wildcard include/config/IRQSOFF_TRACER) \ + $(wildcard include/config/PREEMPT_TRACER) \ + $(wildcard include/config/DEBUG_IRQFLAGS) \ + $(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \ + arch/x86/include/asm/irqflags.h \ + arch/x86/include/asm/fpu/types.h \ + arch/x86/include/asm/vmxfeatures.h \ + arch/x86/include/asm/vdso/processor.h \ + include/linux/personality.h \ + include/uapi/linux/personality.h \ + arch/x86/include/asm/tsc.h \ + arch/x86/include/asm/cpufeature.h \ + $(wildcard include/config/X86_FEATURE_NAMES) \ + include/vdso/time32.h \ + include/vdso/time.h \ + include/linux/uidgid.h \ + $(wildcard include/config/MULTIUSER) \ + $(wildcard include/config/USER_NS) \ + include/linux/highuid.h \ + include/linux/buildid.h \ + $(wildcard include/config/CRASH_CORE) \ + include/linux/mm_types.h \ + $(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \ + $(wildcard include/config/MEMCG) \ + $(wildcard include/config/USERFAULTFD) \ + $(wildcard include/config/SWAP) \ + $(wildcard include/config/NUMA) \ + $(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \ + $(wildcard include/config/MEMBARRIER) \ + $(wildcard include/config/AIO) \ + $(wildcard include/config/MMU_NOTIFIER) \ + $(wildcard include/config/TRANSPARENT_HUGEPAGE) \ + $(wildcard include/config/NUMA_BALANCING) \ + $(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \ + $(wildcard include/config/HUGETLB_PAGE) \ + $(wildcard include/config/IOMMU_SUPPORT) \ + include/linux/mm_types_task.h \ + $(wildcard include/config/SPLIT_PTLOCK_CPUS) \ + $(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \ + arch/x86/include/asm/tlbbatch.h \ + include/linux/auxvec.h \ + include/uapi/linux/auxvec.h \ + arch/x86/include/uapi/asm/auxvec.h \ + include/linux/spinlock.h \ + $(wildcard include/config/PREEMPTION) \ + include/linux/preempt.h \ + $(wildcard include/config/PREEMPT_COUNT) \ + $(wildcard include/config/TRACE_PREEMPT_TOGGLE) \ + $(wildcard include/config/PREEMPT_NOTIFIERS) \ + arch/x86/include/asm/preempt.h \ + include/linux/thread_info.h \ + $(wildcard include/config/THREAD_INFO_IN_TASK) \ + $(wildcard include/config/GENERIC_ENTRY) \ + $(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \ + $(wildcard include/config/HARDENED_USERCOPY) \ + include/linux/restart_block.h \ + arch/x86/include/asm/thread_info.h \ + $(wildcard include/config/COMPAT) \ + include/linux/bottom_half.h \ + include/linux/lockdep.h \ + $(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \ + include/linux/smp.h \ + $(wildcard include/config/UP_LATE_INIT) \ + include/linux/smp_types.h \ + include/linux/llist.h \ + $(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \ + arch/x86/include/asm/smp.h \ + $(wildcard include/config/X86_LOCAL_APIC) \ + $(wildcard include/config/DEBUG_NMI_SELFTEST) \ + arch/x86/include/generated/asm/mmiowb.h \ + include/asm-generic/mmiowb.h \ + $(wildcard include/config/MMIOWB) \ + arch/x86/include/asm/spinlock.h \ + arch/x86/include/asm/qspinlock.h \ + include/asm-generic/qspinlock.h \ + arch/x86/include/asm/qrwlock.h \ + include/asm-generic/qrwlock.h \ + include/linux/rwlock.h \ + $(wildcard include/config/PREEMPT) \ + include/linux/spinlock_api_smp.h \ + $(wildcard include/config/INLINE_SPIN_LOCK) \ + $(wildcard include/config/INLINE_SPIN_LOCK_BH) \ + $(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \ + $(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_SPIN_TRYLOCK) \ + $(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \ + $(wildcard include/config/UNINLINE_SPIN_UNLOCK) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \ + $(wildcard include/config/GENERIC_LOCKBREAK) \ + include/linux/rwlock_api_smp.h \ + $(wildcard include/config/INLINE_READ_LOCK) \ + $(wildcard include/config/INLINE_WRITE_LOCK) \ + $(wildcard include/config/INLINE_READ_LOCK_BH) \ + $(wildcard include/config/INLINE_WRITE_LOCK_BH) \ + $(wildcard include/config/INLINE_READ_LOCK_IRQ) \ + $(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \ + $(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_READ_TRYLOCK) \ + $(wildcard include/config/INLINE_WRITE_TRYLOCK) \ + $(wildcard include/config/INLINE_READ_UNLOCK) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK) \ + $(wildcard include/config/INLINE_READ_UNLOCK_BH) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \ + $(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \ + include/linux/rbtree.h \ + include/linux/rbtree_types.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/PREEMPT_RCU) \ + $(wildcard include/config/TINY_RCU) \ + $(wildcard include/config/TASKS_RCU_GENERIC) \ + $(wildcard include/config/RCU_STALL_COMMON) \ + $(wildcard include/config/NO_HZ_FULL) \ + $(wildcard include/config/RCU_NOCB_CPU) \ + $(wildcard include/config/TASKS_RCU) \ + $(wildcard include/config/TASKS_TRACE_RCU) \ + $(wildcard include/config/TASKS_RUDE_RCU) \ + $(wildcard include/config/TREE_RCU) \ + $(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \ + $(wildcard include/config/PROVE_RCU) \ + $(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \ + include/linux/rcutree.h \ + include/linux/rwsem.h \ + $(wildcard include/config/RWSEM_SPIN_ON_OWNER) \ + $(wildcard include/config/DEBUG_RWSEMS) \ + include/linux/osq_lock.h \ + include/linux/completion.h \ + include/linux/swait.h \ + include/linux/wait.h \ + include/uapi/linux/wait.h \ + include/linux/uprobes.h \ + $(wildcard include/config/UPROBES) \ + arch/x86/include/asm/uprobes.h \ + include/linux/notifier.h \ + include/linux/mutex.h \ + $(wildcard include/config/MUTEX_SPIN_ON_OWNER) \ + $(wildcard include/config/DEBUG_MUTEXES) \ + include/linux/debug_locks.h \ + include/linux/srcu.h \ + $(wildcard include/config/TINY_SRCU) \ + $(wildcard include/config/SRCU) \ + include/linux/workqueue.h \ + $(wildcard include/config/DEBUG_OBJECTS_WORK) \ + $(wildcard include/config/FREEZER) \ + $(wildcard include/config/WQ_WATCHDOG) \ + include/linux/timer.h \ + $(wildcard include/config/DEBUG_OBJECTS_TIMERS) \ + $(wildcard include/config/NO_HZ_COMMON) \ + include/linux/ktime.h \ + include/linux/jiffies.h \ + include/vdso/jiffies.h \ + include/generated/timeconst.h \ + include/vdso/ktime.h \ + include/linux/timekeeping.h \ + $(wildcard include/config/GENERIC_CMOS_UPDATE) \ + include/linux/clocksource_ids.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/DEBUG_OBJECTS) \ + $(wildcard include/config/DEBUG_OBJECTS_FREE) \ + include/linux/rcu_segcblist.h \ + include/linux/srcutree.h \ + include/linux/rcu_node_tree.h \ + $(wildcard include/config/RCU_FANOUT) \ + $(wildcard include/config/RCU_FANOUT_LEAF) \ + include/linux/page-flags-layout.h \ + $(wildcard include/config/KASAN_HW_TAGS) \ + include/linux/numa.h \ + $(wildcard include/config/NODES_SHIFT) \ + include/generated/bounds.h \ + include/linux/seqlock.h \ + include/linux/ww_mutex.h \ + $(wildcard include/config/DEBUG_RT_MUTEXES) \ + $(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \ + include/linux/rtmutex.h \ + arch/x86/include/asm/mmu.h \ + $(wildcard include/config/MODIFY_LDT_SYSCALL) \ + include/linux/kmod.h \ + include/linux/umh.h \ + include/linux/gfp.h \ + $(wildcard include/config/HIGHMEM) \ + $(wildcard include/config/ZONE_DMA) \ + $(wildcard include/config/ZONE_DMA32) \ + $(wildcard include/config/ZONE_DEVICE) \ + $(wildcard include/config/PM_SLEEP) \ + $(wildcard include/config/CONTIG_ALLOC) \ + $(wildcard include/config/CMA) \ + include/linux/mmdebug.h \ + $(wildcard include/config/DEBUG_VM) \ + $(wildcard include/config/DEBUG_VM_PGFLAGS) \ + include/linux/mmzone.h \ + $(wildcard include/config/FORCE_MAX_ZONEORDER) \ + $(wildcard include/config/MEMORY_ISOLATION) \ + $(wildcard include/config/ZSMALLOC) \ + $(wildcard include/config/SHADOW_CALL_STACK) \ + $(wildcard include/config/MEMORY_HOTPLUG) \ + $(wildcard include/config/COMPACTION) \ + $(wildcard include/config/PAGE_EXTENSION) \ + $(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \ + $(wildcard include/config/HAVE_MEMORYLESS_NODES) \ + $(wildcard include/config/SPARSEMEM_EXTREME) \ + $(wildcard include/config/HAVE_ARCH_PFN_VALID) \ + include/linux/nodemask.h \ + include/linux/pageblock-flags.h \ + $(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \ + include/linux/page-flags.h \ + $(wildcard include/config/ARCH_USES_PG_UNCACHED) \ + $(wildcard include/config/MEMORY_FAILURE) \ + $(wildcard include/config/PAGE_IDLE_FLAG) \ + $(wildcard include/config/THP_SWAP) \ + $(wildcard include/config/KSM) \ + include/linux/local_lock.h \ + include/linux/local_lock_internal.h \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ + $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ + $(wildcard include/config/MEMORY_HOTREMOVE) \ + arch/x86/include/asm/mmzone.h \ + arch/x86/include/asm/mmzone_64.h \ + include/linux/topology.h \ + $(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \ + $(wildcard include/config/SCHED_SMT) \ + include/linux/arch_topology.h \ + $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ + include/linux/percpu.h \ + $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ + $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ + arch/x86/include/asm/topology.h \ + $(wildcard include/config/SCHED_MC_PRIO) \ + $(wildcard include/config/ACPI_CPPC_LIB) \ + arch/x86/include/asm/mpspec.h \ + $(wildcard include/config/EISA) \ + $(wildcard include/config/X86_MPPARSE) \ + arch/x86/include/asm/mpspec_def.h \ + arch/x86/include/asm/x86_init.h \ + arch/x86/include/asm/apicdef.h \ + include/asm-generic/topology.h \ + include/linux/sysctl.h \ + $(wildcard include/config/SYSCTL) \ + include/uapi/linux/sysctl.h \ + include/linux/elf.h \ + $(wildcard include/config/ARCH_USE_GNU_PROPERTY) \ + $(wildcard include/config/ARCH_HAVE_ELF_PROT) \ + arch/x86/include/asm/elf.h \ + $(wildcard include/config/X86_X32_ABI) \ + arch/x86/include/asm/user.h \ + arch/x86/include/asm/user_64.h \ + arch/x86/include/asm/fsgsbase.h \ + arch/x86/include/asm/vdso.h \ + $(wildcard include/config/X86_X32) \ + include/uapi/linux/elf.h \ + include/uapi/linux/elf-em.h \ + include/linux/kobject.h \ + $(wildcard include/config/UEVENT_HELPER) \ + $(wildcard include/config/DEBUG_KOBJECT_RELEASE) \ + include/linux/sysfs.h \ + include/linux/kernfs.h \ + $(wildcard include/config/KERNFS) \ + include/linux/idr.h \ + include/linux/radix-tree.h \ + include/linux/xarray.h \ + $(wildcard include/config/XARRAY_MULTI) \ + include/linux/kconfig.h \ + include/linux/kobject_ns.h \ + include/linux/kref.h \ + include/linux/refcount.h \ + include/linux/moduleparam.h \ + $(wildcard include/config/ALPHA) \ + $(wildcard include/config/IA64) \ + $(wildcard include/config/PPC64) \ + include/linux/rbtree_latch.h \ + include/linux/error-injection.h \ + include/asm-generic/error-injection.h \ + include/linux/cfi.h \ + $(wildcard include/config/CFI_CLANG_SHADOW) \ + arch/x86/include/asm/module.h \ + $(wildcard include/config/UNWINDER_ORC) \ + include/asm-generic/module.h \ + $(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \ + $(wildcard include/config/MODULES_USE_ELF_REL) \ + $(wildcard include/config/MODULES_USE_ELF_RELA) \ + arch/x86/include/asm/orc_types.h \ + include/linux/build-salt.h \ + $(wildcard include/config/BUILD_SALT) \ + include/linux/elfnote.h \ + include/linux/elfnote-lto.h \ + $(wildcard include/config/LTO) \ + include/linux/vermagic.h \ + include/generated/utsrelease.h \ + arch/x86/include/asm/vermagic.h \ + $(wildcard include/config/M486SX) \ + $(wildcard include/config/M486) \ + $(wildcard include/config/M586) \ + $(wildcard include/config/M586TSC) \ + $(wildcard include/config/M586MMX) \ + $(wildcard include/config/MCORE2) \ + $(wildcard include/config/M686) \ + $(wildcard include/config/MPENTIUMII) \ + $(wildcard include/config/MPENTIUMIII) \ + $(wildcard include/config/MPENTIUMM) \ + $(wildcard include/config/MPENTIUM4) \ + $(wildcard include/config/MK6) \ + $(wildcard include/config/MK7) \ + $(wildcard include/config/MK8) \ + $(wildcard include/config/MELAN) \ + $(wildcard include/config/MCRUSOE) \ + $(wildcard include/config/MEFFICEON) \ + $(wildcard include/config/MWINCHIPC6) \ + $(wildcard include/config/MWINCHIP3D) \ + $(wildcard include/config/MCYRIXIII) \ + $(wildcard include/config/MVIAC3_2) \ + $(wildcard include/config/MVIAC7) \ + $(wildcard include/config/MGEODEGX1) \ + $(wildcard include/config/MGEODE_LX) \ + +/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o: $(deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o) + +$(deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o): diff --git a/smartlamp-kernel-module/.serial.o.cmd b/smartlamp-kernel-module/.serial.o.cmd new file mode 100644 index 0000000..c416f6a --- /dev/null +++ b/smartlamp-kernel-module/.serial.o.cmd @@ -0,0 +1,994 @@ +cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o := gcc -Wp,-MMD,/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/.serial.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -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=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"serial"' -DKBUILD_MODNAME='"serial"' -D__KBUILD_MODNAME=kmod_serial -c -o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.c + +source_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o := /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.c + +deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o := \ + include/linux/compiler-version.h \ + $(wildcard include/config/CC_VERSION_TEXT) \ + include/linux/kconfig.h \ + $(wildcard include/config/CPU_BIG_ENDIAN) \ + $(wildcard include/config/BOOGER) \ + $(wildcard include/config/FOO) \ + include/linux/compiler_types.h \ + $(wildcard include/config/HAVE_ARCH_COMPILER_H) \ + $(wildcard include/config/CC_HAS_ASM_INLINE) \ + include/linux/compiler_attributes.h \ + include/linux/compiler-gcc.h \ + $(wildcard include/config/RETPOLINE) \ + $(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \ + $(wildcard include/config/KCOV) \ + include/linux/module.h \ + $(wildcard include/config/MODULES) \ + $(wildcard include/config/SYSFS) \ + $(wildcard include/config/MODULES_TREE_LOOKUP) \ + $(wildcard include/config/LIVEPATCH) \ + $(wildcard include/config/STACKTRACE_BUILD_ID) \ + $(wildcard include/config/CFI_CLANG) \ + $(wildcard include/config/MODULE_SIG) \ + $(wildcard include/config/GENERIC_BUG) \ + $(wildcard include/config/KALLSYMS) \ + $(wildcard include/config/SMP) \ + $(wildcard include/config/TRACEPOINTS) \ + $(wildcard include/config/TREE_SRCU) \ + $(wildcard include/config/BPF_EVENTS) \ + $(wildcard include/config/DEBUG_INFO_BTF_MODULES) \ + $(wildcard include/config/JUMP_LABEL) \ + $(wildcard include/config/TRACING) \ + $(wildcard include/config/EVENT_TRACING) \ + $(wildcard include/config/FTRACE_MCOUNT_RECORD) \ + $(wildcard include/config/KPROBES) \ + $(wildcard include/config/HAVE_STATIC_CALL_INLINE) \ + $(wildcard include/config/PRINTK_INDEX) \ + $(wildcard include/config/MODULE_UNLOAD) \ + $(wildcard include/config/CONSTRUCTORS) \ + $(wildcard include/config/FUNCTION_ERROR_INJECTION) \ + include/linux/list.h \ + $(wildcard include/config/DEBUG_LIST) \ + include/linux/types.h \ + $(wildcard include/config/HAVE_UID16) \ + $(wildcard include/config/UID16) \ + $(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \ + $(wildcard include/config/PHYS_ADDR_T_64BIT) \ + $(wildcard include/config/64BIT) \ + $(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \ + include/uapi/linux/types.h \ + arch/x86/include/generated/uapi/asm/types.h \ + include/uapi/asm-generic/types.h \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + arch/x86/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + include/uapi/linux/posix_types.h \ + include/linux/stddef.h \ + include/uapi/linux/stddef.h \ + include/linux/compiler_types.h \ + arch/x86/include/asm/posix_types.h \ + $(wildcard include/config/X86_32) \ + arch/x86/include/uapi/asm/posix_types_64.h \ + include/uapi/asm-generic/posix_types.h \ + include/linux/poison.h \ + $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ + include/linux/const.h \ + include/vdso/const.h \ + include/uapi/linux/const.h \ + include/linux/kernel.h \ + $(wildcard include/config/PREEMPT_VOLUNTARY) \ + $(wildcard include/config/PREEMPT_DYNAMIC) \ + $(wildcard include/config/PREEMPT_) \ + $(wildcard include/config/DEBUG_ATOMIC_SLEEP) \ + $(wildcard include/config/MMU) \ + $(wildcard include/config/PROVE_LOCKING) \ + include/linux/stdarg.h \ + include/linux/align.h \ + include/linux/limits.h \ + include/uapi/linux/limits.h \ + include/vdso/limits.h \ + include/linux/linkage.h \ + $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ + include/linux/stringify.h \ + include/linux/export.h \ + $(wildcard include/config/MODVERSIONS) \ + $(wildcard include/config/MODULE_REL_CRCS) \ + $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ + $(wildcard include/config/TRIM_UNUSED_KSYMS) \ + include/linux/compiler.h \ + $(wildcard include/config/TRACE_BRANCH_PROFILING) \ + $(wildcard include/config/PROFILE_ALL_BRANCHES) \ + $(wildcard include/config/STACK_VALIDATION) \ + arch/x86/include/generated/asm/rwonce.h \ + include/asm-generic/rwonce.h \ + include/linux/kasan-checks.h \ + $(wildcard include/config/KASAN_GENERIC) \ + $(wildcard include/config/KASAN_SW_TAGS) \ + include/linux/kcsan-checks.h \ + $(wildcard include/config/KCSAN) \ + $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ + arch/x86/include/asm/linkage.h \ + $(wildcard include/config/X86_64) \ + $(wildcard include/config/X86_ALIGNMENT_16) \ + $(wildcard include/config/RETHUNK) \ + $(wildcard include/config/SLS) \ + include/linux/bitops.h \ + include/linux/bits.h \ + include/vdso/bits.h \ + include/linux/build_bug.h \ + include/linux/typecheck.h \ + include/uapi/linux/kernel.h \ + include/uapi/linux/sysinfo.h \ + arch/x86/include/asm/bitops.h \ + $(wildcard include/config/X86_CMOV) \ + arch/x86/include/asm/alternative.h \ + arch/x86/include/asm/asm.h \ + arch/x86/include/asm/extable_fixup_types.h \ + arch/x86/include/asm/rmwcc.h \ + $(wildcard include/config/CC_HAS_ASM_GOTO) \ + arch/x86/include/asm/barrier.h \ + arch/x86/include/asm/nops.h \ + include/asm-generic/barrier.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/GENERIC_FIND_FIRST_BIT) \ + include/asm-generic/bitops/sched.h \ + arch/x86/include/asm/arch_hweight.h \ + arch/x86/include/asm/cpufeatures.h \ + arch/x86/include/asm/required-features.h \ + $(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \ + $(wildcard include/config/MATH_EMULATION) \ + $(wildcard include/config/X86_PAE) \ + $(wildcard include/config/X86_CMPXCHG64) \ + $(wildcard include/config/X86_USE_3DNOW) \ + $(wildcard include/config/X86_P6_NOP) \ + $(wildcard include/config/MATOM) \ + $(wildcard include/config/PARAVIRT_XXL) \ + arch/x86/include/asm/disabled-features.h \ + $(wildcard include/config/X86_SMAP) \ + $(wildcard include/config/X86_UMIP) \ + $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ + $(wildcard include/config/X86_5LEVEL) \ + $(wildcard include/config/PAGE_TABLE_ISOLATION) \ + $(wildcard include/config/CPU_UNRET_ENTRY) \ + $(wildcard include/config/X86_SGX) \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/instrumented-atomic.h \ + include/linux/instrumented.h \ + include/asm-generic/bitops/instrumented-non-atomic.h \ + $(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \ + include/asm-generic/bitops/instrumented-lock.h \ + include/asm-generic/bitops/le.h \ + arch/x86/include/uapi/asm/byteorder.h \ + include/linux/byteorder/little_endian.h \ + include/uapi/linux/byteorder/little_endian.h \ + include/linux/swab.h \ + include/uapi/linux/swab.h \ + arch/x86/include/uapi/asm/swab.h \ + include/linux/byteorder/generic.h \ + include/asm-generic/bitops/ext2-atomic-setbit.h \ + include/linux/kstrtox.h \ + include/linux/log2.h \ + $(wildcard include/config/ARCH_HAS_ILOG2_U32) \ + $(wildcard include/config/ARCH_HAS_ILOG2_U64) \ + include/linux/math.h \ + arch/x86/include/asm/div64.h \ + include/asm-generic/div64.h \ + include/linux/minmax.h \ + include/linux/panic.h \ + $(wildcard include/config/PANIC_TIMEOUT) \ + include/linux/printk.h \ + $(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \ + $(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \ + $(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \ + $(wildcard include/config/EARLY_PRINTK) \ + $(wildcard include/config/PRINTK) \ + $(wildcard include/config/DYNAMIC_DEBUG) \ + $(wildcard include/config/DYNAMIC_DEBUG_CORE) \ + include/linux/init.h \ + $(wildcard include/config/STRICT_KERNEL_RWX) \ + $(wildcard include/config/STRICT_MODULE_RWX) \ + $(wildcard include/config/LTO_CLANG) \ + include/linux/kern_levels.h \ + include/linux/cache.h \ + $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ + arch/x86/include/asm/cache.h \ + $(wildcard include/config/X86_L1_CACHE_SHIFT) \ + $(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \ + $(wildcard include/config/X86_VSMP) \ + include/linux/ratelimit_types.h \ + include/uapi/linux/param.h \ + arch/x86/include/generated/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/HZ) \ + include/uapi/asm-generic/param.h \ + include/linux/spinlock_types.h \ + $(wildcard include/config/PREEMPT_RT) \ + $(wildcard include/config/DEBUG_LOCK_ALLOC) \ + include/linux/spinlock_types_raw.h \ + $(wildcard include/config/DEBUG_SPINLOCK) \ + arch/x86/include/asm/spinlock_types.h \ + include/asm-generic/qspinlock_types.h \ + $(wildcard include/config/NR_CPUS) \ + include/asm-generic/qrwlock_types.h \ + include/linux/lockdep_types.h \ + $(wildcard include/config/PROVE_RAW_LOCK_NESTING) \ + $(wildcard include/config/PREEMPT_LOCK) \ + $(wildcard include/config/LOCKDEP) \ + $(wildcard include/config/LOCK_STAT) \ + include/linux/rwlock_types.h \ + include/linux/once_lite.h \ + include/linux/dynamic_debug.h \ + include/linux/jump_label.h \ + $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ + arch/x86/include/asm/jump_label.h \ + include/linux/static_call_types.h \ + $(wildcard include/config/HAVE_STATIC_CALL) \ + include/linux/stat.h \ + arch/x86/include/uapi/asm/stat.h \ + include/uapi/linux/stat.h \ + include/linux/time.h \ + $(wildcard include/config/POSIX_TIMERS) \ + include/linux/math64.h \ + $(wildcard include/config/ARCH_SUPPORTS_INT128) \ + include/vdso/math64.h \ + include/linux/time64.h \ + include/vdso/time64.h \ + include/uapi/linux/time.h \ + include/uapi/linux/time_types.h \ + include/linux/time32.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + arch/x86/include/asm/timex.h \ + $(wildcard include/config/X86_TSC) \ + arch/x86/include/asm/processor.h \ + $(wildcard include/config/X86_VMX_FEATURE_NAMES) \ + $(wildcard include/config/X86_IOPL_IOPERM) \ + $(wildcard include/config/STACKPROTECTOR) \ + $(wildcard include/config/VM86) \ + $(wildcard include/config/X86_DEBUGCTLMSR) \ + $(wildcard include/config/CPU_SUP_AMD) \ + $(wildcard include/config/XEN) \ + arch/x86/include/asm/processor-flags.h \ + arch/x86/include/uapi/asm/processor-flags.h \ + include/linux/mem_encrypt.h \ + $(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \ + $(wildcard include/config/AMD_MEM_ENCRYPT) \ + arch/x86/include/asm/mem_encrypt.h \ + include/linux/cc_platform.h \ + $(wildcard include/config/ARCH_HAS_CC_PLATFORM) \ + arch/x86/include/uapi/asm/bootparam.h \ + include/linux/screen_info.h \ + include/uapi/linux/screen_info.h \ + include/linux/apm_bios.h \ + include/uapi/linux/apm_bios.h \ + include/uapi/linux/ioctl.h \ + arch/x86/include/generated/uapi/asm/ioctl.h \ + include/asm-generic/ioctl.h \ + include/uapi/asm-generic/ioctl.h \ + include/linux/edd.h \ + include/uapi/linux/edd.h \ + arch/x86/include/asm/ist.h \ + arch/x86/include/uapi/asm/ist.h \ + include/video/edid.h \ + $(wildcard include/config/X86) \ + include/uapi/video/edid.h \ + arch/x86/include/asm/math_emu.h \ + arch/x86/include/asm/ptrace.h \ + $(wildcard include/config/PARAVIRT) \ + $(wildcard include/config/IA32_EMULATION) \ + arch/x86/include/asm/segment.h \ + $(wildcard include/config/XEN_PV) \ + arch/x86/include/asm/page_types.h \ + $(wildcard include/config/PHYSICAL_START) \ + $(wildcard include/config/PHYSICAL_ALIGN) \ + $(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \ + arch/x86/include/asm/page_64_types.h \ + $(wildcard include/config/KASAN) \ + $(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \ + $(wildcard include/config/RANDOMIZE_BASE) \ + arch/x86/include/asm/kaslr.h \ + $(wildcard include/config/RANDOMIZE_MEMORY) \ + arch/x86/include/uapi/asm/ptrace.h \ + arch/x86/include/uapi/asm/ptrace-abi.h \ + arch/x86/include/asm/paravirt_types.h \ + $(wildcard include/config/PGTABLE_LEVELS) \ + $(wildcard include/config/PARAVIRT_DEBUG) \ + arch/x86/include/asm/desc_defs.h \ + arch/x86/include/asm/pgtable_types.h \ + $(wildcard include/config/MEM_SOFT_DIRTY) \ + $(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \ + $(wildcard include/config/PROC_FS) \ + arch/x86/include/asm/pgtable_64_types.h \ + $(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \ + arch/x86/include/asm/sparsemem.h \ + $(wildcard include/config/SPARSEMEM) \ + $(wildcard include/config/NUMA_KEEP_MEMINFO) \ + arch/x86/include/asm/nospec-branch.h \ + $(wildcard include/config/CPU_SRSO) \ + $(wildcard include/config/CPU_IBPB_ENTRY) \ + include/linux/static_key.h \ + include/linux/objtool.h \ + $(wildcard include/config/FRAME_POINTER) \ + arch/x86/include/asm/msr-index.h \ + arch/x86/include/asm/unwind_hints.h \ + arch/x86/include/asm/orc_types.h \ + arch/x86/include/asm/percpu.h \ + $(wildcard include/config/X86_64_SMP) \ + include/asm-generic/percpu.h \ + $(wildcard include/config/DEBUG_PREEMPT) \ + $(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \ + include/linux/threads.h \ + $(wildcard include/config/BASE_SMALL) \ + include/linux/percpu-defs.h \ + $(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \ + arch/x86/include/asm/GEN-for-each-reg.h \ + arch/x86/include/asm/proto.h \ + arch/x86/include/uapi/asm/ldt.h \ + arch/x86/include/uapi/asm/sigcontext.h \ + arch/x86/include/asm/current.h \ + arch/x86/include/asm/page.h \ + arch/x86/include/asm/page_64.h \ + $(wildcard include/config/DEBUG_VIRTUAL) \ + $(wildcard include/config/FLATMEM) \ + $(wildcard include/config/X86_VSYSCALL_EMULATION) \ + include/linux/range.h \ + include/asm-generic/memory_model.h \ + $(wildcard include/config/SPARSEMEM_VMEMMAP) \ + include/linux/pfn.h \ + include/asm-generic/getorder.h \ + arch/x86/include/asm/msr.h \ + arch/x86/include/asm/msr-index.h \ + arch/x86/include/generated/uapi/asm/errno.h \ + include/uapi/asm-generic/errno.h \ + include/uapi/asm-generic/errno-base.h \ + arch/x86/include/asm/cpumask.h \ + include/linux/cpumask.h \ + $(wildcard include/config/CPUMASK_OFFSTACK) \ + $(wildcard include/config/HOTPLUG_CPU) \ + $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ + include/linux/bitmap.h \ + include/linux/string.h \ + $(wildcard include/config/BINARY_PRINTF) \ + $(wildcard include/config/FORTIFY_SOURCE) \ + include/linux/err.h \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + include/linux/overflow.h \ + include/uapi/linux/string.h \ + arch/x86/include/asm/string.h \ + arch/x86/include/asm/string_64.h \ + $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ + include/linux/fortify-string.h \ + include/linux/atomic.h \ + arch/x86/include/asm/atomic.h \ + arch/x86/include/asm/cmpxchg.h \ + arch/x86/include/asm/cmpxchg_64.h \ + arch/x86/include/asm/atomic64_64.h \ + include/linux/atomic/atomic-arch-fallback.h \ + $(wildcard include/config/GENERIC_ATOMIC64) \ + include/linux/atomic/atomic-long.h \ + include/linux/atomic/atomic-instrumented.h \ + include/linux/bug.h \ + $(wildcard include/config/BUG_ON_DATA_CORRUPTION) \ + arch/x86/include/asm/bug.h \ + $(wildcard include/config/DEBUG_BUGVERBOSE) \ + include/linux/instrumentation.h \ + $(wildcard include/config/DEBUG_ENTRY) \ + include/asm-generic/bug.h \ + $(wildcard include/config/BUG) \ + $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ + arch/x86/include/uapi/asm/msr.h \ + include/linux/tracepoint-defs.h \ + arch/x86/include/asm/paravirt.h \ + $(wildcard include/config/PARAVIRT_SPINLOCKS) \ + arch/x86/include/asm/frame.h \ + arch/x86/include/asm/special_insns.h \ + include/linux/irqflags.h \ + $(wildcard include/config/TRACE_IRQFLAGS) \ + $(wildcard include/config/IRQSOFF_TRACER) \ + $(wildcard include/config/PREEMPT_TRACER) \ + $(wildcard include/config/DEBUG_IRQFLAGS) \ + $(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \ + arch/x86/include/asm/irqflags.h \ + arch/x86/include/asm/fpu/types.h \ + arch/x86/include/asm/vmxfeatures.h \ + arch/x86/include/asm/vdso/processor.h \ + include/linux/personality.h \ + include/uapi/linux/personality.h \ + arch/x86/include/asm/tsc.h \ + arch/x86/include/asm/cpufeature.h \ + $(wildcard include/config/X86_FEATURE_NAMES) \ + include/vdso/time32.h \ + include/vdso/time.h \ + include/linux/uidgid.h \ + $(wildcard include/config/MULTIUSER) \ + $(wildcard include/config/USER_NS) \ + include/linux/highuid.h \ + include/linux/buildid.h \ + $(wildcard include/config/CRASH_CORE) \ + include/linux/mm_types.h \ + $(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \ + $(wildcard include/config/MEMCG) \ + $(wildcard include/config/USERFAULTFD) \ + $(wildcard include/config/SWAP) \ + $(wildcard include/config/NUMA) \ + $(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \ + $(wildcard include/config/MEMBARRIER) \ + $(wildcard include/config/AIO) \ + $(wildcard include/config/MMU_NOTIFIER) \ + $(wildcard include/config/TRANSPARENT_HUGEPAGE) \ + $(wildcard include/config/NUMA_BALANCING) \ + $(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \ + $(wildcard include/config/HUGETLB_PAGE) \ + $(wildcard include/config/IOMMU_SUPPORT) \ + include/linux/mm_types_task.h \ + $(wildcard include/config/SPLIT_PTLOCK_CPUS) \ + $(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \ + arch/x86/include/asm/tlbbatch.h \ + include/linux/auxvec.h \ + include/uapi/linux/auxvec.h \ + arch/x86/include/uapi/asm/auxvec.h \ + include/linux/spinlock.h \ + $(wildcard include/config/PREEMPTION) \ + include/linux/preempt.h \ + $(wildcard include/config/PREEMPT_COUNT) \ + $(wildcard include/config/TRACE_PREEMPT_TOGGLE) \ + $(wildcard include/config/PREEMPT_NOTIFIERS) \ + arch/x86/include/asm/preempt.h \ + include/linux/thread_info.h \ + $(wildcard include/config/THREAD_INFO_IN_TASK) \ + $(wildcard include/config/GENERIC_ENTRY) \ + $(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \ + $(wildcard include/config/HARDENED_USERCOPY) \ + include/linux/restart_block.h \ + arch/x86/include/asm/thread_info.h \ + $(wildcard include/config/COMPAT) \ + include/linux/bottom_half.h \ + include/linux/lockdep.h \ + $(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \ + include/linux/smp.h \ + $(wildcard include/config/UP_LATE_INIT) \ + include/linux/smp_types.h \ + include/linux/llist.h \ + $(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \ + arch/x86/include/asm/smp.h \ + $(wildcard include/config/X86_LOCAL_APIC) \ + $(wildcard include/config/DEBUG_NMI_SELFTEST) \ + arch/x86/include/generated/asm/mmiowb.h \ + include/asm-generic/mmiowb.h \ + $(wildcard include/config/MMIOWB) \ + arch/x86/include/asm/spinlock.h \ + arch/x86/include/asm/qspinlock.h \ + include/asm-generic/qspinlock.h \ + arch/x86/include/asm/qrwlock.h \ + include/asm-generic/qrwlock.h \ + include/linux/rwlock.h \ + $(wildcard include/config/PREEMPT) \ + include/linux/spinlock_api_smp.h \ + $(wildcard include/config/INLINE_SPIN_LOCK) \ + $(wildcard include/config/INLINE_SPIN_LOCK_BH) \ + $(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \ + $(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_SPIN_TRYLOCK) \ + $(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \ + $(wildcard include/config/UNINLINE_SPIN_UNLOCK) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \ + $(wildcard include/config/GENERIC_LOCKBREAK) \ + include/linux/rwlock_api_smp.h \ + $(wildcard include/config/INLINE_READ_LOCK) \ + $(wildcard include/config/INLINE_WRITE_LOCK) \ + $(wildcard include/config/INLINE_READ_LOCK_BH) \ + $(wildcard include/config/INLINE_WRITE_LOCK_BH) \ + $(wildcard include/config/INLINE_READ_LOCK_IRQ) \ + $(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \ + $(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \ + $(wildcard include/config/INLINE_READ_TRYLOCK) \ + $(wildcard include/config/INLINE_WRITE_TRYLOCK) \ + $(wildcard include/config/INLINE_READ_UNLOCK) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK) \ + $(wildcard include/config/INLINE_READ_UNLOCK_BH) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \ + $(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \ + $(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \ + $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \ + include/linux/rbtree.h \ + include/linux/rbtree_types.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/PREEMPT_RCU) \ + $(wildcard include/config/TINY_RCU) \ + $(wildcard include/config/TASKS_RCU_GENERIC) \ + $(wildcard include/config/RCU_STALL_COMMON) \ + $(wildcard include/config/NO_HZ_FULL) \ + $(wildcard include/config/RCU_NOCB_CPU) \ + $(wildcard include/config/TASKS_RCU) \ + $(wildcard include/config/TASKS_TRACE_RCU) \ + $(wildcard include/config/TASKS_RUDE_RCU) \ + $(wildcard include/config/TREE_RCU) \ + $(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \ + $(wildcard include/config/PROVE_RCU) \ + $(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \ + include/linux/rcutree.h \ + include/linux/rwsem.h \ + $(wildcard include/config/RWSEM_SPIN_ON_OWNER) \ + $(wildcard include/config/DEBUG_RWSEMS) \ + include/linux/osq_lock.h \ + include/linux/completion.h \ + include/linux/swait.h \ + include/linux/wait.h \ + include/uapi/linux/wait.h \ + include/linux/uprobes.h \ + $(wildcard include/config/UPROBES) \ + arch/x86/include/asm/uprobes.h \ + include/linux/notifier.h \ + include/linux/mutex.h \ + $(wildcard include/config/MUTEX_SPIN_ON_OWNER) \ + $(wildcard include/config/DEBUG_MUTEXES) \ + include/linux/debug_locks.h \ + include/linux/srcu.h \ + $(wildcard include/config/TINY_SRCU) \ + $(wildcard include/config/SRCU) \ + include/linux/workqueue.h \ + $(wildcard include/config/DEBUG_OBJECTS_WORK) \ + $(wildcard include/config/FREEZER) \ + $(wildcard include/config/WQ_WATCHDOG) \ + include/linux/timer.h \ + $(wildcard include/config/DEBUG_OBJECTS_TIMERS) \ + $(wildcard include/config/NO_HZ_COMMON) \ + include/linux/ktime.h \ + include/linux/jiffies.h \ + include/vdso/jiffies.h \ + include/generated/timeconst.h \ + include/vdso/ktime.h \ + include/linux/timekeeping.h \ + $(wildcard include/config/GENERIC_CMOS_UPDATE) \ + include/linux/clocksource_ids.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/DEBUG_OBJECTS) \ + $(wildcard include/config/DEBUG_OBJECTS_FREE) \ + include/linux/rcu_segcblist.h \ + include/linux/srcutree.h \ + include/linux/rcu_node_tree.h \ + $(wildcard include/config/RCU_FANOUT) \ + $(wildcard include/config/RCU_FANOUT_LEAF) \ + include/linux/page-flags-layout.h \ + $(wildcard include/config/KASAN_HW_TAGS) \ + include/linux/numa.h \ + $(wildcard include/config/NODES_SHIFT) \ + include/generated/bounds.h \ + include/linux/seqlock.h \ + include/linux/ww_mutex.h \ + $(wildcard include/config/DEBUG_RT_MUTEXES) \ + $(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \ + include/linux/rtmutex.h \ + arch/x86/include/asm/mmu.h \ + $(wildcard include/config/MODIFY_LDT_SYSCALL) \ + include/linux/kmod.h \ + include/linux/umh.h \ + include/linux/gfp.h \ + $(wildcard include/config/HIGHMEM) \ + $(wildcard include/config/ZONE_DMA) \ + $(wildcard include/config/ZONE_DMA32) \ + $(wildcard include/config/ZONE_DEVICE) \ + $(wildcard include/config/PM_SLEEP) \ + $(wildcard include/config/CONTIG_ALLOC) \ + $(wildcard include/config/CMA) \ + include/linux/mmdebug.h \ + $(wildcard include/config/DEBUG_VM) \ + $(wildcard include/config/DEBUG_VM_PGFLAGS) \ + include/linux/mmzone.h \ + $(wildcard include/config/FORCE_MAX_ZONEORDER) \ + $(wildcard include/config/MEMORY_ISOLATION) \ + $(wildcard include/config/ZSMALLOC) \ + $(wildcard include/config/SHADOW_CALL_STACK) \ + $(wildcard include/config/MEMORY_HOTPLUG) \ + $(wildcard include/config/COMPACTION) \ + $(wildcard include/config/PAGE_EXTENSION) \ + $(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \ + $(wildcard include/config/HAVE_MEMORYLESS_NODES) \ + $(wildcard include/config/SPARSEMEM_EXTREME) \ + $(wildcard include/config/HAVE_ARCH_PFN_VALID) \ + include/linux/nodemask.h \ + include/linux/pageblock-flags.h \ + $(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \ + include/linux/page-flags.h \ + $(wildcard include/config/ARCH_USES_PG_UNCACHED) \ + $(wildcard include/config/MEMORY_FAILURE) \ + $(wildcard include/config/PAGE_IDLE_FLAG) \ + $(wildcard include/config/THP_SWAP) \ + $(wildcard include/config/KSM) \ + include/linux/local_lock.h \ + include/linux/local_lock_internal.h \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ + $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ + $(wildcard include/config/MEMORY_HOTREMOVE) \ + arch/x86/include/asm/mmzone.h \ + arch/x86/include/asm/mmzone_64.h \ + include/linux/topology.h \ + $(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \ + $(wildcard include/config/SCHED_SMT) \ + include/linux/arch_topology.h \ + $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ + include/linux/percpu.h \ + $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ + $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ + arch/x86/include/asm/topology.h \ + $(wildcard include/config/SCHED_MC_PRIO) \ + $(wildcard include/config/ACPI_CPPC_LIB) \ + arch/x86/include/asm/mpspec.h \ + $(wildcard include/config/EISA) \ + $(wildcard include/config/X86_MPPARSE) \ + arch/x86/include/asm/mpspec_def.h \ + arch/x86/include/asm/x86_init.h \ + arch/x86/include/asm/apicdef.h \ + include/asm-generic/topology.h \ + include/linux/sysctl.h \ + $(wildcard include/config/SYSCTL) \ + include/uapi/linux/sysctl.h \ + include/linux/elf.h \ + $(wildcard include/config/ARCH_USE_GNU_PROPERTY) \ + $(wildcard include/config/ARCH_HAVE_ELF_PROT) \ + arch/x86/include/asm/elf.h \ + $(wildcard include/config/X86_X32_ABI) \ + arch/x86/include/asm/user.h \ + arch/x86/include/asm/user_64.h \ + arch/x86/include/asm/fsgsbase.h \ + arch/x86/include/asm/vdso.h \ + $(wildcard include/config/X86_X32) \ + include/uapi/linux/elf.h \ + include/uapi/linux/elf-em.h \ + include/linux/kobject.h \ + $(wildcard include/config/UEVENT_HELPER) \ + $(wildcard include/config/DEBUG_KOBJECT_RELEASE) \ + include/linux/sysfs.h \ + include/linux/kernfs.h \ + $(wildcard include/config/KERNFS) \ + include/linux/idr.h \ + include/linux/radix-tree.h \ + include/linux/xarray.h \ + $(wildcard include/config/XARRAY_MULTI) \ + include/linux/kconfig.h \ + include/linux/kobject_ns.h \ + include/linux/kref.h \ + include/linux/refcount.h \ + include/linux/moduleparam.h \ + $(wildcard include/config/ALPHA) \ + $(wildcard include/config/IA64) \ + $(wildcard include/config/PPC64) \ + include/linux/rbtree_latch.h \ + include/linux/error-injection.h \ + include/asm-generic/error-injection.h \ + include/linux/cfi.h \ + $(wildcard include/config/CFI_CLANG_SHADOW) \ + arch/x86/include/asm/module.h \ + $(wildcard include/config/UNWINDER_ORC) \ + include/asm-generic/module.h \ + $(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \ + $(wildcard include/config/MODULES_USE_ELF_REL) \ + $(wildcard include/config/MODULES_USE_ELF_RELA) \ + arch/x86/include/asm/orc_types.h \ + include/linux/usb.h \ + $(wildcard include/config/USB_MON) \ + $(wildcard include/config/PM) \ + $(wildcard include/config/ACPI) \ + $(wildcard include/config/USB) \ + $(wildcard include/config/USB_LED_TRIG) \ + include/linux/mod_devicetable.h \ + include/linux/uuid.h \ + include/uapi/linux/uuid.h \ + include/linux/usb/ch9.h \ + include/linux/device.h \ + $(wildcard include/config/ENERGY_MODEL) \ + $(wildcard include/config/GENERIC_MSI_IRQ_DOMAIN) \ + $(wildcard include/config/PINCTRL) \ + $(wildcard include/config/GENERIC_MSI_IRQ) \ + $(wildcard include/config/DMA_OPS) \ + $(wildcard include/config/DMA_DECLARE_COHERENT) \ + $(wildcard include/config/DMA_CMA) \ + $(wildcard include/config/SWIOTLB) \ + $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_DEVICE) \ + $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU) \ + $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU_ALL) \ + $(wildcard include/config/DMA_OPS_BYPASS) \ + $(wildcard include/config/OF) \ + $(wildcard include/config/DEVTMPFS) \ + $(wildcard include/config/SYSFS_DEPRECATED) \ + include/linux/dev_printk.h \ + include/linux/ratelimit.h \ + include/linux/sched.h \ + $(wildcard include/config/VIRT_CPU_ACCOUNTING_NATIVE) \ + $(wildcard include/config/SCHED_INFO) \ + $(wildcard include/config/SCHEDSTATS) \ + $(wildcard include/config/FAIR_GROUP_SCHED) \ + $(wildcard include/config/RT_GROUP_SCHED) \ + $(wildcard include/config/RT_MUTEXES) \ + $(wildcard include/config/UCLAMP_TASK) \ + $(wildcard include/config/UCLAMP_BUCKETS_COUNT) \ + $(wildcard include/config/KMAP_LOCAL) \ + $(wildcard include/config/SCHED_CORE) \ + $(wildcard include/config/CGROUP_SCHED) \ + $(wildcard include/config/BLK_DEV_IO_TRACE) \ + $(wildcard include/config/PSI) \ + $(wildcard include/config/COMPAT_BRK) \ + $(wildcard include/config/CGROUPS) \ + $(wildcard include/config/BLK_CGROUP) \ + $(wildcard include/config/PAGE_OWNER) \ + $(wildcard include/config/EVENTFD) \ + $(wildcard include/config/ARCH_HAS_SCALED_CPUTIME) \ + $(wildcard include/config/VIRT_CPU_ACCOUNTING_GEN) \ + $(wildcard include/config/POSIX_CPUTIMERS) \ + $(wildcard include/config/POSIX_CPU_TIMERS_TASK_WORK) \ + $(wildcard include/config/KEYS) \ + $(wildcard include/config/SYSVIPC) \ + $(wildcard include/config/DETECT_HUNG_TASK) \ + $(wildcard include/config/IO_URING) \ + $(wildcard include/config/AUDIT) \ + $(wildcard include/config/AUDITSYSCALL) \ + $(wildcard include/config/UBSAN) \ + $(wildcard include/config/UBSAN_TRAP) \ + $(wildcard include/config/BLOCK) \ + $(wildcard include/config/TASK_XACCT) \ + $(wildcard include/config/CPUSETS) \ + $(wildcard include/config/X86_CPU_RESCTRL) \ + $(wildcard include/config/FUTEX) \ + $(wildcard include/config/PERF_EVENTS) \ + $(wildcard include/config/RSEQ) \ + $(wildcard include/config/TASK_DELAY_ACCT) \ + $(wildcard include/config/FAULT_INJECTION) \ + $(wildcard include/config/LATENCYTOP) \ + $(wildcard include/config/KUNIT) \ + $(wildcard include/config/FUNCTION_GRAPH_TRACER) \ + $(wildcard include/config/BCACHE) \ + $(wildcard include/config/VMAP_STACK) \ + $(wildcard include/config/SECURITY) \ + $(wildcard include/config/BPF_SYSCALL) \ + $(wildcard include/config/GCC_PLUGIN_STACKLEAK) \ + $(wildcard include/config/X86_MCE) \ + $(wildcard include/config/KRETPROBES) \ + $(wildcard include/config/ARCH_HAS_PARANOID_L1D_FLUSH) \ + $(wildcard include/config/ARCH_TASK_STRUCT_ON_STACK) \ + $(wildcard include/config/DEBUG_RSEQ) \ + include/uapi/linux/sched.h \ + include/linux/pid.h \ + include/linux/rculist.h \ + $(wildcard include/config/PROVE_RCU_LIST) \ + include/linux/sem.h \ + include/uapi/linux/sem.h \ + include/linux/ipc.h \ + include/linux/rhashtable-types.h \ + include/uapi/linux/ipc.h \ + arch/x86/include/generated/uapi/asm/ipcbuf.h \ + include/uapi/asm-generic/ipcbuf.h \ + arch/x86/include/uapi/asm/sembuf.h \ + include/linux/shm.h \ + include/uapi/linux/shm.h \ + include/uapi/asm-generic/hugetlb_encode.h \ + arch/x86/include/uapi/asm/shmbuf.h \ + include/uapi/asm-generic/shmbuf.h \ + arch/x86/include/asm/shmparam.h \ + include/linux/plist.h \ + $(wildcard include/config/DEBUG_PLIST) \ + include/linux/hrtimer.h \ + $(wildcard include/config/HIGH_RES_TIMERS) \ + $(wildcard include/config/TIME_LOW_RES) \ + $(wildcard include/config/TIMERFD) \ + include/linux/hrtimer_defs.h \ + include/linux/timerqueue.h \ + include/linux/seccomp.h \ + $(wildcard include/config/SECCOMP) \ + $(wildcard include/config/HAVE_ARCH_SECCOMP_FILTER) \ + $(wildcard include/config/SECCOMP_FILTER) \ + $(wildcard include/config/CHECKPOINT_RESTORE) \ + $(wildcard include/config/SECCOMP_CACHE_DEBUG) \ + include/uapi/linux/seccomp.h \ + arch/x86/include/asm/seccomp.h \ + arch/x86/include/asm/unistd.h \ + arch/x86/include/uapi/asm/unistd.h \ + arch/x86/include/generated/uapi/asm/unistd_64.h \ + arch/x86/include/generated/asm/unistd_64_x32.h \ + arch/x86/include/generated/asm/unistd_32_ia32.h \ + arch/x86/include/asm/ia32_unistd.h \ + include/asm-generic/seccomp.h \ + include/uapi/linux/unistd.h \ + include/linux/resource.h \ + include/uapi/linux/resource.h \ + arch/x86/include/generated/uapi/asm/resource.h \ + include/asm-generic/resource.h \ + include/uapi/asm-generic/resource.h \ + include/linux/latencytop.h \ + include/linux/sched/prio.h \ + include/linux/sched/types.h \ + include/linux/signal_types.h \ + $(wildcard include/config/OLD_SIGACTION) \ + include/uapi/linux/signal.h \ + arch/x86/include/asm/signal.h \ + arch/x86/include/uapi/asm/signal.h \ + include/uapi/asm-generic/signal-defs.h \ + arch/x86/include/uapi/asm/siginfo.h \ + include/uapi/asm-generic/siginfo.h \ + include/linux/syscall_user_dispatch.h \ + include/linux/task_io_accounting.h \ + $(wildcard include/config/TASK_IO_ACCOUNTING) \ + include/linux/posix-timers.h \ + include/linux/alarmtimer.h \ + $(wildcard include/config/RTC_CLASS) \ + include/linux/task_work.h \ + include/uapi/linux/rseq.h \ + include/linux/kcsan.h \ + arch/x86/include/generated/asm/kmap_size.h \ + include/asm-generic/kmap_size.h \ + $(wildcard include/config/DEBUG_KMAP_LOCAL) \ + include/linux/energy_model.h \ + include/linux/sched/cpufreq.h \ + $(wildcard include/config/CPU_FREQ) \ + include/linux/sched/topology.h \ + $(wildcard include/config/SCHED_DEBUG) \ + $(wildcard include/config/SCHED_MC) \ + $(wildcard include/config/CPU_FREQ_GOV_SCHEDUTIL) \ + include/linux/sched/idle.h \ + include/linux/sched/sd_flags.h \ + include/linux/ioport.h \ + include/linux/klist.h \ + include/linux/pm.h \ + $(wildcard include/config/VT_CONSOLE_SLEEP) \ + $(wildcard include/config/PM_CLK) \ + $(wildcard include/config/PM_GENERIC_DOMAINS) \ + include/linux/device/bus.h \ + include/linux/device/class.h \ + include/linux/device/driver.h \ + arch/x86/include/asm/device.h \ + include/linux/pm_wakeup.h \ + include/uapi/linux/usb/ch9.h \ + include/linux/delay.h \ + arch/x86/include/asm/delay.h \ + include/asm-generic/delay.h \ + include/linux/interrupt.h \ + $(wildcard include/config/IRQ_FORCED_THREADING) \ + $(wildcard include/config/GENERIC_IRQ_PROBE) \ + $(wildcard include/config/IRQ_TIMINGS) \ + include/linux/irqreturn.h \ + include/linux/irqnr.h \ + include/uapi/linux/irqnr.h \ + include/linux/hardirq.h \ + include/linux/context_tracking_state.h \ + $(wildcard include/config/CONTEXT_TRACKING) \ + include/linux/ftrace_irq.h \ + $(wildcard include/config/HWLAT_TRACER) \ + $(wildcard include/config/OSNOISE_TRACER) \ + include/linux/vtime.h \ + $(wildcard include/config/VIRT_CPU_ACCOUNTING) \ + $(wildcard include/config/IRQ_TIME_ACCOUNTING) \ + arch/x86/include/asm/hardirq.h \ + $(wildcard include/config/KVM_INTEL) \ + $(wildcard include/config/HAVE_KVM) \ + $(wildcard include/config/X86_THERMAL_VECTOR) \ + $(wildcard include/config/X86_MCE_THRESHOLD) \ + $(wildcard include/config/X86_MCE_AMD) \ + $(wildcard include/config/X86_HV_CALLBACK_VECTOR) \ + $(wildcard include/config/HYPERV) \ + arch/x86/include/asm/irq.h \ + arch/x86/include/asm/irq_vectors.h \ + $(wildcard include/config/X86_IO_APIC) \ + $(wildcard include/config/PCI_MSI) \ + arch/x86/include/asm/sections.h \ + include/asm-generic/sections.h \ + arch/x86/include/asm/extable.h \ + $(wildcard include/config/BPF_JIT) \ + include/linux/fs.h \ + $(wildcard include/config/READ_ONLY_THP_FOR_FS) \ + $(wildcard include/config/FS_POSIX_ACL) \ + $(wildcard include/config/CGROUP_WRITEBACK) \ + $(wildcard include/config/IMA) \ + $(wildcard include/config/FILE_LOCKING) \ + $(wildcard include/config/FSNOTIFY) \ + $(wildcard include/config/FS_ENCRYPTION) \ + $(wildcard include/config/FS_VERITY) \ + $(wildcard include/config/EPOLL) \ + $(wildcard include/config/UNICODE) \ + $(wildcard include/config/QUOTA) \ + $(wildcard include/config/BLK_DEV_LOOP) \ + $(wildcard include/config/FS_DAX) \ + $(wildcard include/config/MIGRATION) \ + include/linux/wait_bit.h \ + include/linux/kdev_t.h \ + include/uapi/linux/kdev_t.h \ + include/linux/dcache.h \ + include/linux/rculist_bl.h \ + include/linux/list_bl.h \ + include/linux/bit_spinlock.h \ + include/linux/lockref.h \ + $(wildcard include/config/ARCH_USE_CMPXCHG_LOCKREF) \ + include/linux/stringhash.h \ + $(wildcard include/config/DCACHE_WORD_ACCESS) \ + include/linux/hash.h \ + $(wildcard include/config/HAVE_ARCH_HASH) \ + include/linux/path.h \ + include/linux/list_lru.h \ + $(wildcard include/config/MEMCG_KMEM) \ + include/linux/shrinker.h \ + include/linux/capability.h \ + include/uapi/linux/capability.h \ + include/linux/semaphore.h \ + include/linux/fcntl.h \ + $(wildcard include/config/ARCH_32BIT_OFF_T) \ + include/uapi/linux/fcntl.h \ + arch/x86/include/generated/uapi/asm/fcntl.h \ + include/uapi/asm-generic/fcntl.h \ + include/uapi/linux/openat2.h \ + include/linux/migrate_mode.h \ + include/linux/percpu-rwsem.h \ + include/linux/rcuwait.h \ + include/linux/sched/signal.h \ + $(wildcard include/config/SCHED_AUTOGROUP) \ + $(wildcard include/config/BSD_PROCESS_ACCT) \ + $(wildcard include/config/TASKSTATS) \ + $(wildcard include/config/STACK_GROWSUP) \ + include/linux/signal.h \ + $(wildcard include/config/DYNAMIC_SIGFRAME) \ + include/linux/sched/jobctl.h \ + include/linux/sched/task.h \ + $(wildcard include/config/HAVE_EXIT_THREAD) \ + $(wildcard include/config/ARCH_WANTS_DYNAMIC_TASK_STRUCT) \ + $(wildcard include/config/HAVE_ARCH_THREAD_STRUCT_WHITELIST) \ + include/linux/uaccess.h \ + $(wildcard include/config/SET_FS) \ + include/linux/fault-inject-usercopy.h \ + $(wildcard include/config/FAULT_INJECTION_USERCOPY) \ + arch/x86/include/asm/uaccess.h \ + $(wildcard include/config/CC_HAS_ASM_GOTO_OUTPUT) \ + $(wildcard include/config/CC_ASM_GOTO_OUTPUT) \ + $(wildcard include/config/CC_HAS_ASM_GOTO_TIED_OUTPUT) \ + $(wildcard include/config/ARCH_HAS_COPY_MC) \ + $(wildcard include/config/X86_INTEL_USERCOPY) \ + arch/x86/include/asm/smap.h \ + arch/x86/include/asm/uaccess_64.h \ + include/linux/cred.h \ + $(wildcard include/config/DEBUG_CREDENTIALS) \ + include/linux/key.h \ + $(wildcard include/config/KEY_NOTIFICATIONS) \ + $(wildcard include/config/NET) \ + include/linux/assoc_array.h \ + $(wildcard include/config/ASSOCIATIVE_ARRAY) \ + include/linux/sched/user.h \ + $(wildcard include/config/VFIO_PCI_ZDEV_KVM) \ + $(wildcard include/config/WATCH_QUEUE) \ + include/linux/percpu_counter.h \ + include/linux/rcu_sync.h \ + include/linux/delayed_call.h \ + include/linux/errseq.h \ + include/linux/ioprio.h \ + include/linux/sched/rt.h \ + include/linux/iocontext.h \ + include/uapi/linux/ioprio.h \ + include/linux/fs_types.h \ + include/linux/mount.h \ + include/linux/mnt_idmapping.h \ + include/uapi/linux/fs.h \ + include/linux/quota.h \ + $(wildcard include/config/QUOTA_NETLINK_INTERFACE) \ + include/uapi/linux/dqblk_xfs.h \ + include/linux/dqblk_v1.h \ + include/linux/dqblk_v2.h \ + include/linux/dqblk_qtree.h \ + include/linux/projid.h \ + include/uapi/linux/quota.h \ + include/linux/nfs_fs_i.h \ + include/linux/pm_runtime.h \ + include/linux/slab.h \ + $(wildcard include/config/DEBUG_SLAB) \ + $(wildcard include/config/FAILSLAB) \ + $(wildcard include/config/HAVE_HARDENED_USERCOPY_ALLOCATOR) \ + $(wildcard include/config/SLAB) \ + $(wildcard include/config/SLUB) \ + $(wildcard include/config/SLOB) \ + $(wildcard include/config/CC_IS_GCC) \ + $(wildcard include/config/CLANG_VERSION) \ + include/linux/percpu-refcount.h \ + include/linux/kasan.h \ + $(wildcard include/config/KASAN_STACK) \ + $(wildcard include/config/KASAN_VMALLOC) \ + +/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o: $(deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o) + +$(deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o): diff --git a/smartlamp-kernel-module/Makefile b/smartlamp-kernel-module/Makefile index 3847ec2..b6a8186 100644 --- a/smartlamp-kernel-module/Makefile +++ b/smartlamp-kernel-module/Makefile @@ -1,4 +1,4 @@ -obj-m += probe.o +obj-m += serial.o PWD := $(CURDIR) all: diff --git a/smartlamp-kernel-module/modules.order b/smartlamp-kernel-module/modules.order index 712f1f1..f36becb 100644 --- a/smartlamp-kernel-module/modules.order +++ b/smartlamp-kernel-module/modules.order @@ -1 +1 @@ -/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.ko +/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.ko diff --git a/smartlamp-kernel-module/serial.c b/smartlamp-kernel-module/serial.c index fe2b79a..db0ce83 100644 --- a/smartlamp-kernel-module/serial.c +++ b/smartlamp-kernel-module/serial.c @@ -15,8 +15,8 @@ static uint usb_in, usb_out; // Endereços das portas de e static char *usb_in_buffer, *usb_out_buffer; // Buffers de entrada e saída da USB static int usb_max_size; // Tamanho máximo de uma mensagem USB -#define VENDOR_ID SUBSTITUA_PELO_VENDORID /* Encontre o VendorID do smartlamp */ -#define PRODUCT_ID SUBSTITUA_PELO_PRODUCTID /* Encontre o ProductID do smartlamp */ +#define VENDOR_ID 0x10c4 /* Encontre o VendorID do smartlamp */ +#define PRODUCT_ID 0xea60 /* Encontre o ProductID do smartlamp */ static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} }; static int usb_probe(struct usb_interface *ifce, const struct usb_device_id *id); // Executado quando o dispositivo é conectado na USB @@ -79,7 +79,13 @@ static int usb_read_serial() { printk(KERN_ERR "SmartLamp: Erro ao ler dados da USB (tentativa %d). Codigo: %d\n", ret, retries--); continue; } - + if(strncmp(usb_out_buffer, "SmartLamp: Dispositivo desconectado.", strlen("RES GET_LDR")) == 0){ + int ldr_value; + sscanf(usb_in_buffer, "RES GET_LDR %d", &ldr_value); + return ldr_value; + } else { + printk(KERN_WARNING "SmartLamp: Resposta Inesperada da USB: %s\n", usb_in_buffer); + } //caso tenha recebido a mensagem 'RES_LDR X' via serial acesse o buffer 'usb_in_buffer' e retorne apenas o valor da resposta X //retorne o valor de X em inteiro return 0; diff --git a/smartlamp-kernel-module/serial.ko b/smartlamp-kernel-module/serial.ko new file mode 100644 index 0000000000000000000000000000000000000000..7e00eb7ad295ddcb0a8a58e0f8969620fc63d882 GIT binary patch literal 235600 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

  • AXem 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%0Af+oPv%OHT_UmSMS_Xa)P0!b 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 literal 0 HcmV?d00001 diff --git a/smartlamp-kernel-module/serial.mod b/smartlamp-kernel-module/serial.mod new file mode 100644 index 0000000..bae2f11 --- /dev/null +++ b/smartlamp-kernel-module/serial.mod @@ -0,0 +1,2 @@ +/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o + diff --git a/smartlamp-kernel-module/serial.mod.c b/smartlamp-kernel-module/serial.mod.c new file mode 100644 index 0000000..6706aca --- /dev/null +++ b/smartlamp-kernel-module/serial.mod.c @@ -0,0 +1,49 @@ +#include +#define INCLUDE_VERMAGIC +#include +#include +#include +#include + +BUILD_SALT; +BUILD_LTO_INFO; + +MODULE_INFO(vermagic, VERMAGIC_STRING); +MODULE_INFO(name, KBUILD_MODNAME); + +__visible struct module __this_module +__section(".gnu.linkonce.this_module") = { + .name = KBUILD_MODNAME, + .init = init_module, +#ifdef CONFIG_MODULE_UNLOAD + .exit = cleanup_module, +#endif + .arch = MODULE_ARCH_INIT, +}; + +#ifdef CONFIG_RETPOLINE +MODULE_INFO(retpoline, "Y"); +#endif + +static const struct modversion_info ____versions[] +__used __section("__versions") = { + { 0xdc658e53, "module_layout" }, + { 0xaad01b89, "usb_deregister" }, + { 0xd670cf94, "usb_register_driver" }, + { 0xd0da656b, "__stack_chk_fail" }, + { 0xbcab6ee6, "sscanf" }, + { 0x5a921311, "strncmp" }, + { 0x3728f0b7, "usb_bulk_msg" }, + { 0xeb233a45, "__kmalloc" }, + { 0x93c7edeb, "usb_find_common_endpoints" }, + { 0x5b8239ca, "__x86_return_thunk" }, + { 0x37a0cba, "kfree" }, + { 0x92997ed8, "_printk" }, + { 0xbdfb6dbb, "__fentry__" }, +}; + +MODULE_INFO(depends, ""); + +MODULE_ALIAS("usb:v10C4pEA60d*dc*dsc*dp*ic*isc*ip*in*"); + +MODULE_INFO(srcversion, "CA8A0B31229335398E148D9"); diff --git a/smartlamp-kernel-module/serial.mod.o b/smartlamp-kernel-module/serial.mod.o new file mode 100644 index 0000000000000000000000000000000000000000..954f0e06b2b980c13fb772b2aea2704b1386785a GIT binary patch literal 50856 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 B1hxPG literal 0 HcmV?d00001 diff --git a/smartlamp-kernel-module/serial.o b/smartlamp-kernel-module/serial.o new file mode 100644 index 0000000000000000000000000000000000000000..f7eca9b0d8ac0f733574c189eba04eafdd7ef3dc GIT binary patch literal 186192 zcmeFad3@B>_5c6gCb^Sjl1Va?Og1t=0wHW+5Bmg2NF+*>EedLYgal1UAZ+3mHw0JQ zu^+XlwbDgJ{ZwhSZCpWX6>F4G@_xSz$;{k8(^WJmM zJ$HTI_kG{@o%3rO>m1v*;(u&whIN$UzLvG)*G>Xr;)+>At+IsQ|L;Hve6#GB{q(O~ z3&`mI?C+z0F!;YR?^c;*XW`Jv!WI2+t#dK zPU$R5Tv3KJ~+d_ac(5Syc0LHm+u2!}hOK#e({a{uphmzuYUY zppg3QwTH&^i=Kwd=alu-j_DusOvB~pl$rV~7agp>a>If8k-J5XD+~$#qCdm3F6pno zy!JrW4dT7(^37h>LosLjKQ8#->r~6yF1{DME$(n4V*N_7TH@D3204KH@&HTjZKaFm zujZ$RT?SFncxCPW$&Xz=DQo`z%SHcV@0-UCW%-}J;Q2nwLLO?iKY2<2`m&lUPyKq% z_K&tdt$CJIE_rReuV(ujAMdQW=((>yp07##ES;0v_cUFRyPEBkGtpmrN&kidDu(AY zxPJRSQ8efBw&y<1sy|lyobB&xVso~aCzMec9crr|jIG~nEu7(%hW$E zA5UZ0x5$rA@=vz2QT^j~Rw%b6$tT;nUH#+f7As$sB+q3Sw{w^Jv;2@G|A&(NIlu8S z;_+|zD_YWp2socZ>0ey`^C}RxN74HIH~iz}`Ih>BQ_uU~kdK$=AHU(RXnpYw|9Cn0 zcz~ooaeLzF=6%CIp5I~W&*^d5$MY3a|9HJLu~Pa|nd)mloc_h_{OPyo`E`>2h$Q*Zs*i0cOY(m+Nj}+M#lQ7GjwU0GN*Mh=?*HHJkC{o@ zPO4oHom;!`^u{?S(Ot;m{}wOr+|Y)5Qg7S3)yq4rUcOa!(ybE18{J7BXBF`=?b!PY z1|-dn^pk-k8!xYTopF0&_W=6Gf8zIV_8%!exa6yw{kiPpe@fNCRL|*TR!?v|NmQ`&ebd1*7UYbpWD=E z@ziA9>YnwhyVp#gvu^c9o?Wy>m#=K=?Um_9Vnz_Hs9n%BZftaAcUN?F$LgNw0;$L7 z?543}s>WK&H>~gIUN?PC+s1_r3u{hT5S`ZAwsHOH^~=}v##U3Do>3cCE$2%r~k_A6uMeDb?o*;F6Sh2 zbHQ7_P{A4O4;grc^UoD8NjHbx@Xs&2f&Cq6_3(;Bc8iy2g;!zZ5%OB@`Btx4Z{@HX z{zZ956CE&uN8vJ)q^Y#>6Y&yFBYUf@;AzAoH&k2MYuV8|W}=m|UA)MZdkeX8!c-n3 zd&iBnLiaJ2F>W9X?~@o4$6I+XNepu3^Y}iVO&F54ngpdxaJ5lxXOXXzTb32NnA{%Q z4&zg^vUZS9vcajrd@f_jTWWD;BA=;aj^;CUY?8aa@Fr3L`Gx{c0Pf~oE(^F%O>&=> zBy)O_{uXh&T$>WfloW7bz+GCvS%-UkaiYNefxx(Ug8pE^9O};^KfQM$d zi;A-nG6S-&Aa|K9g8+h~h4&>y2Nph(aE~f{E8(70xG&+JR`^oFy(IsrSu3)*&Y-g+ z>!^w62IeOG&r5P&A3YlPMseqQ{_p#z(ELHH^WU8!m8L3pyMrkt*ZA-8pPCT4H)T5M zj;DH`TSp<%(u4j7%ryzI2Se;uwGS3C7|UH97dHNf%>4=Bhr_S3a9q#N3?nRh1VIWV zZ;Aq!qq-~<;ClR&9MbZ9mdpZ!#{YT|jdO_fMugo8Z~BK5kR==^#BNVQ-6%O%7|DtUsMk(SZMLik=xjTZPt*iD$1Zx8Xb;;_%>Ia=~=d_+^S^Gg3+5>Js#j*~7F0upPCprka*v{gLJOsMJ&U%|h`oraC z_E>3G+4(;rL1W9+`U_<|iWlu(D_ZxGs}_>!F;pwP{V zFC(;1@fEu`heEe0{vM$_6kmfGI~Cuw!;@)7uuJhR2=7*W8~9_zckHZu(!59UeYn9w z@3xFlUnzcW7yX#0g>Lzooz(pQiB@S`H2<%Fe#NityqRQ1P|@#5Cypql11l6W9sfaY zvx-3{oyWdMcB)Jf9)^1<5OBz;1z%N?Mt{T3mxB%qE%2jr6#X8O-21F606&WbLRy zFEcZ^gk-|3Oz(V|BV3M_>tzMqOUWT=WaT8;k(Hau0W>>e+ioJK+@m5bZBH9d!Agm8mU`!i@Z37h=a}m)F zP?0gW6YT^Qn~dj)c7aMv&f!^>wHq|Rn71ix52)0be-iBlMWLl1G|*%WruMWSG{|Jk zBRT*YY)miFK~S0T-$--_G{pFSM06NbX)+EH9RZCn>ApuT>kGMc1V$rAmTl#5wM!c? zc~P^TYFOG)-axb?X*zj>(2l5e=FN2OAQ@?ec{N8{XWp!$yA%Gii{-9`Hpb#^BVEwY z@}`^L5Fn8mGOMt{oUB3j&o^28SO(!ps!5?cfe1%T;m4d6fWMF*jEu_V2h6CrTz+Oc zCjhzpESh$)TwpDE%^(?lh!g$03#OVTTH^4p8#BQwh)LsM7;hES2pEEKR>3TRAi-Fx zV75TSzoN$~m?Q3}f5m32pjO-!Bs9h*+22a;7Bu!z^*i^X^r7%0?=uM?CN5C0ORjGIHhjw6|IWMVxsoMKcbXO^7J}u=6$&xM$NP!ZNX7N!_CaQdA|VaBJc{G+LVQ zdvvWrz(E;H#{*uIvaXg_0ah$KHsCk*`#EakfZy8Te+(nV`BXy#4%*VUBKd8-)_~XT zoZS=<&2J@m129N3HsDQ=jQQ4pw?IP>_6~GZfZhdFf&OBL)9BVx4f?BH$oH9M(5Il5 z{FUp*S_A%ucpV7)JE#ZrIcPKJUv_91sp$iGj^tn)4KK8wnBoNavBvJ>n-6iS@&z8G zgO1@R{Od=p>e*lopb5~Y6;#CimdmkR8pbU5Z&XqPIdW`Btn@`^IJqTm=_^j&cSeyv z=v611<3vF3JL&x35(RzWWPN8reC}8JAtXm2>?07$r}R&bpA#LAus=J+BSuqc<*y{` zO8*MUdW3xnY6N}e zIuysdQu7^HM=YJ_=5inEQLF~8Q#?)!RdF70vtpwgzN^Qw&QUzxP3xon+^2Yg8{*ZH zZHgzl;eVV#69UBr2;Hl=$PE|J+U0(O(pjtpf5en`by=k+yWzP5sUG|&oKt{7#Z%qT zW5cOsE4H|i!6T?-6<5IKg^DYI&5EtSWs0kSEs7ne?+(Q?Q42kO>8qt{+yM6|d)GX0 zxAN`EJ<4||uT#EL`BLS6<;#>GQ@&jJapfzOpHSYR{G{?t%1X71Rz{854BkmE!e*nKw{1=3+bQI3Nfi$P3hG~`BUSTtpMlc<{%JT-?N@!X% zIL#}*luBo(VgR^HF$mnP81jM})=>@>2Y6{8(Or43V$=(tPoeu22YaDcPo?@+Eb~JD zCOoJ()Wa~USOGkeUcRc=Djn{Hx09wXG;ov`xsK4vK#sMZo;5qwO25X z3O1rR*^B;#LZgaPyufYCsck4u1y(6e2UaW2@WNlU(kP-h6E-$0#=MM&sqwcc)_8Ka z=}?^Q74Z6UkK$af;7c-NvtomnaUR_Z`xK8u+=~?(z1%1nxlQqSue7g?sz|ZPlV-M8 z@kC(1;zBQrALaKeF7a~tQT#c@lfAspXtX|{c&b=|-q{ zA&mS&ajPfy5G#O6+3tk{By1F~^uqasLB(slf`Nn)#p}G{;e=7e8@#*+2`dzLdPP4c ztWx|R6nnMeEnfI>3XLh=<`q9qg;TG1JB;j8ybFc1P4RBv4#gh;cPifFWt}>k9#9qU z^YSYvk&&6m;2uwAA!Um911l7NLM6#ID?aSWeXm;aXP%#DaP^9h02>v5;SGA3;x;Mv zd&3S9HY+|3RV|87c!eKPXpiEPUN*l1*sS;zvcFStzgO}X65gfw421V6J`2qU6kqhh z`)1Jdvf^*Nbbf1jSn(y`M~W{a`+rn?1?e79JP7_ z72gC#vM_wTLRu~V_g7urffyA%ib ziiT3?9>rlkX;6C=D}j$Hj(~CfiW7a(>Gvy60v=F24sj1E&I7)#c!IBZ45fQW@kC$V zCtR_LOMC%d`aGg|3h*<<(_zLJiYtIt2>CtVmp7F(8^u0fdOE2JDqa9HLW&pr@bIB{ zDdI*IFZUJHlBx>Dt9|*$5mqT)i@4Q_*8!&~-rx)6Q7yz2Z$Y|oyv--0TD^vT*B7oD zL%mJ$4qtd7CA3-b`#yOJ>QnrIPZrWIR=me2W8OB!`+b8>qqsX1AN1vS5bjib)F*F^ zb}9bcm;OE#`)LehfV0@w?Cu9`~Ui^sBljkmm!6 z`+S35pn2NC5TsvJ=|jq|`6B#y9<#z0jd1kGi)IITcI_}kvkM0dW{2BIUb4g)@k*|@ zdx*jlW>SFEe#v|%SU#Hub`*+y*thcKOeVc7QfQ%}&r}JGh9#c7e{avzT^+w%C4tlHLP4*A5<_ z%Frkh`ps1*Ca3|WL$2;^`8tw{629Nocb&to9OFXLr( zE@NhY6%%(*{2d%6i}V&>qd6%Bu!B?C&xkMz}GS5nD!zDgw4;lz<0YMhlS1 zY)h3uhLsmAAL=Zm*oB;IA*W^KRh7?hHj<0_nPrvFG)LVral_87Bq4UD(`NhuU_ zU^Ada((JQb9+7DN%KGK%Ch0-Vx#^>_Uwx0!qmTV?kNlqy`pRP7K zvGN*w7x@klO|$HLu74Xhi1OKXq>#cays2MPc3tb}knrndkEVvKeq_`mZT68O?v3xWkJ( zOxzKSJECz1e?=sJ`r;1DRv*iWJG{8VSVb(%)iPj43NJULNMyNEkFF!)R|C>4v#bEW zv*OizVQOi-c+dZYUCS*ccN%Mui(5u0H;oEkCch{!9Aqj|%?b*T{!?MHMv+^=pUP4m zV&{6p!hU{^_wyctVR_~{i6Q!i<-6?^LL!C!+Y=&1=DSHE#qMPkB1!J3%rkcl*HkL= zQ+c35l9iG4WfTWD^vVL+ZGs`OvM~Jv3c>sH%A!=h4d515Su7CouU^w_RSpw~`f1Co zRaxn8qByv8BEEe?dboReJi(O}!3BL~Zfi2K*bGEu<$GDcQNBIK7)H@Ida4GwES=|7O>_ADoaC!&y4>I3o*~ZlzUKBX6ZM{H?v~3DWsBbEf5Xl0b-`(LA0@W5yjZ zV|+i3s~VG%l({jfIUIn@jWGg2%avz5$;+4w^IRfkK*BYL!7+vAvqVr)_Wk5WcE=P$ zDe~cs%`#cE9wsF*HiW%82&x!YWloC+jTNx=BKd)HdyCYN$TXf)%d%0{M; zs2ev8n+BmSGQQkwjjJ0!B$F3ip>F(8>=4F%W&E%xr;2)?Fx>ns9%sUcoTHnhCXCcL z7+xk88eY|tWG5EMkgrf&c&%uI+@zVNY>diHie>Zo1Gz~xq8wS8G+VNSPBE!gQVPPl z>XHC&>K1Jklhe(*xVFi`5O1}Hw#nI2izt)HIq4UY6vlwbczTIip>xU4 zHXf-b%-U4L+7KHM_0vnADeH>{lTf{%-%U^1Ame+JjsP6n4T87$kR$1AxI&RtJNkt_-DUuNErL!9uHzz#*Z(kVREWLq%h?J(CM|+At~D zm_4(Xwr5PM%sVn(mSUt}Tc%YRj*0Zfh{XzHr7Tgf(c$3<%TAe5}ZEP zG*N(*()96iXH=MorwfEk6393@xtK97Ny+SgDoZgwN(&*kIGh_OQiE*Vf3OOIv zL{^8EG@~(>zH`#$fEmY2-YO(JGv*gvOCeQ&Cdpg1js~nzil%DD0>e@eTA0JS6c#1j zn`bOe8WLwL5x|f*quJj_k)u#>N+Bz&u-u991k8*!^FShjRiTGD0kwkt#R_j`P4Jbt z(9Bu#*@KR!Gwa+(DI|+yc{4+{%`Kls5zAuWNV+YH@tvcRVcX`{S&$@1mLv>N*mN^9 z>iSPhNR_*J97W>{aRWTuc-ZtcbExZ1qQKm~Sgzlz)-sAkl4j|#K>=B?l#+;*=kbj> z=?n z3DlGd^dU}EU>jhdzz!=XlS;zn5|F!cY>Im(*Iq?QliN<7{?2t9tdhlH-mPOv%#!B9 z`YG{=P|3*|M@yolMLJa!i~ap3@SM$((y{`-wzE&ZCf;TO&)eBckE0qu*bBC_0jx0u z4%lh@wkU?M7j2o2&H=q_M|dV!4|)Y#>6$?YZLy^V^r}7V<9n%%fPSC61uyU#(%X!% z*X@jtzZ+k`54>T^lw`B}J2GO3w7UDTCRREvuwQ1}L~UgDNZm{HR-=7l7&dELc z#8`4(+R;aylJf<4v9{za&rFTmw33K}K4043r zNXd2XVRE2Qu19GBZj!HNwYYW)_z`lmyrsk(w&Xi9cJpIl$t`XHy`h54t;woxlL)G6 zmo)4kXYTvnREmHM-JQ?xkl@~($*(~-X$TyFee}J_pI-< zO74-Z7g4UlJ?@U_Mjd9RX3eioZ_9@4PSjfjr@rBnj7W~OFVI= zInV2E{wEZ+6ZEDl>jis3hg>P^e$YFh{h$xr@L81I1E3Gx2#;U~K_9s?P#gk%40@NA z4yml=wrfhp+GZ0KUH;1To2`;@cHucPaZh8DTn^}rnv#{a^8+s4bt|lrRyzlexuUbA z4Z~D?F@nV;Zq9?`a`(p3eVkm9Vz6YJZ9XSL{OxugZ>3YZ%+BK=dRO>dT)w*GO55v?!d=Kb7Shg4R0jM8z z7_=Ysp`Fb$paYbK-e#EshJE7qN95f*c(e)UT@kg-bR{sY3*2^8U20?S#r zK7mz?O^RRH*?*$u(X8k=dAy*i--MQUPQ;m=*fL#0yWdM_Ak;0>C4Ov`@52u2l5{68 zm4vq`W;*iW+787mXFxWE?o=#xO1PWsQXJqE=27Tw#eq&94}W_U2RlQe6uMV&6w>Wi z90T01INp(lbU<;cBZKd66=yi6kA|;Opoas7t7_&Dr*Y=B8NQYjn+F0d$?aw#59U$xfzr-m)~gsiwGs&cyiRS zYRu|Oo^a%J0GB5nxqY)%_<2X1!{M`5+Nub@3hwlA>OeGH}kfrhQDL|44O5O5cBrYK!2vnk}KJ zay4@G%Qa1|=}DH|nQ}9|q!jPu>;D(^nuzGkNV*2Zotbpa5_eFp*>cU1Ypz^Fat+Hh zPpFl?il!^Z}7Ub*V^48H> zoUVZ&U!ggieUG1Zb!0HTi-cebUVFBLVEMZC90|e0 zZ0)%cf(;b4=SfIZx_RyS5>f`}la+@Gzy(>~x!JNt04@|554cER8sK7qIe<$98UdFE z&!ucF1Z>abt>k#-t-Va31tFIUbO5dp=mA_U+pO@+TYF93lef|iOoUupz(e~sz;!vF zx6%v|aDDh065BcP4!Z8Lavr0ymzTz)sbr;Ll;VlFE|~Q`Stn1&b=g_BB;2`4{^2Zs zWe1r&@t4JgNZn(>ees&AdpvUixh+Y)?ul&9Gv40TJt^Qr$Wxh9Nh}5MbSB$_M~k|B zS*H`|5`Eo%_e`Pyt9geUVsjQ2HDYyd2Jdc&C-qkLOBAl@9unJXcTqt2Ii82D8$|qK-Jg1FLA06@_}eW)z=*sn23-M1*!ob2}}WeEPxhL_eX&l zT8@8mIa@N#jnz%JgC`uPQ_i{>HcC=%J9RTb9w=r@AsJAOE%^w7X4ztU1T-6xQP3P{ zsQ}f2Mu6%dSp}L4s>bkBS8uxyQc+_%K6i+1u8-R}cc?8ZW0u65JIwa;x(4i=TWQN0 zma*2XZe3?Z>T}IA6i*7JK2*SqBMM=8PD6#&=Lv*R%h86VCVigDH7t{*Y zYiP~uBPse6m)`R?tj3ZgG_*AQ)Nq*p%r#cSBYDR+##3#0R1!kFYxrd*=Lse>^vlaf z)PKWc0_ge;kC$|x5MSi~B~E~EIHEtl<=%tRY{%=Kikzq^N$ zTw7F6;cEW6qLT>J$XfJ>;9;J&f= zByM1c$Kq0W6%F^8Hwj?uz2+-&E9^0a)Sxu$513H|n)L@wBY|f9C*}--s3lYHPbj)4 z7jD>=`#CXEQ!d;#lZD3{;JGKg01O9C;3{8n~0 zv;cl5y{-fBavDz=HUkc(bG`Q!Q(moxSLIbi%me*is7AZhYuM_H!k9`ndwj9n^_(Hj zLx|g>de)LtN{yQ(%0S-uyNfu0o!mqbu$%6%mb)e%z|Hk&3=g4~l4pq9?$Hp-y^Etf zLDq9SmV`adn8z9Nc&0>CB^Keq=C276c3JM<>5A%qgGC-8KW@j+BC8m#MO;MwvX|_* z!jx&mDa^;r9Z`=}#|v^yvS6?xq7U_SvG>v1E3 z&k{tTV5FZnS5#OzoaO{BF85Y)rSh2d5IH=)(5KvVMJDbh*8~oApCXqut>C-?=5qqk zIImR3L4~LcTYBI_#k_^4?!>sGPU1cN4($d8dT$A%N-gmKHof5VdkR zxm4~pd^(vY7e0dy=li*<$x|$gHO374i)D>9NhvnYN_v6cI6IeBAd$v7L3d%id>U&* zYY8g+y>y&so%EV2D4U!0{RK3NN&9V_Cri|aY*3@nAC!(4dRyrPp?8$#3%yIHI=(;| za_5l|lB+447s-{lxXoDZO!7po=G|wwgizjlayhQT{nE#@=pIPwzVjX|e3YU@5$At1 zJ|w6BJS2c@&D(1-I9rxGkOW*VJC{wEz>ARX!{m}~z_Ib{f7D3n5Zo7}S6J?2EXw|s zs)3hNi0Zt$@&^P_DA*DFIRR?5@f!at1XY%6=)VwamQu0YjpTH>u-zT(;trYmJ#z6s z72)y4y@6PU0amI3_mVTjdQrj;&~W2DEQ9Lf6gJ%;ZiO4oObUnu zS+4OW*&-2fX0F(<%4*!1I-i1y9faL1Va4=82-hx0(g$T>mK2_e=cN|n<10xg9d9n> z8fm=6+(4c%;nu7N$*pi({)+@!uHVi2k|1d1um)+X_macon$-+{hd75lQ@J5M_l?lK z9Lk;&_bX1UMk;<8m@Vs!p!Q@dELnm7cqh@#QhLPyg;01 z<~KTdq`GqXx^`>+@$z_F*}Hz7HUEUt+3+X#`~kO+8zu+mFE%rXkm3>)37}aHJ)}W^ zHM%UMg}BVzMBwkD!+7SOmK@`B0nfi?LzgwbCCKNsXpWaB=Xiy@ZKo2gXT_|`oo-6N64iZR1v^57OW*X|?$iaztd9M(Zk}^0T?Ia`5 z`FtX$M4yD{Eomc7TReK&C>c8_Z&YV#qovMbQW|MhawccJpN^1D8&h%y#b`pn*zi5n z8JqP^&8noBs?#QzUnTTTOuApBP0IK)1)zDQP0q+ZIbQu~Q~g5-qEI}|Od-I?k~ZCc z96=QZV?IaJlgo$f!eHD@PM34%a)8on3K8$h1TJGNTqrl0EuV(wBtY-kZc6ui9hWGP-s-w`ZZSCiFQ6)X(D)9 zkESiNO;aL`Q|)vHP2;p<(l{Llf2!6NP{eY1aVLu{Y))&n%`Fr?zk?p<)7tEGUVl+t ztLzL8iowEm#KvP*S_jf;vRq!@aQR$FcN7V_+{>i_Wh}@yd~~Wbh6NEBoa2zew|Gq4 z7esOy=xyH~5_Vr7L>DeVOdLN;xc<$dUk;`V?}u}JWpt^bh>#nyl(3jCzzK}Q`BF(D z?jnxM{Vq4SFz7#x{QWDeh1scmkeDuiEzEHn$Y1W~i!$YKsR#!~&7$*1Ez?{qy1;)6 zdrFoTT`b@LE)hVM7Ht*4QrMzP1#t6NM7M5=pN2S>3#0?C5WuSEqN@c02-zW!3Ajdp z4`rs`6S-ahyC)ajlzj$efEr28M*g1#qKgii^<+FR6D)c)^(=C#?Y|e{pnqj&ueInk z*{hGq!J^j%imjY+BrQj&Z6}9}I0kKI|Dp`r93W3=7mEURYAH1*rA$y1VOe(S??^BP z3fi)q4s zRadWDxxrdoEBi|^rY^3_e1_t*SOGr&h@Db?w6e|_<5NV0wU*414D%WJiP9y3$d}}f zH)Qsgsth&<44)<>Ld}_&JR+##A`bpP0D=~nmmFcftXpkameYKz|u{H zY@tB{OE(8NfvDtV=~;zSSPZbG%+bTpOp=~KiO`x|Z0ReU9+EpKN0`vZx3t%I>8rB! z2jj-l-wUAKEqzTOgGM~dTKc+x-3NLjg`R;d`vTCLpbJ57fi40a0$q%h-xe)cDqs4J z9FnEkc~=1Qwx#chSTW*!oLpCb3~>=?UHwTyG}nKYkZNg8OaD@wwVbjYqXiBUpTOne z{(|yf#Cc)Um;Nx7C6Zf>xc{$SP+D`jWMh1!jC3QNzXz8MHjBtl%wATObiY|vE>CMH z1+E{#V&bwn;7(hpsyjufDekj-iNem-u8j%aMRPKyNj#hczU zPAhOZw%k8XKPi)cLjdjt10E-T_lJqVMVWl+F#;EtzQuw2=t9dpWJ!z3N?V}|k1aU$ zIGY1n(q!2k(OS~ocPU1$X&LHFA!*5ROGS?Sq6%PGh!5uXXmeW2NN00GW>m=KaLA07 zxe`jHr7DBdMbm2;BO$aOE!Z-_`9UJ~#N-qvAqA+aMr_)^)-uicED>RPa)cSl5oTg$ zi`cR7=VUB;Sxb#Tge`CO%2&pXJvohES*qoy0yZsaawQ!;gu5d3-yMYXXdszx+8t&yOY&G2N zDQplIORe)pBH6kin{S2L5dO5irPHxn<9X`}?V!T2{HN1rxh-o@Of0j`8Jm#lg#wtm zKDj72$WWGn))Z|iPraTZ!InxdFJa?YkK0Y<>2z9P%Vdw+2V`b>T-$K3_KxPe+hgnD zztLl3t=y{R0p~YylgRxDd7>y4(6SUzSp=L5Jy@Y?c}DPk!Y~`DU1E8r%Sthg`-EK5 zIU~!XrmQWleqhql$?`$z+#^+Eba}a1m5>{n{SXDIO%>P`?QlxVM`gdnkpNYqL2q}_ z<>O2rY4G(ocN3((z?;`Nof+^ zx=CIVDQuRTmoBh2wO(SbOvr65VYkX%DmQ|9XxJvuXa%ZBfX`f$!Pmjvwc4~^^Ah>V z_}_YMe$popt=Gx2KeE$$y)@7&+!*UU({|FhGc>uj1(~v1CdsueOnPV5wn+LNil+_p z80c$jmN^(oq;08eBgBNE?X-{_b_Q+BW!}~dXia+c&~}DED?-i`1s#Aj64C?c7Q5FM zb8~3hB0wkp37swUn2fAeTc5-_2eB@Ymf9z!(spq+&q&M;1YIJNtONel>#epcLchF? zH;{?CYfHaJ@P({twcS`Chuz^brM8#NR0IjZ-mGzta5@Z@6#tQ~e{i|0~=3jM7geUNBAtEE$Q@Af{-XMle+$ zr4w!QGO3^zLJKU_$wxetPEJ08qjZWb^WR|7GEC`Go6k{A;kdZ!&L>^)D5c{mYR-%+ zKNH73Xi{rzIsOZaDy6+3EO?Y|1nIg-uyng^IumLxJ4Vgrwj61v%Q(iA{>Z*5A^PLw zV<$@Q0eM*QiN#9aviaCsT~IN!ya(H&p!Y!)pbtP* z1GunC58ENm5}lDfklC_hr61dT7BGbWbc{KFKE|BC9AnNAkec&XkQ(p_NDcT5RD~4& z2Ev>9(!bk&{s1?IurCmXC8N?WK}`tz2dEkJPf!c!U!V@qzd=2quR)tZmLq4q^nq;9 zHjoS20rEgQK|atfPzq=_C>68^WI%gCeo#Ls4YVJW4mxnOCbFFC*2HTf+sWf5jFV+b za~zz)97NPyN495IfI>KCx*C)RwJ}gWs2&snHGv91&7dMs3upk2pzZ*bIuW+42Q<*h zy_IM)XfUV`RE|Tgw~bo9vE3>i?S!~j#QN#!n%YWnv#g&D$s?u?e$?cBkcsw#? zLD2*#(hN@oMG!U#8IFRg9eEfn15E}E0Zny^I05giZuigPNV>W_>ckv<^;z@l6?QOzC=%y~_b_P`+Jxqw*cf zo0RW#(4WtBa%Gm#4BYBq(y$YDT;&vUP7hixAL%WH?v>u-m=)w1mGtk$@AsrD-UoEk z5xNIxX9Dk6%(A9?r4Km{pL~sk9(H6=MQJa{M%Yh5yf#A_{u#)%$RK*+Ed7a-`Yfqw zT49ww;&^OW6PV@@p1_01tH5swhgJY2`ia;0Hk2y;Y){-E~|Z?+@LEEbARYE3TXm7BQM^Y!}n9n7I;0M!9Q=&A$w%oUr6UY zwLP*&w*5f*?F771MW;=@m>HlnHv@hn8^AFCY=24MJcPU=53GHFH)TKFw(tNlU`M!x zu6w17+jH!~tBI(IU6ClJEtFRj*u@FgRSDP5gzFA+(bSSMYuZAF&ncF~+QLc4Nwnoj zabZT$mM_zHo!Cdh&(qW?YPmm7X#6bU`gg)*dgIpQBwWP_*AQ~aGh=hdO2fzSiU}R9 zN#`(hw8?r9QtenJfQ9#t)k!bnJI<63d9hs9(IuN3Bha=c@2p+%b+C@^q&4A=wQ}eH zt^QRdEZR#hm!ES{g!>W!FD6{CC0y^3EATa4_+Pw5dh0bZH24W!p3eaz@lbbA!Zjk{ znwW6K$mQ}k=!iBy5pZ(CwUS(=T!HcpMCmqj4SD>R&Y754u1-z)*?$$0NG{ISIwKg} z@ZZ!xMy{S*^&<*#f9ux>5{eH60^-ipHG(t4W)Y<$HFPF^aY+HcxPRQ%EoUth=1T@e1t&M%P@4Pl335DE1t7CGU06xydaz{ztcyW13_ z^kEc*#&Mt%Ih}BahL+*er=5yJoHQPfZ*j`$by4R~{8Y&<4IJj+BWuM=J#tHQj9#kCXM6RYB9Ks}_bAlsV9qnko zOe#7jDi2hiq&!HuT6wVYWaYAaw0f^=OmG#oQ|T&QW3g0@wdJmHF1KKrTI}r#+vW)} zT3S(8o^4(sP|CL@KL%kDgkg5qRRD@0tPm6h6@f76>M90d($!T0s)pnMPz+QG!lbJ! z3PPXh8VG8J0P{f)Vfs^$22||GLPHQ#qCFiHbqek!l`*}uu=;^K zwp7`sYohb~x$)E{InwN`CGLg-_Gkg1EilLcby5;&yl-2f%-Xe*BYnb2o<${j@;Gl_!6yq@OSTjl%kb{sKEq9+Npi1hs0x(9-y{ZC? zm8m_}y4Q@8W#$%yj2GwtOc3Y+OccN)#F|M0eF&+>g8~3&`|SYWY`>j=sUo%uFil{$ zoY1*uy3Bj_6mtgG%#a&dzYjE1=rNz=@)&_>>HAbDE{|p*Et39+2e*5PKvc@ByIBBr*?o$6 z;{qBw5wg_$ouC@9O!5;0oGQ29dcbJ{O@Pw{Q2*V_B~A-MRtTW}yIW1xh4eg$kTwZH z{dczuNS3Yc)dJi6JzZA!nMEOrvI9}N3I`MH^!HfZ-324bxeNY1^4qz)0qbN{dpGWU zJaj-Jyc(-Nnr1;y#-32@Ky5YK-NLRRMRZoeR)Rm38IRgz8=(4O-v znunDER+s#lpaO74>8Au$fKJI7%C@IV3N40^H4;(}=uRrzo*pSQlx@#i5o>|iI;q1B zK(9a#7h2B-DKr#q&qh(!M}^k2x!_-9%Qnm9h9olsu4a?WCmsu(n$242i6rA}Jz~wNnL< z$l7Tk{wN>{1vA8!3c$>?ixPFVw#L7cpc)~wlIm>joTNHiTUWsw)0-eRH~3?U(+p_v zKTXiWnOQqeGSfkovG#ar!97+gztugDBv9P!qHh4m&*kiecz*Bk#d2@CkS^QEDcjvS z1&Kmm!jLn>i9kitcK7?qGx6lyGa`i>rp(QbncZ0~@2zur-yZ7o3lf{dwYJVD=5f^= zHP1^*z)vAEE(SaEZPP|%bG*)CY}QmN0b!QcIRL*3VUnhkohRD-^zomjiBIyxvvax4 z50>95DaKTHcH73HryCeUKT#p4a)H)@f}nMvD5%#CaUQC)99V@LqIT`_V?N3zM1JT5 z12}XrU-&I0{Khg);>!rqgBW#$a5W`drzBjh3D+8OiTODmJzmV)s^)w2bV2K4aiXUS zCajEl<+h(&FjhuAdY<4gl(R?A6HGqInn%wQOer9Go?ya6#;b%D%s{>2pfpI10AW7r zjYPamgpC4afkuN+upZ6CIfZOw$?u(Nn`aYQIt_uSACLA7v#4fi`7v2qfiTSy9U;$> znkCvu%%oXr18J7%{T+wt22#IwiEWl#8ZX1G2-M^+1!?m1#*QOuiCzYBk;BVDYRnZN zHHMB0N;2jukQ#F}C}GS^^yV^Q%uWQVF*k$MnEwH(F}Hx!m|Ia!YRqj2)3Ue&q{-h2 zqVE#82&9P_?=Hs-+7>U6?>l0=+Hf~WZP@K3H?bc${t?vR^w}=OyPsx52{jKKqvpY5 z)cgdbS$PPgS$P;qs8Zu)x#sT)r9n5@wrr5vmJ3p)A&@E!gS33|Kw4S(AT6y3C>2HH z^BP?U0N`*5Y5R~24oSBz?^16W z#r?J$lK3C9)|?#o8t;4mui}a}U8g>JWA7c7^6USD8XViQ-gE4dEB@aYnw*%p^@tu! zz|4k0rkeCofm+sv!I2hn>)b53VTfTw&`<;^MB6BUKE2?mE(_(FjRV}P;?f&SHWuzCkr*eju~?1`DLjKbu$jb|jRlVqO=LB!ano4$5IH5uP2)WIDG1pr zr{K|dUz^4_|0J10j+o8SHcgP#VdO5jsmc^zNgD-Ok1Cp!{|rq%X%yvndBIIx&TNuE z+%@tx9q#Tt_NOzItLSLL;HHfm5>lJO{C*EonG>QVv)oNB*(XsHOl&tT&twCm$o+~SA0~?Dk4>$?(+IF-dQ*Eg z7pcK4byLTn%4>P?TkKh#_t_1+^eu3PyuIiFoGBloZ4M8lJoUkAtxT?V0M-fYs&1td z5jSn|>Pd`NBDn-yz6@lIn;jGAaTby#a#szkb>!=7rFD+HLBuc;=yl{BB>Fh*lb4r} z=;MJ6Sbo9GB(T{DJ#rsCszK*jpa|$3XJFp_R3xBt9m!q==sZVGF02Aw;K)1CYS1M( zvn&=qa&P?IN#GhR*Ed4qT1QT*XaZg5$ZvKugRTd4fNlV72Hl8NzHOkJoWk8yFjs(f zI`T_ISAlK@T@Ct_ME5 zz*9~>pVn(OYw**ss@iGnrbzX88xnZlN!v%#`lcxGB5G`;NGkQkQQ&1KzmHH~ z90h*wL@p!jP~kVwqNxAmETKN?@#Z9?a5VTl1oCTL{9>`_e=Zgg%^YO@mmh`wU>9H&Dgil^`1rhe7 zPY!Ylfu8co@?8Yc3%(p4OSRV?@JXNQLD-8v=?yzUzwyb2;afnz^%e0R z`(2=yeWe>H_1&O@zQNmx_JCgX6<$ZQ7xcQX><*%S&|AK|9~12d9rBr5DAxx-Z~OB3 z27VCq4odeB=v`m_Llo}_=sjN%|2nYt;rD%^ehQ2C;SYS$`QyFxuum4@%exbrniX46Wm7+<}EvYav zGbOWztc`lWV2a$^Dip&h^7gSxF+U~e5VhuN#ljTXwy{|;3hYxHjJVqrhoq$Qf!J3l z4oi_A%h;h z@rWhqTJBnMhIr6YzJ!^FD%d3_q`Nl|%K{Y-TL|FQG(BGBhvZ2UHfji)=bALCV;R>r z*UMZ*jexv|PcD6IkIS*$MI6cnekq4a$+L@o_J~K=UUDKMTQUqc zR>{bgfZG_z=DT;24XUUIAM znF1)6EwkhVe3Z+U*^&_MI9uk(_Hul;w`Hz0vnYT1y9Gsw8_t&Fvp19GYMjTqnw*|o z)^Ktz=f}N_NXKIr%2`?7=wM zTMpwtyF8x*=$98?r~mjL&S`beC1-@vrtbyMt{6<65Na#2XAE&i= z7%2_f56ae|TFxGC&Pb@45Mj6KoFsOunrgXwpyGSZqh;RSjxrau?H#h$4sE4!MWX+YEt@g9TC=_u;d#8CRpD=ixO3|8Qw$NM`H=(vjZ$6dMz)y^)V^l`5#c zNn+3s&26x1cS?VxHI~=79Mu>$)2Wu$GE;ZNBRX?6)GL>cCc@t12lXa@MZwYTEzYRh5| zw6PD#6*zr46&FqCBua!OG#x?`El@9Aq&R_`9#Df9pJP|Y`{Php%F%zZM6nM*=d%Ko<;84;c zT;LB$KPDS^8>dK176R|cxzE_K8+ccK@fE!$@SZFSq1Oc77eGe|d?0{Y4E#BZ&#AAs z+zTmb$^L<@^xAIn9h&{E!)zIJko~Qd$uBau4o`lOxpf4nO0u|hq%F@!G0-R+w%Y<4 zjbFBC1y$Kt`U8!zGvA@adq87tKcAbo88i-War;2y?Og9p-diBI#Y;nld>BBkcWIt~ z87Yuo_q{YfopYkoiAy7HEs^}(?6w_S$(b~H35q-W==^5u#FQT#D-!=)Ptw~uEB7r@ zoab$=b=cra{yE;Qby7K%{A;{h=StnkSh=-6z&2@L-a5yy;o+aKmqY)ot;glCIeOkp z{nlTbOGyAh&!@2&3NHv?l-zni0QJ4~MFG_J*53$3q2MI}RQ}fA3ZOr4{ardgI-@0Q zeOVv|8|$~eY0|zIPxY}%ocMa^Z-P$rM9>J zYbQCAYWtX}s`wxCzC?WD?>wYe#I{!3CjYLuHIwPcD+0A<3P`P)3Q}vPfiNg+oo<^s z6fcTA%>Y$^W`eZ;#B8&IB&)3)HeGJDoTA5TUHY(DOe_Jc(&Mp%o^}5pzU~9OisF4A z{%L^|Ae0b#3n0CPUWL#*h8}wFy>|#*K%|KR(ow1)AXPv`I*6jEsDLPnpx6;X5q)R& zz9+!_|Nh={U63=MeRg(sc6MfVPjl8OIoLk)1#KG*HZ)JY-ASBP#~)6=(d|H8Y?`}M z&mUdHEaL9e_eWMXDeg`KL~?f;BE{WlgcNtDF?O80)65^$!sJp3yK4Hzp(YiNl<5uU zm{bF#T4Ki&e9?XEzS!NerFneEGnsUZEfjaUq|&R;bxZBmz12cC1M{+h`QNLiv9sFw!;?0-YHI&P8|>i6OajI3h!m@-6H=_E z&PcJEx*)}B>WUPrshi)MP_mkOAjN9xiLJAmdLf0^1ZMR{E(s`0AEXkI>WfrYr1~Mx zzDV^)E<>@qm1dcD6lC4(cK7+m-%vAa!Q*eJnY9S1FtS;UR2rm~AjPV90V&*eowXFH ztXb@joX>jEpXql~;jEaK{Hg5=4Xl`DNX4OOJ7<~qCDcwX+Dc^O!vuVv{o&On!IJNMqUYG<5AQe2xQX3JG1E5?$*S7p4}W1ISyg-e;fE#_ zhuYX@zQWG*jch{)uq+1`k@E-DbS z#iSY(uy3=Sl{S#~ph?C0eNnbYu}j#hqU_*om$|eZiq1Sr=dq>mK3f)5+;3-iDJ=Yt zdnBH7;PKTAxA5mPlgV5*HmW5)evd>ee~vt4P>h{+h9<8y|1C7T>HTNk|7FnY zw{}L2GJWc6tb(Y~{_txifhvd^;}4%ODO5q!cz^gylR}$|n&c1vZc=D-QPa&db-Pyu zwn#Jmk)=!uZ7#~ZgQ>Skq3WW{dzO}&6xv+W0)NyllZy8aK-5Bi7oFJry2NSQY&*-|GVwaUEp z$V5Ji)Ea-}LX%pE)LMUdi%Bg*%DhSGQkE-Rx5D=cc@s?S$D|8UNL+ZIU*`7qqvNg5}(5 z_JIB0t9g6veS=eQfL-H`$<-cI?2=8HH-VaTj6JrfBU@mWdY@gz_5$`;W2txJIC#OX zVh=fM;CmZ*%;XkjsvZs6J~KD>&HvcXzif!j%eDq=-YcB<-$r{wF__aV@!lJ4n+P^% zf2YWNJDpu%*R?GI3yPYQ_mf<{V4}g8dC5z>XZAnS*_jdrN1LbK%C^Zo+OYYmVz=Ow zUEuxaRsV-3X@1Yo{Ew2`S_|LWkUW9P}>b zI6sPw+7k@7-t9KAH<-#qy41d)cjd@U>_-X{vZw<{rN`zEBE=298T9TOWHo2dsi6JM z&|EgpsMEnrKa_N5(3v35prAdg3VH!~L*A`;Z{O2L6$pj*B^RtKF3r zFA1ssNIi?xz)-fD`;y!B;E;FKzYNQUAhi~$VW9%`Oyp*yhKC9_HmRLRO$ddy?=|m8 zFh8JSE6`S^SApjD4^3@(br&C1G!&j^7GRBHp>%6Zf~n%6$k*)wz_JoJ9Bd0EL*dhA zSyn776^guKQn5(Ig~ETERAHn_ha%INQp6!u29f5PJB?6!`*QHp0I&0ME zP|zL>)WVq1V=tdXjSYFXF_ilvDLRCa@oLetgpVk`5w0K7vkkW@JmzeUIV@mH6t8uaKP>F%y6bVreo*c&k9G{ z5t;it8!7JL95cwgo!o%uhQoPHDi-CKXNDY;Vgr5->#+gP4@cHD%PJxA`LK7BDjul? z;cz>%tN~IBkxD>n5mJdrEk>#RF_gBef8z6-X^ZYGpXhWwYK|q*jH~1m8*SG**W*<}|6DShhACS>B`$AhjN;caYi` z&d|^-JMD`;Z;nOKR(sIi;R@PoZ*KsN?r5!>`47nfHaXt@H#FI%*yIeC3_kCkMK7}p zR=H$wQ}VN2$&?YJhRQp`*Ea@eKm`7=FmYl zoAgm1rVN)dDeTxsDbt)VtD8aBe8M*BVoI-P4*OEtd42;Eg*m)8>qq}%SM}!91Cp0| zZ&C4nk_kWM)YOGMpB&;9?6HucHpFJQ$%af`YyPu+nlHG-EqEt+UAt%I3vKKIdn@pJ>bsEXHpFfg^=F^?g8kjnb;%icA$DjtAB3|@?ZwLb$xFS95HBRT z>Uei{qs!{L4Mz4Cojpj-z?4Ni`;^&j$*7+&ly1ruzXUGidboLviT)7F|VIMzVSHoMsS;WoQX zU+`s<_R8^@UEr0&tK&z{9xKdF8*CRxn2GxT4EEMV$*qj6rHK346+UGRbAU~j2S`htJ2HUF(~ zAvcmkymy>=N&9IC_Hx@zgAcxIgKcxSmr{?_vu!lK;4dz#Vs@!l7VnwYSK9x~oeZ%@am=9yO|_R0&v8|+Dg!(GKKwO3+~DjSW^HYxtVV4{n&S7ndYhJAZKvr2Lyhm%9R zI_r^*4I$_30=qYM65!q8^aZ~)Ph;#*kFufA_idnkYDax6!0o3f zllB(a34pi2eD%M18e<22=2*qW*ukFG$k}jfUa9RfUvP~1AEoZ>LhR^{+po8y%`-c2 z_<~d2Qaiq*AF#QYqiz@218E0vtY!=T|NI2t0T*Y7_Q&FEvqt}h&gLr{m&L@`f84`K z>&%A2Chc`pcKk;McrRaGyTEokcJTL(t9d=&nk`2sYxX~1u)FymyV}e>iymm61&5jc zybfo%c@nboIPZYtU8J}HHo+{3x@OkiVV-c7=S{5>0=2`{kNPkf57fzLKkLXu-Td~W zj*+(de1UpJE}JFzJ(ECv?;Q?!r8dwYwcP|>CJi*qRNG{R7iR;FGc+&>yfPYS;$67K zBe$krq7D+xyhH=;n=MRmlG&tJyuyJN;g!k7Ynjh}7?#Cr?X8vud9?91g%^?o9dg=L zSiDZ&uS><6yIAi$_SU~Z*A!<>ObV0R|GKTs--8H-1GkR9>o#~hmwnEy|Kufb*%J80 zdqXF;ey7M86UMFI^$Hn_Lf*@>&TR9koOYXm``$Y7ex&~LQZVcQ4&D1|$ zst!{Ry;NPM{`FGznEKC4)%Ta|X?~bD;Pmka&g23O{9dNMEW>;C_5~XH)7sxj#7j?srv98Z(7c9a zv&d|o;yqW@Y(AR(BkVP2qDWf#>|*abJe_*$3w1g|W2(Uz9xtc0I4Hr}IT^HP7uoFP+C1v`0VcZ3Fh7 z!}rZf-d@KA%uW76$6fgr`*Ya@OS{ycx421#QN9=bv87EaJyI|E^Hwk^mVKGONL7=H z#j@r8yzwSwZe7`r=?3kGWrOykuEE5)=D(o*&wj|#D?s|dM)M-FiN>m%{OL>E+Q7nv zf$jeA_7iU54jf8`zK#@2w-YtO((Ur6t!Xl0>2~|Q-+g20_92xwjonOOKaR6My&vfV zOlM&FAk)!Izr}P$eB?9mHqv;rP~a#^Q5ZXO4DYLnL+XS-rmoq~1f)*-GqpV9<6X?a zDSvdLN%h6DGstBqQWuaKiPVQkjYaArwmuQ5PyNx|O)g1DT|(ruxM1!Z5e|$E*iB;T zIDE?-Q{w~SABrTm?+F3#z6I{j1ttcv+E1{uE+?7Kf0$d0n{md>59Ap;)7q&vV3E<$Pb$Y76h{2GD&{eB(Mlc ze%K_iIFR!vvy>k;2`oV}9-pTOEDb~+HU)f#$(I7&*KnR@(wvj_(}-u8T#n>9CRZT& zUI@)=Wx(rJ{Cx`|y^866Os{6TKhtZN9>DZkrUx>;j_E;6uV;EN(;Ju`!t^Ul4`upQ zriU@Tk?G+~Z(@1`)0>$d$@CVcM-{|D*c$N0feYMw^Z7tKEBTB`^Z7uV{EA8Q`9PcG zr&t2~eBiHK`UbM{;e#lFz4*f35R>}?_{vl!4+Okho9UT6gk;tT)bbIQ(pLoOx0v=b z{WjBqBG`+gfsBE(rs*=bcTti!CXWSj^)Zd59FxZbxfYvbH6~9W*@VfH$hsqwrvoW6 zna0wU1v|qHr!VFU+I}u*d%{$kr#4;QaUt?^s~!Kb++5lkMaNyTE>;ZXQflVbOL z1S$4OZzIJ%=^dovvEI9(+@sBU4Ujq(^1df10jU$An3QIZ5|KI?%4DlzDB9U6+|u{Q zhmk(bbWNtuFkOr3vrN}Ew~XwZ*lsjr2lJ49X1)WuqxsKPN{roMZ;5&R(>(Q}?QSF5 zyIR70c%fTrs{u>#l}$U`0$U@@>Xdn!$7~4ihzM5pr+)AMo;rF{%8)P0zVA1$iSt@V z(EC5iXYPuaqBik+IYc!ziRvz-q%XRpdG6gLh_D(Nw88e_1@>`)_030OU0@2U61dO> zruIcAxxkcG9|ackvdv+~J;Ah5ADF)95mvU5X){^$R!W!F_DzqL19SfmOz-`8?avMsunT{n<9 zr5BLxeY2jeO1xXaHZWX&d6%EIgg!G#Hd|fq4|*#G|M91_QMK)g-d!g9&H~(BK)`E$ z@5k-CJQ0Ac1}|deB)iNuvXHm3ci+L=r9fZ5-R4%i++MJRyk}4TXMPsIEDqX>y)jDaXb+1D0H@$fgzE(CTe;seRzrzRS73SgQ zM~?kU-c;azkQU&AD@5a z36q0qSY}}v+agYFlEMSKA$~VvY8#o=1;UG z&gO3yOm!=me7Jn}MAIz%RUga19u-N7TklZE#Z%^HqvIS&m;?fXOdneE*Oegx^G%?v$2_m?SJNx%KXdjJ;Q%d zd~Q9r`S)W!K=fno&C-~5P0+?$uSIuxTF+_znGaEWkAnPbJr|$bKPC9wZFibi!KTj@ zZ(+JI`*5R)iyv;sRP*S9Ki+=X@_*k9Fi3qAV7Pc70gxo#ITkQie0fU1GVy`~0IS6N zH3w`H@5*xS6pyuy$UIKtPx5|!WgD$|*hXX@t{$e@C+2Y-f0Erd9dJ|pyw|#XzPsXY z^#OEZt8w|q^T75Hk12=vnc^!N!v_zW%11M@VeqJ^@2AS_a?DsQ73Wx6ZiJfPyCqI(U@;j6K~4>ohn|(yP4th zEf7!Wi~L^@zs2Kg?kal^R}UkSkbX`4Qdjr^@q6qCj*HirfcOjIFWFAQJg$hR^Jcr| z{*ZVHwv#`^7iB;`K0C6Qhb#X{wvRO8Y1wgR6|e1G*_!@Pyj^ePTUGoI)_;Pyi|;J{ z*JR|=U%W#x_!#l0+QDatr(r$3Bz}{F!z<#IdLWEzsL6G z=ka&-@A642ekmRDsVv@{=XC?|4m^%+#Fw!h^c3$`5Ba-s$(0AAxf$Xmenbz%KQG>@ zEqtZ;an|!z@xdG)4~YNgU7-7XC&ibr9eynS2Rn%C;!~KB;K|zyq$QXH1NLSpRyf}5wFPeYnFK4!pLW-_?i*$SHySlxV$00xGdt| z6(7(N{-JnE*8f-HpG`shFXF9P&VR)l@%)Nny}ILar9bk?DZYTmx0rZRR>W5k53ql1 zC_ah(UZVK0>By&#ct`Kb(cBFdzryx8Q#=jF(-*{Rvwzqi-ZMS6yIcGa_v@&5mb{3+ zApR4N<2CWo%>SYIejdj(VdUrPKXxe6Im8DIh8Go|#`CSRcqR5H4a9fyf~Ku_B>RWn z;&)h{(c-VL-J2X|-lROdrg**?@Mpx`JfV|#&uNGsApRZC_i^H_ zIF8R2|GGBvSt|Z?N%#iwbL=N~i64nW{M+LHa@;&GK9PPyd@TEi-^Dj`eLE;yA-7#K#PZ8w5PJB4q=NsbRbKZVZJPmI)d@SCE z^MS9#Z#2MmZ;CJJ3jbMr2j`6s#OKsNd}M0;wTo>R>3tN(J{OO4{k-@g)_)E0^z0{F ziM#D~7mwrh`(W_~YzGs>Q?lQ9Ry;>%?9Wp1hfl-Ti~pMg{<`=_`QV4epK1j^Bfga9 z#aH6f3L^eT@x|TY_r=}$j@QB;we#~?5FgF$xZ`!I3_Oo`Rn|id@mUD>H5A`g0SnrQ zFBuK*FaA1xthnpPW{FSZc>RL-B=(={#WS*Ac8d2MfbzU0ewFq7o_IQ*r(cL)X8XJ) z{30_jX9k0`?iT}p_ypee6*2pJOd~h## zZ}A%3uaV+0ye^w2?#{1;;(cl&|JC9PxnHk|H{tm5rubc!^R)Q*3CRCb@tmXJ--_3- z2mf9Cl`(K%TKsj#EBy$h(~4i_xSUh`CH5Od#cL)ZpGxA32Em((_s<4zFFv^?e6qOf zH|C1RBq9Dq@wIHv8^m|p9XF5N;$PK*zb)?WKU@?a&iHHMDcS%3D1Mmpy}!g?oQUnF z}6M*b<%LVE%W+8!?{%`w6#S%Q9oTX~m!6JT|*{Wsb9j{|~PyUN{2zcM`wQ z9Nu3%rZ;?|c*dOYIpVJV*NdOci1^pVE46_i5szno@}78B&a3^=SkKklVAfAMaUZY8 za*3ag$NI&@mvG)#S-c_V+x5j0d0bnIx8^uCOniG^Yiyy3l_?N}&vtQjJ zew+Q~LGdH(56_7A;r#qh@k@!=ZUm2;tLMKb!83}-v3~N3uVQ>D@xWN*^R&2YKaIsV zvOjd!i>^G!ha#Uo5(jR4XF1;W7XP^g@);#Qsx^FucviNbCE^)4 z|6ebjj^p?)@pGJiz9U{_9Jc$V_}p&rpTzIxg8w7_VncXpj)$)PKb#8BE?%K9yomUV zoNreWf0kZfd^gL{Mts&NjL82+0T?0f4T&=TUR{Sba*TA z=XqWX7w^UMXsY;Nj)M!u2XeeyBR=YBYjz<%5v~5;<-3)E-3EaXHZ_eTO#tQBi=IrZz;Z?_f@-#*NI2`F!7ai z_qu^Ae|5IA1rq-r`}5V}`AZ@H?c#HIop@OM-E4?ICvLZIA76-HZ4Likd?e>-_r;s> z_@?A`+~#8br;W75%~-g-!dMaB%Wy+ ze1UjTo{y`=pXYhBUHnV7&$Hrt82`EW1om&Y#IN;0dG3kFoS7il^r56hp)xu>DUKUzUV?=8J#GetV_(cwS#@ z6OYS>eBKn#I39jReBB`UXX5?)!*7b0sSp2Ce0*DY1m_Fxxco5z9wUB<$34Gz0nS&; zh!^I3tfu(GcE~?LJX`|aMf_qb_+aq>$Nfp-U$CB^6Q9X)zAS!`{p42h&Bd|ZgW?^) zzSH78*q^)mD6T#;bH4PQ#BbpJjl1GU*}sK2?{oPS=5@5Yj(2{R^R#>tU#T$)T3UR- z2zb2s8qVLI5ntE<@twtAP6Hn#Ub+^1qWH6U;q%0cRfDe(pUryPB7V0E;tz=TDhod) z{@z6Rr{ZIo&kgZ^>mvRS@n0IjgDjV;|9x%X(c=BtZ{!tk%K2NI_@D~Nr-t~s_V8xn zeR#Y&iRa^S87RJ+*EJKwSEon*bH#t@179wliT(U$aeS+!&$nOv0mr+O;z!tzeIj0i z=kE>ig{e`VKg5qzhX*;Hxa0C4=L6B=GuS@!il0k?eB#8b@p!rW_b&f6EJrhm|Ee1D z=_I~C5k5lvOo%@_rg6N9%!B358-UTJxCGg*vWORrMqEMhE!?m2;zL=^I^u7RK|U?TH%*6k7f)b$hKc{o@iIyL z+tSEqf%qRhE~~{e6-E4Z@hU^%N5uR3;pfGN^M3nP@rJx!_(^;t&x?P=zu>r&n&+`Q zF1LAIpF{j7&a;cFSM_<1D&ozmz?+J1;Ca+d{1p4i3F6<6L_TxGf9JgACGlgNf4(Zd zkK^4N;=eqD{Ev#4W&8#4TkKE16c4f=_)+{U+t1(P{W-3M*&n$2uTul%$s)d_3%r1M zXbQZnc$ni_P4No!XT<9^LOz|u*GIw!h;QNX9Vfny{q}6}SJ`hY72lN>`M)B*p%r|W zcm|FmZ;4L{BK|}1uOi@A#ZyMXe-KZ{<9<*4S@!3l{8-N&FQm+mL5aK9DN2b)*Tfoi z#aB&$w-9%)&vp@yos9T_;_mf=@#515Abz&Edtcl-arb)h4)NS&kk29UV&mbb#a|x? z|3v)5vGD8St=Vt?EncEH;!`|@zpnl(WI#HP_#}>Z#l?H^xK|dx+6nnI5kJTNd5`!n zO%Z=oJk0&-T;R!aPGx)QFMg5p;o0JCreggM#D{WTdPV#e+tv5tuAG00@0^bOg9V=~ z=fLhrR~FC7{MU)Q{C9{y#c}zN_`YGt|FrlJ_Isa*kLI}lv-n}w=L7Ly^CJInp(ppN zAp5Z#;!8^)u84S1_CFQHTXKA?D_*!3^64r5D%dwdye!-KH1P|(u3scRmi^=|@qd~B zQSrTO|L=>>Esqthh~MLOzZbvH`(yXSJ2XK)nG55uJ0D+QyDcEzjq}*D;=?)a)D(C1 z|BQGRmScdp{l-T7m>~W!`@MPMPvu7Z%i^=!!?%gM@#T>Cc+P*$h+nUSd@hNX?FGLf zUYPT@5XWa%pKozXOz(|KO67eB)BafkSC>>mz^|J)GeJS`qff`1}jit*RQCvY79MZ94E`TQf^ zj^}m$VpyKa{IOlYm7Yj95_kPoTk%CtBfh72Blb(f#QXAmpDccl*B$f3Ta85i%fxT7 zeQp%L%YJW<_)qMY-W7MRr+*;cg7t7kd;_nuA~^qY^|p@NO)dTh$I}ervw2=;5wFbq z^SQ+5a6a~w_<~r}PigU572)oFhAXGL57JTM|7eN$e&Q~Ews=X_=L_QQ{`fla?(AoF zh`V-mSbQP-i?ibH^Lm%W@7omyLwmLT{m42-_7~zRdM$@Zg;=R)#p;y&wYt^ zpRyK zargPD=Hl}>PwOJyi1Xfo;_mYf{@Y`|90^+tj9y*r_&?< z)8bou!#@$P&GGsh@w3el|EsvG&xhi!KC^J%=Z>SR&jRANM#wZ(w`tCGPr@XT{s|_-+v&IuzyHC+_Z>9TRuuydduGzkMlwB^~m=E#9aF{J!`n zJm2&1{+X-i_gFtA#lPTv&Z^?BeKrs;8;|X_7XJe58zR1){oX`zSI=*XujBoM)8dQz zV*{UvyUz(<7kB5yuj1*4A)klhO`n0M;&rO4H}`(HEaFW#E;}oAj)2=X>%X|J>podA=7HclA(3d{1NK(?Gn-Ab1<`@4Lc# zio5nRT->#vB=N?)|L@*M>GtcTM#z7w#Bb%i?tu70j&~=;&qN`gkHuX(ye|F}>oX_k zL9RT{^Zrp0@jGGUUqSrEYVg|Phj`qZiyvcu)lK{;vhnp1?-0a-LE@=1z(_p_q({u-_QF5?l?}*f_&17?`sRsDem$q zCf+m$;@y1+m%ocoka*YcbrCPaab%SEdzF#@H1Rt_;0wgNWPxuHcjNm$aaW#W;^ShG z&js;+2E(t4pW$);LA+dh#NQJiJq8}Z^U~E@EzYmp=ck>!?dFttH?J!q?(VnL7LRO# z?Iws9<^97>;-}cJ_7`{G*EB}FXA<(CA^sox$wlIIx*~qHxVx{hO+3i+;(&P7=E&!S z_)%Uzek5L$+r1`!nDee5#g`-^|G&f&(!x`)ox0=oD(64B#S8F!i5Jh>2>CP>Kc5=j zUVQKrcwg}Yy#F&=d(oc zG27>N;y<=V{2$`(ybf?bT>aM`hIn`X&$*xN+1-b5KAGodamnW*=Ur9AzvlVgR{SQf zmwSjOjzW3HiT}*wwOHI;|Ev)&%=73C@jV5R|4DH-eq9vbR21=FiH~6Y-xD9mdW)`# z^<2IEzD(ehl|FN&Fvn|a zO1uWoue#z-HAQ?2@vnKlcM&hi_&MS!*)O^IwJYbV9GBhqV>w^Xe)Dt5$9-?)FX9_( zqnr=KyYu`?$$E16SL1n_Q9K{#)v@9+Ea%hWCtG2=jl~nk!P|-d%X;V|UY_M~pPzH( z{HHtenJ)3;d4Jfw&gSB4al30IKAZ*lY!|;X9ezlB7OyMMh))=R_)FsNus^&ZzCH@^ zcf@BDhWmMZT=_GnfTt68{bw%mJRCQRiND8jq_X%v9>@CPdw4&kgSdO&-B|G*B~Z?n z#cOih-zx6jf4E0{T{QAJChk6Wa9;d5_LG;z2X#h1-;2Bc{Gs@6_S>mzU_Dp=!#TcW z6Ti!Tr;vDE_A@ob-F);J@tPcuI*EV8{(OMA`~IA9;;W0J+_S|e$HJG2|Hk?12J!2> zzTPFigX8bp;%$o}|I6abIlg=^ezX_j?}?9}1doWvUswOd*#0w$Po9Ffyy8vkz)Oj5 z>j-~ZJc0GxSp0n+_jcmXa=hy!z9o~-dyEp_$ocbh@y)FfzeqeQ>wk^-`J9N~E}lOY zen`9=+xHpq{>2b~N&L$W@EhXmnf^ok2=fWn^mz|=yqdUqj(CSLh|4QJ5$vlW{ziH% zXeM5P_1{T+Ime5E;^}yPO%QLI4*Aa&zg+~rT-<$cz-IAFJTLZ(r{Q((NpUyd{zTmM zKi`VyWxKi~{u1Zsfm$f9tAF=;O$PD8JrEZw{%kpTDe#b08162#r-8aj(F>w*0HiyvhFI6*uo$Em5}DW=gs%}F%69px_z!G9uZcg)e&DcpHC`{hD?Xa%*J<&V>^R;RKg)XfSbP`fKVOJf ztcU&jO8l4c@SEay;^Fti{j8sd;#qk9201Rdc9p(9@`)6m?}w)oAHeNq5+Bavm_vLj z=k58#FC`)WGUD#@IhDj`a~!NL{%0)msUv=e?Wd9WVUDv2;>TJ4ZNzKv_;wWkm-W_N zJj`@oad*FRu=oePQ2vqPmpa17i`U^if2w%VXAr+g{6=H=OX4dkz*mWPjEB3=Tf27h z9Q)NR62B^d_}9hj6o>B>&&unKL*kWtBmSs(zufRs;xDq_J}-WT{pUsTQm znZ$du{&R@esfzsbia*EpQ%HPXXT+Bfug(6ptoXOgzq0tV&5=(H@eRY^b;Wz}ylyO> zKNsSgi>K%K<-SMX)#q27H+GWv73?2+h*uwt{QHS-Z3Z7AevAFaDDka4?i0j!Fn+4| zcdQ@R|GDx{;5ag0;_sJ2d6tO(#e7zX&*_f%ZQ`qVzV8x$))v4#_KUmEw;vI|&vEFO z_;`+MXT-mZLjD)TM|6T;6<^;3?(V<3`kBb%`-jBu<8|EM;ulLGA0Nj7mrnuK+f(8L zdLq84_=<7xIPv}M;qLoiUH<0^!P`pwuj%2P#3Oiq^$`CW;Xe0yIG29`*4sjf|B~~W zcg5ZJ@O&WdzR&Pa@umH+;ULFDx808?!QK4Ad3DxXE{VUxey^zbdufqRMe)nLPgO^J zdo1Fci?`>zuCsW`2*eK%&s+^YRy>L0%S`b@9A6fTr-(s5Ys3@Tf4(NZs665iiYLXx zPm0%PJGm(CJ}3T_cs?GNpTymD+27)S@%khs@87%Q_#5Z9apEo6KB|cy?}73+5WiIr z-b(xfu&=B5ai#}~KV=JM9^=Hn&k3I;KAQJ!mWc1+`L$NOG0VAK{6Sab|EBnzLh#e# zC7*_WD?WG{{5SE*oVWigj^AkY`BFE;dhWQSYmIbP@fn;S77%}}2;$3#muEYyA--w| z;+u%O`*iKZ8*}{aEk2g}J3>4a$BQKK%|UE;zIb(B@2n8t+ZFMf#TziaM|^HR#J?-P zW;*^;)stI zpWg%ijCkdEct`Pc><{~k*PDv?vEpahkIWLE-w*NY#VawN*TtJMeOP?f4CHfGd}@FA zCGo3lhu@03??3!a{CWcNNyGVXDwE7@{<-^K1;pL`v@+sFMj@XX;yVk&n}`o!KhsXU z68nwb;u+arjS!#9{>Qyu%e4VtV_++;8LE`Rr4aSSR_vg$OPcs19 zT`E3==Y^ZMy8Uwbzb^6a_Yn?@pD&L5&xlW9JO5Pt0MEN`#M`r-|0?c&=i;IG#$MQN zYF-Ds^8d_vR5o$LI&tdTgQSb}m#W*fp6?gsi58|%By)XXH zAmksx>uFd2E}v*|_dRHN#Q))azvALQ#Uua9;=l1eNq=$wP{fZBcjcKO?ml0$NZgHU ztHsa6A^&aSW6Q#ii}wk`KNLR@3%@2_n&aS4;!SwH`9QpCDdZE`0)Jiof5vekUVLr} z#5EOn{c3x0HxBj@ckgc;Dem3}GF9A-JI{-|apYxjH(o^Ze0BTv-!POvk9gBqcyaLu zL*Pl`)j7|cFaBcy@h^*iPz1h7+#TON;v35${#|j`em)R){puC*H)S2%^b{Xe4&}cp z-ktN_+v3|NApX9156)*IT4TAZhq5t9=M`VT`C&KlpAqgGEWV~I7EBO#{mirCN7#Ns zZLppz&(oZTWe|7sUiUjQF1{77BYH~w*O`#-FmYF&W#aDpRbCZ$pOe}x?#h#e{j@93 zf$rGuQ{t5-!b^+4Hx1rUd_g?Chj{5J@VVkI=Yzi{UfveWJPwMx&xL(1o{sk?zY}-A zhjm9hSRMKM6Y={PS3HXM-~JPS*Z}$D;`N`){}|hIaq*XV zecDC5HRl@x#0PQSHAcKs9c*`o_&@33i^OlS{jU}evftPy{>2F7b3ij9)F4FWWSN3BbK{*Zd(cIjN)$;hsTQVV0=084V@9+RQw{_ zb06^vJrO@wydsbLGI2MaZWMRdeS5?|h)4eKio5pto%sEfi2qZ(0+0JY;(fCtKEU~u ztIx`P;9>FWIpAr<^Yc8-Bwm{5X;ty#9PgToyZeWo#ofGOfVlg7-&pZea`wn@v7rc{xrN_;`XaQ$J1=$ z@5CcMUi^LDH)txJrYPdui@VPi_7QjA6E#)*Gq$Ve#jCNueOWx$L~M7nxch#vL*n1F zUe1WS^YsP9fm&?zsz}9kn=}(-19X?e582W z`tZEs?stMpiU*SrUsb&OXm|thHC^Ft#7kv{cNKS^?;RvQY!c$fi>F~duMt1N^LLwg zZXVzL;%~M<{-?#aRfT^n?mi!WL%bg6fxnC2=!1Oz75|#&ZEB9g?s#qE`4TIhiQ{+) z@gJHZ|2pEUi@}?V4-ddQi?16GA0YlB=g-r`U3nIWyYj3Qclo~|?(%s@+~sp#ycg&H zUx**ifb!oIf05S_|BCwxAwD(dJFfmW_JwB^FUom)De)EA5noMwF^^YE@kn}C@u>}v z&mi##&Yx$9uVi~#C|*4^@>wZ9i~av*@#gV}-y^=bCH$=T(NXZ5;_h>9sd*jX>a%MR z#Ag-%s4TpI_}#AXvf|lwx@uUgJ=YseZ&hxK|C-J=dLA)gMzbAfz9^$;f9haPJ{~5$9RYiGni}xH4cd!4u zd_HRfuP*WBOTrtA=TCyS6L-IN*;{;nb;OSlAHvt$lEhzm2Jx%K-S1{@6L;UEbx_>B zE`L&dek0`nv3SSK@ay8&JHvkwKNE!iBkn$T9LaIs)$=v>8=1u?@O8KR;_p9={Nuzo zu%CHaJZnb8Hxh5l`D$D7%e?Q=Q@rtX7H*Sfi=REnYxNEmTj`Qw#_2uZU*SA(fw=o!-Bsd6*^ak~yWiVAC_bki%6UrM z{od{;;z9P4--wsydGwq3NT%KI?78FOes4F5_lKP4jY4^Hh_7e`FCspL*Hab6KhK2t zy5fb{pSKiW!EvXXcu}5rL&S5jolg>XpC6kiewX9ja`Ck6&o_yGk`?9OD?WzvieuuL zha&z%@jfj7HSyMY5dV|-#~jBWh$j?6d}M$8b;oPQM5MEbf5`r}fcV=Sk1C5_V*6<* zUL`N`e@46`=l`w6uS`XJM{)Q2jQzwnvp*j#zM?zwnJ)fuQTRe}*MF`Scjw(};;w&q zQ{43rr^VfUq)X!2l2D#o;wgAseimQO*U|nE&(7MlVhVm>E zFV+FRQG6)Rqdns8^QiBNw_<;OL3~>r^8Zr&y~1$!K0a6ei_GV5iEqPsV0a+bbMaj` zPGuH%^;1yXeGgrE@eAdVZ*B1#4dKnjCvkq*MLa9_YmoTPX~<`S_%8PUbHv+le0fRy zh2qHPRdM&elQ+cOJo~8lT+TB-5dVqe#Z~bc?8k147w5S7m-rQ4N2DBt^19=dr6bar z#J`M&=NC_if|nL&^YGOWzr%S>Q}HUiFV{i*VK?O8Pkc~O_!#lMso^ul&o+iH5iiK| z*Zpp}tB17qiFxdl_?E@tZ;OA+`Q&-=i>&7>;vx2jKZvL9g#7P|$Ftq0;C$AVvnu-& zH_vtcHP7pO5?>_>`NxUxtq-p*?!Je%iMV?oW_$5(nj)XR;#=8|jTR5aB7V8J%V&dl z+nR{qCH_9!|J&l9mP7n`@ztDvUKZa_0`cFAyW?_Cd=ckA5u6ve`mY~@e6oqp=Jk0Y zargTR6~wPQ^NJ9Uk2@|eMIfK7;@?k)7Zh*K{Vgy4 zE&HoF;_h|5mf{DVM*f4u=W%?TAil$o_&MSUyiR{fyuu8`Zxr7ahMyD9*adz?d?L$v zUHlxc7jB7PYlM7$7N5=Qj=SPj(<45}`xfrFxbJ7nBJO@Cx`=ok&adiUkqcb@hUFVFTcL3|63`%Lj1BT?=J;wf2g%f;s=A%27SHO|Agi_c1f z_(S41YQRs6yZ5(zA|BxTk*yLcyihs!C^q=^PV-X+8`HQRPKqh!b@uLBFF7cUc zpM}IP@;ogqzM1`Db#eDT_Qv9F{7V$C-wx&JCGM{8hKskXg7_)oAFy9~PP~0S#4i^g z#`)Vu@w2>NbWohr1m9`#le`c1k@)kx4!R;fs~F1jo%r=8@CdeFcO19J!&8Yb*BQHm7hU;jQGzsL-WWkUN*^NUtaOK?B7a?Cq*N^s`yFnulrq7SAO@s-fbj4 zeJ$kELwsT*_)zf`)!~!GyYYC<74O>_@$1DKaQ?qbyh?7wzb)>rgFY9(&Fi?E;_m&Z zLEhhT_0Td4@^|;WoPWXX=8<^!zS$Du?scoG;>*}?xbI7F`McwiDDg*F|9#YXUXK=! zD~0mU6yH7u{(^X!l<*DWk-Wa!Ej}>?;*W|)vpruB&&zS@ns`>0|7Y=te8~Tycm|$_ zX}BM*-pX-Y$RU1Y8uBSBUYPT@%HrP!5Z^$&cUE{?aW@a{E#8>*GhIB6{q17$__D}< zo%mBcFLsLm$@#5?~A`v82Min@5}M%NAZcApFa@)ts?SC&H0zB|AzD&;*B`p zC?@_l`@^c@`It`=@k$(*+ljl+U-uCoQvu~1AwI1Ue5&~Onc?npA#T6i_uj6O__qoo zew+A(82CZ)d%T}>N_;=-;S=#it&q<*;t6b5zlo2`i}?S<&(otg4!ixT&-*hu#FHu` zpCaP_=7Lugufg-HuK2$kA6ts2$ccQqiI?ViK194QkK-iqi|hyHiLacD{FjSYYz^Ne zK0gzDulPNVn?H%)=XU=UFWd|Hgm``C>Um^4cq;KR8R6;0-=Jp^@6r)^%JF57_~a_c=a~5O)!`qCyZ6I=CEk|T5$=0x-Ep7A{`_Bw|DFAC6zAzK z{tMpc$tmux>xzj7SwB_8-{*PMQ2Yg+kBQ=ir(%Emh;L@UF-qJW-|6DX-wz;un)hec zh)-qy?sLhm9=_rH;fTbKw*lsHUc7lC++Fv$d@hcG|0MBAywCYi{5R&4W+K*e`8>^f z%P#KTr&L&c8vFAK;{Q}dzIDWF#=={OUn>IdD*jg-e5m+;oYy9aFKvVPh2lT6-&-sG zdp*SO6p!LO;T`c@Y=;-bJ2po?Ux~j$|5f~h9*Fl%!e3YaC)tsu7k97E#fn$uJhr6x z-g3ydn)m^ZmyN`4a~w$&?;1iry~W$*gpU+2#D06acnapfSo~F97q1iF$@%ii@VRmZxer+*CQvy-Rlt-#kaE_Zi>%g zdq~am&mEWB%s-R(o4K%G?)v~-Jck8e4T+yq3Gq$Ezhb}FLHq^wtNp}FWkEjk#mm)z zuMl_baFh7KqKMxkzN8uasCYrP|M$h;;XL`WxI5o&iDzN^xhw9zk0OwS?YsJXnfJTW ziT7mv%R}!z)0bWN@n!7)+ltR%KipgV4&%p&kL!c-OcGzles8+?)ATvwS9l&R6u-vnqjlmT z&i6KnC$N2P7tg|e^$qdWHBtUI#ZPyIpBAqU_I)benEm;;;+r_X{arjf78&_x;;%ct z(;1&h+|9G|h+kp*DJx!w^NsrA&y>LSnv1{J9o|7a)zk1^;_iOw5b@ibmyQ#!!t-Lb zcs#GmmWr<(j_qy`ufuu8E^+sLBX5hl?;ANU?!Is2viJqgC%+eW-VLI( zbZu<+HSvFVKj=;Idb}PxEq;~tc}4sh`{y6T-G1E{cl(v%*(Z;e`(C6N@umY2mtXvB z0A5<$ZMTNF+ip|w=DaTMAnxk3pLqWA*zQ>I*1S(OOWc*`1#wrN_2PH)BLAJ@$2pF? zCEltU;@=Zr&GGaL@qRpBx5S^}ala?NzCQAgn1jFW{Brx1QQYlUUUAp|loHPtM84I< z)AWZo5qH~dFYdP6S3G?~5m1mT=E6;RsSDr=Ut~_hRUHxwtUp^G&JS0Ad^?62oG{@^(;zP?IpFhRjeud^? zc`EbAHZ`|j(c*5u@`|quVf`}V8Joi^iN|w3TwVM;--lL5JV#dK(@4C0LwJICE7n^Z z@vmATzLWSS&OZl>H{*PIr1;=^$Y;EG=hW~d@mF}gKTA9V=Q+=bSMQ5_7K>-&_4qRJ z$sA8tiw{qOd|nlQ!0WHQ;)DAk{*d^^Lhz&FeEGt6O8gtfUluRJdE?jOzxP1?H^q0i zhW{k~Z5Vz>{AMrsU*adq!T%F)#qm1gIV^YW|9kfTsl`)qyvrcoitRs(_`3ecH@Emt zRp7X!fZV{hc7V#&=-S1`m zBJN|m{YU%`J>7id=jz|xFDfS9CNttHio5T}Z!UhND&jkdADaa4Cw{E~e6)C(y71}Z zmDx@fieG1YSS6l|wbA9z0Q7w^k+1hhYNRuX zyWg?PFP@Iqv!&IWBA*)K^H|QN;^#&pzJqu-w$FazS$MvT5wFkwe5Uv$w!vjB*|kZ`K5UPP|=D_~+u?W8gQ%GjZN^SG*g?_uxXT=Z@Ff0Z2!Sw<`$G zD;{nKj}u?b*Xe7B=S_k5X5ym;!F!7TT@pS*ye#{NY2tZ#d>4tIY=eB(iZ9{*zAnCk z{mBXOcUf;Ai+{lJ=v(m~Jm3EoZ@}{+auLeq>VFRV|E%I4J%hMH;vchJRS^Gy=VM** zShnXO;sMUzCW>ccJb%xIr-^KgtOTRXXN=3FMco+@_9zQe+hVJ@lRRLgT&9W zJ|~J-jYdB6#BYv(uMqFbetU~}x4eiyAbv6({FHb%_Isa-*Jk-|h`Zk%`9pkL1o96q z#b0+^{w#uYwD__(cwX`GIpJ~QzjK~YLp(7O@y*2FWcfRZf5G}6D84sD_{!hi{MIr7R@h{j; zeic8(e*U3&2F@Fwdg;mS&KZVub#Zr{xLEx2nuuQ`erzKAp!ktG@RQ<;%E2#+yZ2## zExwTRy`ROW4M9E+#BXzc8(xOxuAX1%hIA(J4-?_}#NFqqONqPhy=)*}xGeISEMAf0 z^*nKx&oc2Jd0uZ6&&q!Iy7=uZ*zPal?mkK6ax8cC@J&{vGmE?J77;(t1@RTce_{Vw zTioqeg7~Mbhfd<#iz5G_;_uR57N6V(@teeN@j7(Bc)Rk5KO&xuSK zctLzK=XF=b-S6K1AU>Gm#eMN!%qOq{+jqw+#Ot86;)8fxvWv%Yd@m>Nz7L_Mc)je{ zUZVIg)=w|--5mFy6F*7cs$RSisBnN|EVM1h4aAX;tzWx|1RRc4TcXCcm2#b@x;=I z-zL7aDg2uF$uaOB#cyPX|0VuKOL&Ua`0Lv3alVd|QG5~ei50KNdMhCwu84fAi2K-X z8;Ccli}=>!?)P81i)V~Q{7~_I(eO#)E92pF#ohNkz9jCxPwZ9kXVW8}-Qw_Xz`ah?^-B+aT@YjCH`s*e5-ijeDM9^8A`xUh$pfi`%(OP_J{tpSkKk} zb8Mec;&mG%E}wW!&XY@uf6nu_s(5a@A@dlx*8Agg+jaBj8R8pweY9BoZ=UaK#fQ*$ zh^J%y9~O7NlY3VDwMjnj@tOE`&fC8ef2KX+ABel(yAQ9!a<{*qalFeU{sQYWpLpp+ ztY1p}dyeDP#9Ng@d_(aa%%_d`(VB?wA>JYhK2-cF=e^U#zetPtMdGQ(!Pki2XFJ(0 z-n~EK4~b`<3O^%WmgD#(@jlNW{)TuRj%#LF%3Rm{7Ol9lK2JsZ1ITth<{0Z5XZGu;_iD$H;CtG zg?zS(ujT8um(+_Q{#)_&9GCBjyLo2B2CV0f%L_G;juwBD+sz}sd>Z15i|=FqUs=3< zTg2BBug7w>6feT^bQS-U{puj`{k%^#Uc5HX>u1Fyc|T;S_$xfV>&2V0UA->etqk_- zu(+RoMtqsAaP#<7JQwHN--v%O9Pz)3f0_&aP<(zvcD>g~SW7 zU6mJa%lU9^@dVzN>n`4BBJ%Gm{s#NK!Qz=&|0Bg)bKD#+?yG_Plf*w`ea;du%yIBJ z@vO1PXR-JM&Wo0d`{EJ5Nj%U6zE^xq9r!Wv7Ng-Gig#syeoZ_Z`@^5a_jN)(55()U zzm0qq%UyeTiu3Tk;wc*;ZnSvnOz;`v#q+=yi`U}(d98RxKjL?Yf6sB}u=se6cW1@x zv!DD-yc5rt@5BdA#&-V@FOm};*oePcKMTZvVZX6TJSUIiHu0{-k?%qAe_5ZW#1mL= zpNKC-HokAfGuOj{-^6!w{`{YKCC=-jHa)q&)j6K#5T7^_aYe*ms|&9vz9Iv>u6XGP zcuVolEPprg9@P*(MEqi9_+;@vIS+hJ+|7qqh))S2pUvX#``z}5k7oaQTznxZ5DUm*SSypJo~rf;yE}TT@=5?dFj{Ub9sLKBK|Y` z+lS)iS^ufGU_ab(*`5{YY~pSE!wZRb;PEXlzJlXdZSlhmkxz5+p6%dW#20h?9VA|_ z58~@=#a~zcS#^+ZA@0tXuHvPm5I z@jr<-<$Ujs_%4L|{t_=V2@As8@HdtDliU3Jw=mL~#20hB`Ndz0L41AjWohB9#gCMM z_Ykkn`NlBuH!C52iufj;7xTqm;k@f*@$Jo#&ld3?*sk`ApGk@M6XNcBiZ6;kT^{jY zi@Wc!`bB&M`_G5s{|-Ptsb9licU*c7MLL`KeYUGY;;-=hDlfi_=XGuIiA|7ybMZku z-@AyPoPzj4;@|PQW`g)W&VM$GKj85#w*ATdT~ZP0j60t6uh`Ddi|^$4@|XB^9^VwN zKbg-Yj^jDSf9C!c5&v}{){hro!}F!7cv_xcW5s)L-ZfLaYC7baOFc*cCl=ZJX2BJgwK&3V53f1P~^m|RzN=4*AgEF;UCyo0f1ynEg*ov`D;5E8-?_9Scx1Ofym z2{8YE&bhB%9Z55j>CaZx`|G~@?sD$g?|ol#_;*bneaGQfp0D-%%;8@%e%^0_Bg|Jg z5BdoXe~qo9D;)k^)3^6H{1VeY_c{EVo3%YN4u8Fk^IZ;qrj1+E;ZHO<@=S-Hy{7d) z-{E(gUi31D@7b;8U*qr)zk8p#k~-l*m8cleX6zb|t5 zQPb!DtHa;;9IfZA4!_ap?JpdD?*T3Ub%(#o>i>bmUt##aIsD7FYCWg^5B&_||MiAm zpYQO`JWuh<9sZw;f9`hp53QZU4!_;>t7(UyWBlhC4*!V}#FE25c}&~0=I~z|zkPwj z-(~dhUmU*aMy=p&2coad^q>j;zB!+SKxOhi8m0J$`s)tgZS?j$ zhX;B6TMiHHf33rJ+WPuqhhJjr{lgBQdakzrYYxBc6vhA1;Xm(J{9hfuZ2W4&AM5X7 z{GT$a*XKF>U#$FP4u7}F>s=22rpe#C9RA<~T7SXeuRl-mdmMhA$^C}IZ@*8=FFX8; z=PUj!hxd0Bf04tVW%})Zb@*1}lW%qSlTBaxjKd#qeB&z)zxHB%?)M!&_5{U$;qah8 zuYXv75A*VtEA{#uhredC;+H!7cC!%r#Poy-hp#Ma{dYS2U+z?V(c$m6 z`j;Jk=sYd|pu^8FzvasvK4R%a`>%A=U;UAl=07R zJG}p}*7H+`f79rH-Fx--Fkc@uIyuwf>(AD5PjvW0!-`+y@b?;>-{kN|2ekY%9De13 z;uVLl7(aiG!yh*J`%;ImD{4Kz=kP1fRQ#Se?f5hR})f9is;m^2U@h>@i$oR~+ z9e#=N+n+f6bGx*j=+E>ste112t=F3z{%60T_(cwX+ZBpm>G0K-;@3L-s-23DIQ+Mb z@7?b3_nEyAJN%4wT2IyCOOuM<=kT3VivOm=Z$3xyw>bPE<8SYA_{$#9^8eG}Uth2I zR~;V4`F}Y)%-8uJ*89Tv-(z%gxx)jU?{;{g&tZp$d7O6m>vQ_NXE^-*HZK*2hxKxw z!^8UesKei4eDW_H9@_s+hd*Ze{69JT&8ENo(&3NZt?l3Vk=}88(8m8lhri?uEw|s{ zpEr3i=kQ^Xpsmdb7i)o~Za%hrinN=j{&v zn;W$JUWb3v^y)(nKeeId?{N67ZN(QH{sWtrj>8ACTK;(sUov|8Er%D455Lyo_YP@2 z?{s+C`0WQBK4a_RF^6Ama_~zI&zN5H9ft>d@MjLs&uDx4Kc=5yzHYuvug`M$-`V(F z;_#0TYWbTS{uI+I4my16Q7wPi;o<#UFLijo`T765!=vYFJs)uRr=PC)V-COC{03ik z_>H!%zvu8BX7BvM;rq=`a>~c`IbqyRF}?9Thrjz0EqA%Yzh!pZ9*6(uXKMLThd=&a z#pfLUi&e!74qqNuyzTHHzaDh>L$+Ri+u@%!KK3Sux3_Ek?{@g-jSfHJ@Ru9i{*}Z3 z+Q#kg9Ddm7@TU&H#>Q>n6Z-rx{?FW~*XKAqyyyN&4*%snT7H+qkKCd7u*1W9W@j9J z&)r%+cK8p>-&=F|Ek?J`a(Kb?r58E8ZS?RehhLP@=f2J1H=2F%K8J5K{q0i@|5RP; z`Le?=v331Dhkt%S%m2dRFE>5#luzpKVO}mcO|Q>$_&=K5yxifx3hTn*=NX?Larh4| z()#amc;Lf}4j(Z&vh461j6Xl<@bF&pS2#Rx^Z1yu+6@Zg8s?eKo%hr{>h5J$>HJL`*%6~v!;hX>hM74pK-9Mfe~;M_mpc46Pu23f9R4Ar!+j2asG#L%9sb|}#lPb4hi_N>2M&Mf ze#L*{@JE&v|6dLtHoxMp9e%}_mLL3c{S4!<&+OAn9sa|TmK$~WA8b;5+VDPHvI;Zn zqpB-^j?vGmD}S0+6TQ-vf4BYcdRN|xM{jfGZ#Dk&$EouDD7?jPc*K=IX!_e@uDr3~ z=&xM)t4+>+-Ql;}bN|8BbEZA_r>^{c>+FY5>nF#J?c8ASsfLGnd9LXp=eqI(R(_8w zAL#$qRC!x+a>uwU{|=M;^A3ON9(_PARnHanOnxl6@=v}?e_TzKe@d$Sb6xpUuF@Z0 zoGKrNhQGYhm9H3Kz0=`2vqwJV@UI=w`oHh+AKH4n=rj6z80WLj*6SxZ{0u8U>hRl) z9`1JdpO}B|xeouC`3c|S@C!`7f861xn4SJLhri0!`>!27Y5L?7{%3E$?y_}#rNh_m z(Q?;2{1np@_Bs5GXK49phkwfC_|qN!(-|$FGn{m8s)_ut=E?_u#q(15<54oKqZc^* zG_5{*k*nXj8@)b-hqc06-k!qQo~>5TdmTPx_{R(nbaKh9`om{k`Q29jJFa}_*N;;; z`xWZ{nZvKNdImnLU-(>>x8aO7IDEp&Z%W}@5)W=e%DK4Rq`aQFuef4SkI zzyEIdt5W4zzb(7yZ7H1f|FxBWr^Els@P{4#1H<3%@P9D;qbZ!v9X0$5hKF{(oL}(w z-4t#rh~WR4!b#6VR{o;Dke{PaPs8x1q;Rf_-_>H#Q&TwW8MpE?DV*hJtb8ejv-}@e z`IQvT@{d~i=cjO%H?=f+so|t^j)SrJ=rt*v;~(bh4G#ZT{Kmhxr|@(=?@r;YXQQ?A zy$(Os@IN)2m+5wX(cvHCL-F^`R6TrdLC`4rQ3~gCpJ4U>)ZrHy{wr6%scq2(pVJCM zd){RAZ#6uOTifs*DV)#UX7%rJ_%((<&DH-ktLH$fJp1(m!w;u$*1y;4xzpiKH9YU| zX~P#BK52Nxa9(o!|JI)SfWrg*{7wody_s4Oy*`Dro|juapLF;K?YUn|;ap#5Sot5O zaMtq|R{q}&=lGK+y<}Q%SofFu$zo^eSNZosho5P`JvoJ^^`C1E5B1;wWWC{*RQc0W z^&fWllkB&J6rQfXox<7Qz*p}#JUsVR4{Aj(b9l(F`+bLp{Q_@y_@_5&J@0e)x1Xc< zV-64Xf6?Kg{=awl)~9JbKXLdoOfMQRMjiSU>Oafj2W`?Wad^-VpX~5IyiK3`RELLl zjywFeH7&p3@DP{mIQ*ZjJR_1a}NL1*^2+2 z!^61!*x{djs+K?f^ZFUa`DJyzezL=VKBoAM4uAc%itjxM-nS|0KmDeSPaV8*!&U=gps3UxdI_nvZY-<21RZ|*~(4V(M=Pv5u^ zHKQT|r{b;+dZ`b3+-BT$^Mw#0=V=qTu>(g3K--;G&$CJ)Tsz<|F z{h2+@#yxn!lXT2#J^Ko2`{vDk=|-Ky2J`lFH{oY?|Ge{i3Y>4PPKM_KeeetWv};>8 z@a_x8qjeWN8>a3>tOg3^06PD)t*30K6dS5!{h;A8|h0tgiX3c zYTFnp8@zGrdOmbZx+um8CAUiB2DNc0Cyl!_U5-`asZTOY21oC`?6PR%#;0xU2NS#; zzjCUy(9C# zo-l+5Zn$addKB1t21j&Tx=Hq=?b|TQ+Dua2maY99mK{=Z>qT0(_H8F8^@V*~mHxJ_ zW4T>}(az25&VP6x9DutI_C2fbet>%h`g*2KNBY`xBR(LCuH*Ew9!|^kI@sOmy&>Jn zQ0m5>u13*K`Y5*GsTcR{+&tU&-hCVA&p*1g?~aW}gpzMg>J6i}*N7H_!~33=o@ES> z%n2RBj={cdeYaeg9>beuF^o{D8|CucxHXb0c=wo9 zC{u(fh@$;mjZt)fs}lg*b}*?C&*h+LjpKW|gMFKfh*4J*9kNSl=PehK7$#&fq7Rd@ z-0@|qXI^X^rq6dQX2!5(8?nltjUj%<HJIzvS_k%%6W&-3-$41JbPTogTfBM{DQ6x~l=6-CeKGcGALMA373oqEm#ILwi4uboaV9v#Ih9!wme z5Yws&K#oJ8&JS$bJ@Cf9`PUL$zdrrr#rW~!hx_`TKJakgL;XpibdhWO<_4~n-{zzO zt+_AtgbVs+1}?Y)bzF4|zTHy7x5bsdr$+;L7XH#jqjfjEb|9MSd&a<2tuHfB`(R(+ zGtg|%rvB|al@49|TbIDmN#MTuXx-zwrSQzb)MfuOe?$jy^84Vx;~qWjwGq~4ctX@S z11mqd3O3+Z`V4@25HZ zYgT^dB>2Kr-e}*+FdNvyRr6@zhGyw+Vs3{u@V6f z?bwmRxhTWmt@efG&6E&?{EJ67T^#{5uI{f8!-EnxJyB9j#+z^Q$FVt_v zqBpqmVV?hc3Qy1T!znyH&(oMU&hzD1e0_a=|91K&e(-7dA73s>S7LSizkRIhyJX!N zFJnzI$oh{g75PVasc;9O9Qh_Jxm!fO$&|`BDJTE9A}76+`lJH)kE^+RDT}!Kj8oZq z`BkdoBGk+79rEo&m)#%!}2Qo#=<|z{pDxz@CUJ@GKhi!~!`&kP@oy)6nyc!hBiW^hQwH}&r^;>YTL0d@!NEJY zU)$_kWPN|BwEpPesr^qZ4Ib&wl?DfYqdj=!jH82t z>;L{7-nahf`f~@?4PM&++QGiTb>|G8N)T}0K;PgQ{olCvD1JP(|8;{Kwg5P<|Lgan ziuIkrGfb>iRy`e_sDL?$hVJZlI0p&HZ1; z^Y|ndf3Yuq4vXXG<-ybXPsf+do6j9Q2bG;SxQMO|Zd?Bjbm|G~`@ej8dvM*k*3~y2 z>l<9$a5jE9um7v3Z$q7n{ck+B4cAxU`sTs&N`qJ3Jotp0@xvMX;T>q)-oew>_YH1Z ze@KSxwhd>m-#mCu|5_j5{&Qb;8%p%Ix3SEI_TZ+c4Q_0r>>ZmoY#+q9+_nuDG6jRD zeiyY2_CEtPznaZvZFge+Hm|!JEO4+dJ>i%29bLcSfpr^C@I&AFcL+|xh%S|XBiWBZ zSyQp=D;)kxyMD66EqoYlbNJWoI>;%qB-Z~6!>_Z?fQNIqZgTk5!kA&iJ3Qz=`y4)R z<@Y9=XZRaj`Gbc4 zfx{;ae}}_k!~e+Pb;JMI;rAQbGTamJIm6c*JqG+P!$UkY;AO+lbmdnJKiA>UGCagFLp?7w{1R9GcMQMG;jc41 z@S9N2I}HzU%z!^^_-f0f~{cKDkOf4##WGW;zLe~;mBclZYk|3im= z-0=4}{IiC?&*5J({1JzL!|;zd{M&|q(&7JP_-7pcGsFMV;lDEciw@r?s%aE`)!~~B z|CYlqHvBsdzsm4`boh3|f9&wRh6gzr=6AyIe{<#UGTfXc2_IW9e9-uAsOOmBk8}8{ z;bH$^DF2@fKgX4Snc){Y{FR13(c!N){7DXfli@)=hv)v0;X|(c`wida@Q)gPy~96i z_{|RglHtP+|Bm7N9sXm(4>>$|O=lc_f!I9oV>o=s@H-uTv*AH62;(qjc)^vQFud&W zS;K1%zsvBJ!;6NmI=o@{vmAcE;SV_cg@(Vt;V(A)MGpTx!+*=+uQmLY4u7lRuX6Yw z8vZ(m|B2y24+`V?h~aN@pSbehHT**k|B>MzcKFW?|AfQW ziG?0TpLX~r!$0TniwysQ!-MPYD-OTj%74@02MzzW!>0}Z2Z!Hbc+mU8_!JEPnJeEi z{9hgZfZ@M(_>2Ga1j0-5!sRPK-sZPNPvN7n`l9P+X4NQK8d_ zSL>BHTPQT6e74cdV*UTZh&m8jN?SF%gRPNSvIvM1)6^6YjwA1@Wx;%dDR72b=c7ipnXMMvq5n&Dy!D|FH;a{GwpC>J z(B4*Dz@wsSz8J48)+@!hkzLT=T2Zr@Ekv~`FCal2W>1Iie8Ojmo6 z57DW^1eDvwYAeb%^NVr2k}Fj@t;M)gtD?4Cww+&;2ejgBrHz4Vmum|hyjLpTF>HTx#v$sba^!#GE zQUG-oqPV_XY&JW!sME^D^-ep^bxNgTGb&c&MzLA4X|9x8?PzK?9v+z+$4GDp*eBds zt7A+-ABAFEX?EE4xKZgWNOi4NTx_7@RgO+8-z+!U^=4ErY5$wWQY)&mvn-Ltli8Ja zGmE(qnrKDE+A;mhHo4KfjF~1iL z;$#T*V(67JGnu)unW(XZreY>4n0``I1oBxb7674&Rs~N1ZLLO?YzxD=QpQxEjU4r3 z99&FnF>Wp5J{js#xq?wH9LvSI#cZ>nYotf~d7tjhC0RO{Ge#y$)u$Rm`_z&L3XRbHqS3tP(QUaOH8mZN>(ylVXzltra0 zQVEy~M+miG$T+besbe}mGNzR}Rv73Rx0mXzs9vwet$ZCzI9uR?BpYbv;#Mcer4cV= z8z3ba)mGMK5xk1j2WHd8BghGcNq5nTJw9qIG@5m;FsyI%6V2|jr(7M}jXYD9?*8GC zv3TG3)F}Cp@I1^W=8H8g)-k`}ho$mDRI(WcwJl)iWZJNrn%N5WW;V)bb!78_QNua` z)i;Y(EFQbBwbsgm4aF;UGSF5dZj$(>z{6%IhbQ96vB~M#JFqP4RdCiyy|#eHgWW0T z;+;9nRlGh*kZZSWGK}X#W`G|>9de3Y zQ4E3Btf9jcs^FE;%51S!Y%Zf+2WRKTC&y;veZv_L%k=adFTqtYu(tBzxV7^-EOHKw ztkOcOzI&GtA3CS2v68J7z@*XXLbQU}0voHLbTi*khL@Y)1r|28T5eBdK|lFyEry7~ z>TZF+z>U`$#b_l*rV3#N(tv2dC`)UNEjCF8t#ZA_fd}~n%*zg2fF3a8Ic_G`* zMvZ!_yc&nfF!SKO;B#3cC23-(#$mJpBu|SAq-%}}Cz%W(nu08vJ({qjRu(e=1_25In*|4kr~yrhf`RrF ziVbv=y@;2qn8ViYT@VZH=2~1VgUdhz0E@y1E_Sd2z;ik+3Urd2FfpU6R@?wDiz?^? z1{QP>*H>z-STzIk)`)t^)Yy@UJ5-f|!c$nQWw}@}b>S@%mP`fG`8i6Nb z8RU;eMNz6igwbNY(JU`ROmXCdnTk#bmJAJVO*?DRee?CDvs!OR^~BL`=vr>5sK zQEoh}!x4x%ta|V-ate&_b$g>UNU+Q0{8B}H5u;CGZmBKJ$37z8Nn zl6jLl+_s;l`{Gpc46%6T?< zw~%>f7ZxsQ9NHk6m`q8e%CfBwazAtdqzBz3HBH%4i5fgO7W5)zWd%$T=uOt4sejsR ztOu;AV~~&#|H9}>>~Fa+(}ds$YYS2pBh}eSO@$mmS|q%Ka&#&P7S+J&V9e5Ia1>?H zqM>lGWzAwlF*wlUsKCW@2WK*BT*#PY<})*6Q==FajMpM~S)gv!tk7j@j>0uslw1(K zb?S3*JU=yl`}`Od4!Cr_SZft`?Y<6UAp8VIM6^_eHmTfR+8ODXKo>7J*_u0{=l76X zuCstCz#@-w;FzcrL(;D2A=mSiM5PKO+X{qYm4pe?1Ygi12$4=TF0K~yF*GkRoiH_} zdNU6OqcRBOAVU~K%7f;qAE9BjET2?alEG?~a}Xs9Q570|vksG^QwvOqa0!CFr^`^O z7VFJjyZ1yiP_nVotFY8uw%LR^M#dY%AYfOyuqMVca~Uk=2DF82vlcb09ETPaz{M;G zoLnL{2MWEJ@^tt5<2F$+@*Dw|Sl#5GrhV$f<(aHq%&>=0xDc@FMaf_~9nrDzg1RBBMihS=3m zXw|a2;6h~My4b*l%cXL$QUI%juB=7`mz*klr50EU)WP&jkUz!8f@yWE10f(5Jn1u9 zE;rj9m^+2$bV|oIu;d-B;kRi8<6h`yTD1M zMOP^b_ie3!ubZBQ38Lj7inB1J;0_p`pPPmdQ0XipByF#OHynZ=0M>Oe?nvt)2kI;6 zJ)h8uat*G^6}1}CC^IPF8NiI7WmtM*XVO1{H3Kpaqs(?fmXlY+kb*@R6T5a@tE4YP zOyjFgWic@{x;7p-5f~flhp5JYRLd<<&0n0Loh)yRDQL(`88u^ke=nqY^?)*oz9~s)t~O_4-1W2SfCQ<%QSJM5Agfo zmfU1^b*8?8Z{)^V40oCv!w3U2S9Wb$jxr%A$creM7wx19_EN^o=do&Ojjd!srl2#- zde^gnU$6|D*#!_-N$pYaka!V896^;U8uKcZAjjx7l2r%3+!8NZSNuWCu4K!YKJgfl zD}aqs`B0_aL>LylOe{TccCVV4V)I1ZHh?iT*U&NQNqHjI2&$}_M%Kh)M>E;k7$nny z4?^aPYa0?owI$l09e6O6H$_yNscb`FL#)D(rSPJy-MOKJ?y2YU?Fv}F6eUAcUl@j0Ilijl^-fM^-AqtX=I}c_ zZA}n)c!Kj}ER-6eC3p3!Fi@D6UAwPk-^d;9Q{1( zy$VO*u%^ZJT7{c%l>fpylv{Gxm_kA<~RfRh!Cfm>z&?AX|yW3hOC zqsj3Dvs9=lVTb3YC&x$7D6AXE^b$ES%&rCJo)n!K>KchUaWg;}%VI^Ei;VZuUAjcK zsYnu~p(55!nJx-2$ZWpCW|Hehx#}>UX#UPz2P_wAJGC}i%A$W`RG?c^Iq0-Vf7OWY zVR(7P>`w7C)UCcOkti*+UltvlHL6gn-kEJc=Y#jV%hbg)%8?M?Xdbf~-P6I;s2bZH zwvp+{8F*vI;N`~xgv(SHp)7Otk;4`!QWXR5fy{eIr3!WQ zH@)&?b;`n2rxK|)rXGSxEUk!a0}F)W2`xgFn(z!=>N)5-wKj@ZsY}ts5hEM!TGb9z zg)$L=IS^5Q4}v`2}_yEC&l;w0u~Wxj3w62=v*^ z*zNJy;jyW?cm~uqIWq?r-dt2_!6j2JAu5qYXN*8;fq=9jXu)l=1@-5n8BnKXp+g@A zxpXj=^jPF`v64H7Ev@rJ@#yWDIr(RJE}j_9z}G)LIuA1m3OJ^9ehN19B#k3TQ_K!s zsHE+nrJ`~Ud1U_Ro_h~WQ!}cLeMX%vU44SG_5bnS;{pqnV=oe zTm-X%6%?pb9HOu!D{xe*V-l_>DoNrdl4S%BHrfp(a%VI%K1%Kw&m9;arNuyvLoEi* z0!Rr8h&W!dc~fWNLZ@0?iyO4(7(G$>Dv=Kgw!l`fdZ<4jh*fAZE(5t>4qBQz>Q_dc z)W0AB;QghUj(MTD!gPIy?!sZ|8kAt&0Y42CKw2^$u&E!RxbPi0s}PCN=}&C{Oa(k)tgl?Xw*$}$_wf~H1EaCE{K{H?zF?$T5nnzrv+;TOm&XESS3*mLlwHW1eP8QQ(14S$$3Q%+<%dRLF5!P2zV*siopocAq~AAa-9kQ z9!OtP5D$o}k-bV(w@g=zlz`rXMIqi=S~yUEq2TDWtAdD;4+cGb(KQ)Q@d{!h8GvHv z<9d_5qXdfc>O~OB>NLJsDV^`oPL43sEUf#no*TuBoptS7(RfY8;opmoW+=}vO zqzV?C6QFx6v?|=2kRVJ&5K9=dX+e3b8lnx(KeJDv9*`DyhA6`#GDj*h6j**$TJX>f z;MByU%L{4}pi9yhOgvc|l#F1(fiZy7!L6c^KP)EG8L6m62d3t?jNEYJmYqAd?b)_t z%TTpeA3|CEQmw8g$S(c1yHKmI=-2Erf4y#xUfr-`_YK$U*HU8$?HelBh7^LCp(fT4 zC^Ww`l%v>(w|DPuly5DSQ9QdkB>EwMHiYnA(@3;Fu%e-R>oqniPm83oSGgdr;oV1w zGT$D`VXpFvd)teh+R_lmvROO+XEaL#TPOG_-x^{&%j^?1bXwi)1|s~vR(f)ZwV_s} zwHNFU<B zW6My9Bac}{XE2Fb>QV}VNmuLWO$nN0vpuvzzM;R&jE~_!VX@G1c|(n+zcnYT)7lsoK+}p%@(i^hYw}jCOz=St3iGd2eyAP^PpvAg#r6 z2~(ObQpc2cuZv)dycWv#T?9*pEUm#W#AFyKGf?kJNEyj4g9lU6L1$ZpfKm3%P_XJC z;XPus<}+Mu*?$ihewQ42qPYz8iilr z&avP=qo+a>!=_7!LW9X8)(X;zSB^pL7b_#jxVec33=S=YX1rR0^9W8z1aOknHR#x2 zfJn6=2cnxE2~`?MuSzF-a!=qktEt&eEkJM9 z0EPJH(mI_*d=qbR>c-(wS-(?K-3e)S(8^fiA06&H6QFF&&?k2MNlk5Ysyt zqKpx7RxMexb!0$QH4J`eD9e%*r{4|(8|g=^G@9GeWU4_3 zjY5htQjBCb46j%>n!5q71l^;Rkf=m2oTl$^p)($Yfnq?6gIdB|beEC(j*g={(dbnE ztEvw!a}UOdOCFCGPfiwcg$YK>+7z=A=+!k(qb0uy=^kg(&OfLgM}y&q#SPI_x!WW}buSy&6uQ?e zrpfUs(V3Btc%1qV#z`Wr=aGkCitq}8#TZy2WelyY!j)X}kdU!H3 zGCXDOQzWIp!CtOZz*6X#tEehPlEh@ww1ZHUC1mawL!i z)Y#$i5q0INTOOp!^f3f@kt;_nLX|a3rw|bh4%aSW9Y8$xCIvFg05x(|?E@i6uttj|?POXv{s?7gcsL49m2iCD1=aOOQHnl8z%; zX%-oihZ&5(Fd%t(er9HR7TyX?^Z;)Z`OfS=bGhgwsq3>h;+0iv9^^qHfJ+S-iOB2) zF<_j)`QbbWZYj}lEsuywh;cKJL=O5*Zog^gnNH5Krcx2!Hu6u3$U>(xOcK-7goHh> zyc6v9_~@r43}MY?jttL?3?nT#$&nwM+(&;iLpaP=MSHt0^)kZ62o7<*gZWdCgZI!` z$K@}fnSBVF$8+$V%Pe(O94JiimW4nPyytLt;$MrapTrkOlQ|0|t+IwMnt+Z8z&Zz$ z0{g4C5%tFuifdh{kE#91n$xu;jAPkCy=>;x^r(5)GmPYjvq-(pBt`@vP@{MXKzvZg zC=#&duuPE{&Y0mcnR!3b}mL7Nq9Arr@8;J=!6(mLH@TBCV zS^NRp8zwW1t;$e~iw6dSgpwJ324m6)jd0JPLkp)#F#*Q$8GR7_km7t<M z3$zco?qzXFCOcLj6f#?fOQOV+#6!#i%pY!Yq);|{+^749P(Q*_YLMr{>Zk^fEp4l3Ug$Wt1pOrHg0=;(eN;l=BIp{Z6eFhN%%S06 zAh^_6grUIUMaQZq5bx2Fs10OUP}wL*3SbH{LZaWRCPOJJI}A**L3C0)D&?4ZV?qdI z0MyEqMrf2!=@ey66lzJDEg?mMLzA9T_3}bTt5(HFiMb+?B3@gJ5DJ@xF@_bP+GFr% zBfZ=*#9(wYBuN!Q%f1*H$sSS%uR5{e9cxk7{#D|ETZhMyo;hbdT1 zJ&-6dY!S>Ar6$Hkl|t!6X_bk|kT#NYlB8oGF-y`7@{0(MBA3OKV_DdsZ6?xm5bk8I z9P_x7#oPB<)Y^bRjv-)@FR0d6483Sh8@Fa_usc9-4;) z_ccBQdclqt*ic2ppCD;8mICdI3`a&BVP$IlP#xfZ#cBrm!g4|o0(aD*$gD9}$=v5) zfvw^KqL0{)W4MF6SSc*Qpoe5|4> z)Er!bZ=Su}C27nl%I@muFrYM%mKlaf2o;wZCOzp>1uepL0ZAO#fW|PRY)Hd;)T~gl zZ7wfbGnU#cB%LsSP@eE|p^p~i6~Y}DJ+3+4BMXQtot!xBTaXH56AT3o#~B?b-FDz@ zgQycdD4nQ*j#|FpD)<0w7g^o!h21(OKXDi<)NsNJ~Y^X*@{Ql{)Oj^1y^} z>koqBw4T@{Y#LyqE|wZRy39pGOa!&JqC?aBZi}Zfl68cg1alD+l`wBf;vfUyvNKa; zzv#P6;gr!+W0lr%Z81at%}^_)r)W zra@k=K}{=ba28B~%n5?EzQlkBBf&DaRc#RlUlRhrqH1Iy9AMccAzMwch zJdG2anp2T(U{+Lz)bS=_77=LiA7~UTS5a}z;Al5TfbJ+8brWYvIJR4e)kwmhS@W74 zi`6J5h8k27>Y~3y@}Z$UG7Jmez|a~a>NJ<25Ml2rwzJTUqm&5~ryH`Pk_|eN?P9^) zp+={xr-aTm!2gU(yLhP@gVMAv}`Z{dmV6~{p zlF*}03zvzd5{R`E{DYFh1;S=Bx^B^d)M&(rA|mr>5u(d9YtV^s(y-@Jl7tqhx`MVK z7li9cP?PG1_=1$a%muDz(pnBR0EAD!Ng?*#;D9wZ8Y6HhrL~JVaXaPf&gJ` zijR+*K$)$E`HwVX#WGaH0f$vvGWQrQtR0fsu~YutrTRzLuYx&|0g*>gKj7NkLCrvo zcA>N!O*d+)@Dm~*!FmXd8$@dRfx+WN3j!AaH_FPxY-@__1Zbt54K(vI+|=G#1&^p9 zsVv#Pi^r1kB^XQ9Qav4F1#`D`hVw1~ciF0vhXI0MwDJ>fM1kX)+22SrlMb0OV;KZ+ z&n}Af$ndyM7TC3HgcHgqZzl5-*&e~u3Q;2-E78`datc?)K3Q?GQWC1J3K1+~iX#c# zQ`0IWDlW93b`l)q7H1KgU5UMu1E;~*l^3LHbVp5gNluqUMzsjlyCO1O_Nm11QA3wi ze+x9yoaCmWQ{2D{c7Ux<8c@kFT#KY4aAPV77+O^yC5MS)soS?Dye>JlNRu6&i0DmJ zOWQUmfr2F!cu8~!%rUu;dR%0&V|gIhAoQS%IXDBs7wBAsvtO)zN%Ck*76C%EWUCR)T1|NXKcu~iN6RRikBd56ei2R{ zh#uX!s(CCRY*K|T1FmcGqgHY_1b0_hiaHfeu5T8SWFa2@kT7X$6u7 z5xr=z*(AQL)FauRXzl*-1M}P>D1?g^;!{;ZEGpj)1J6^nOdpAI4gp#M(TRYSR1^rtu*B0OKRf+F~XN9NkO{5kr{a zOAG^zOfWlPS<33gttRtB9mb>pA%%s8^-n!j4Qq%vIB@8b!*I*SEO@&>hUzT_6NK^v%_84!V#h0!3qb(T_my|V z5*7t*$|iS4FH4muB>5o$5cNtB4zm-sRGD5X@iRoIse57#aS=jXSqrEksK(Dm%b^_f z(UoKMrDFIcA&I;7m@!D{g_QyJoywKgSc+=(ROxB+tIsFTZ}fkbu^|c)ltK%RrM528 zZq!0NcC?f+e2`4oCI(InB@VF=O;T1jCp1T`7q1v zg41e}VHgbzrU)GfLLl8t*5SE1x}HZPgsjE;Sd&vV!a(aG23UO9-c_hC*bKo@K zCy_;JIfTJWXGbzJA_D{k0Q#9Qe(cc&88RS@N#!O@D%1=*DEWy<7a@hj>#^|zQ?SI4 z{IVR82xKV>fwr(6TJ>I31}fm5K#UWQK%nLZ$%g%!!CN*td^8^6x{_JV1cjFjB;gRk zN?`P|rM)TO6Fh=~izruTCU$b52}mdjRJKTDv|3lgSr)R%8E&V^7+cIohG&LH#^>(9 zR>z46HdjZR-d!-aFmigR4mab{aj?*AESAGA98eKQ9~P)6f6VcUxlKe33DAii;L+@E zK47kvotU8dC$1O)5TP#l`D$6~>Ndrd%$O1ctA?sPMPSdK-&7U!T|*iNBcWsjcN7W; z6kXfoL>7RJ`_RFW{3esf6dDawi5ryhLbWJpGQfqaG{Wt_BRp`ROer+S*luw4U@jwF ztzDsiWPEmPf}3Mi9U7xLB;$`1!2LMiAv3;jf

    g)I(@Uc-(c1jfFV9LE^$mBvSls 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 azjZ6h0XX6K+5LB0+b_lE<@n$C|9=Df7*Xl~ literal 0 HcmV?d00001 From d142a65b1861e6be52f31b86f97f4fcdca52ccee Mon Sep 17 00:00:00 2001 From: Lucas Batista Date: Thu, 23 May 2024 21:28:04 -0400 Subject: [PATCH 05/10] Modificando Smartlamp --- smartlamp.ino | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/smartlamp.ino b/smartlamp.ino index 62349a3..312e9d5 100644 --- a/smartlamp.ino +++ b/smartlamp.ino @@ -1,12 +1,12 @@ // Defina os pinos de LED e LDR // Defina uma variável com valor máximo do LDR (4000) // Defina uma variável para guardar o valor atual do LED (10) -int ledPin; +int ledPin = 22; int ledValue; -int ldrPin; +int ldrPin = 12; // Faça testes no sensor ldr para encontrar o valor maximo e atribua a variável ldrMax -int ldrMax; +int ldrMax = 4000; void setup() { Serial.begin(9600); @@ -15,25 +15,53 @@ void setup() { pinMode(ldrPin, INPUT); Serial.printf("SmartLamp Initialized.\n"); - - + Serial.setTimeout(10); } // Função loop será executada infinitamente pelo ESP32 void loop() { //Obtenha os comandos enviados pela serial //e processe-os com a função processCommand + + if (Serial.available() > 0) { + String str = Serial.readString(); + str.trim(); + processCommand(str); + } } void processCommand(String command) { // compare o comando com os comandos possíveis e execute a ação correspondente + + if (command.equals(String("GET_LDR"))) { + Serial.print("RES GET_LDR "); + Serial.print(ldrGetValue()); + Serial.print("\n"); + } else if (command.equals(String("GET_LED"))) { + Serial.print("RES GET_LED "); + Serial.print(ledValue); + Serial.print("\n"); + } else if (command.substring(0, 7).equals(String("SET_LED"))) { + int set_led_value = command.substring(7).toInt(); + if ( set_led_value >= 0 && set_led_value <=100) { + ledUpdate(set_led_value); + Serial.println("RES SET_LED 1"); + } else { + Serial.println("RES SET_LED -1"); + } + } else { + Serial.println("ERR Unknown command."); + } } // Função para atualizar o valor do LED -void ledUpdate() { +void ledUpdate(int value) { // Valor deve convertar o valor recebido pelo comando SET_LED para 0 e 255 // Normalize o valor do LED antes de enviar para a porta correspondente + int led_value_norm = map(value, 0, 100, 0, 255); + ledValue = value; + analogWrite(ledPin, led_value_norm); } // Função para ler o valor do LDR @@ -41,4 +69,7 @@ int ldrGetValue() { // Leia o sensor LDR e retorne o valor normalizado entre 0 e 100 // faça testes para encontrar o valor maximo do ldr (exemplo: aponte a lanterna do celular para o sensor) // Atribua o valor para a variável ldrMax e utilize esse valor para a normalização + + return map(analogRead(ldrPin), 0, ldrMax, 0, 100); + } \ No newline at end of file From 5f18822c5c99b294b664dc52ca20d59b8d701c7a Mon Sep 17 00:00:00 2001 From: Lucas Batista Date: Thu, 23 May 2024 21:51:25 -0400 Subject: [PATCH 06/10] Adicionando GET_LDR no setup() --- smartlamp.ino | 2 ++ 1 file changed, 2 insertions(+) diff --git a/smartlamp.ino b/smartlamp.ino index 312e9d5..a5dd219 100644 --- a/smartlamp.ino +++ b/smartlamp.ino @@ -16,6 +16,8 @@ void setup() { Serial.printf("SmartLamp Initialized.\n"); Serial.setTimeout(10); + + processCommand(String("GET_LDR")); } // Função loop será executada infinitamente pelo ESP32 From c46a40e107e87b7fc7445959e38a44310bb319d1 Mon Sep 17 00:00:00 2001 From: Joao Danilo Date: Tue, 11 Jun 2024 15:47:48 -0400 Subject: [PATCH 07/10] Fixing ignored files --- smartlamp-kernel-module/.Module.symvers.cmd | 1 - smartlamp-kernel-module/.modules.order.cmd | 1 - smartlamp-kernel-module/.probe.ko.cmd | 1 - smartlamp-kernel-module/.probe.mod.cmd | 1 - smartlamp-kernel-module/.probe.mod.o.cmd | 706 -------------- smartlamp-kernel-module/.probe.o.cmd | 994 -------------------- smartlamp-kernel-module/.serial.ko.cmd | 1 - smartlamp-kernel-module/.serial.mod.cmd | 1 - smartlamp-kernel-module/.serial.mod.o.cmd | 706 -------------- smartlamp-kernel-module/.serial.o.cmd | 994 -------------------- smartlamp-kernel-module/Module.symvers | 0 smartlamp-kernel-module/modules.order | 1 - smartlamp-kernel-module/probe.ko | Bin 231624 -> 0 bytes smartlamp-kernel-module/probe.mod | 2 - smartlamp-kernel-module/probe.mod.c | 46 - smartlamp-kernel-module/probe.mod.o | Bin 50688 -> 0 bytes smartlamp-kernel-module/probe.o | Bin 182384 -> 0 bytes smartlamp-kernel-module/serial.ko | Bin 235600 -> 0 bytes smartlamp-kernel-module/serial.mod | 2 - smartlamp-kernel-module/serial.mod.c | 49 - smartlamp-kernel-module/serial.mod.o | Bin 50856 -> 0 bytes smartlamp-kernel-module/serial.o | Bin 186192 -> 0 bytes 22 files changed, 3506 deletions(-) delete mode 100644 smartlamp-kernel-module/.Module.symvers.cmd delete mode 100644 smartlamp-kernel-module/.modules.order.cmd delete mode 100644 smartlamp-kernel-module/.probe.ko.cmd delete mode 100644 smartlamp-kernel-module/.probe.mod.cmd delete mode 100644 smartlamp-kernel-module/.probe.mod.o.cmd delete mode 100644 smartlamp-kernel-module/.probe.o.cmd delete mode 100644 smartlamp-kernel-module/.serial.ko.cmd delete mode 100644 smartlamp-kernel-module/.serial.mod.cmd delete mode 100644 smartlamp-kernel-module/.serial.mod.o.cmd delete mode 100644 smartlamp-kernel-module/.serial.o.cmd delete mode 100644 smartlamp-kernel-module/Module.symvers delete mode 100644 smartlamp-kernel-module/modules.order delete mode 100644 smartlamp-kernel-module/probe.ko delete mode 100644 smartlamp-kernel-module/probe.mod delete mode 100644 smartlamp-kernel-module/probe.mod.c delete mode 100644 smartlamp-kernel-module/probe.mod.o delete mode 100644 smartlamp-kernel-module/probe.o delete mode 100644 smartlamp-kernel-module/serial.ko delete mode 100644 smartlamp-kernel-module/serial.mod delete mode 100644 smartlamp-kernel-module/serial.mod.c delete mode 100644 smartlamp-kernel-module/serial.mod.o delete mode 100644 smartlamp-kernel-module/serial.o diff --git a/smartlamp-kernel-module/.Module.symvers.cmd b/smartlamp-kernel-module/.Module.symvers.cmd deleted file mode 100644 index f87a467..0000000 --- a/smartlamp-kernel-module/.Module.symvers.cmd +++ /dev/null @@ -1 +0,0 @@ -cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/Module.symvers := sed 's/\.ko$$/\.o/' /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/modules.order | scripts/mod/modpost -m -a -o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/Module.symvers -e -i Module.symvers -T - diff --git a/smartlamp-kernel-module/.modules.order.cmd b/smartlamp-kernel-module/.modules.order.cmd deleted file mode 100644 index a871f89..0000000 --- a/smartlamp-kernel-module/.modules.order.cmd +++ /dev/null @@ -1 +0,0 @@ -cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/modules.order := { echo /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.ko; :; } | awk '!x[$$0]++' - > /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/modules.order diff --git a/smartlamp-kernel-module/.probe.ko.cmd b/smartlamp-kernel-module/.probe.ko.cmd deleted file mode 100644 index d1ec10a..0000000 --- a/smartlamp-kernel-module/.probe.ko.cmd +++ /dev/null @@ -1 +0,0 @@ -cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.ko := ld -r -m elf_x86_64 -z noexecstack --build-id=sha1 -T scripts/module.lds -o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.ko /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o; true diff --git a/smartlamp-kernel-module/.probe.mod.cmd b/smartlamp-kernel-module/.probe.mod.cmd deleted file mode 100644 index 853c1b9..0000000 --- a/smartlamp-kernel-module/.probe.mod.cmd +++ /dev/null @@ -1 +0,0 @@ -cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod := { echo /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o; echo; } > /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod diff --git a/smartlamp-kernel-module/.probe.mod.o.cmd b/smartlamp-kernel-module/.probe.mod.o.cmd deleted file mode 100644 index 223addf..0000000 --- a/smartlamp-kernel-module/.probe.mod.o.cmd +++ /dev/null @@ -1,706 +0,0 @@ -cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o := gcc -Wp,-MMD,/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/.probe.mod.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -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=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"probe.mod"' -DKBUILD_MODNAME='"probe"' -D__KBUILD_MODNAME=kmod_probe -c -o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.c - -source_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o := /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.c - -deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o := \ - $(wildcard include/config/MODULE_UNLOAD) \ - $(wildcard include/config/RETPOLINE) \ - include/linux/compiler-version.h \ - $(wildcard include/config/CC_VERSION_TEXT) \ - include/linux/kconfig.h \ - $(wildcard include/config/CPU_BIG_ENDIAN) \ - $(wildcard include/config/BOOGER) \ - $(wildcard include/config/FOO) \ - include/linux/compiler_types.h \ - $(wildcard include/config/HAVE_ARCH_COMPILER_H) \ - $(wildcard include/config/CC_HAS_ASM_INLINE) \ - include/linux/compiler_attributes.h \ - include/linux/compiler-gcc.h \ - $(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \ - $(wildcard include/config/KCOV) \ - include/linux/module.h \ - $(wildcard include/config/MODULES) \ - $(wildcard include/config/SYSFS) \ - $(wildcard include/config/MODULES_TREE_LOOKUP) \ - $(wildcard include/config/LIVEPATCH) \ - $(wildcard include/config/STACKTRACE_BUILD_ID) \ - $(wildcard include/config/CFI_CLANG) \ - $(wildcard include/config/MODULE_SIG) \ - $(wildcard include/config/GENERIC_BUG) \ - $(wildcard include/config/KALLSYMS) \ - $(wildcard include/config/SMP) \ - $(wildcard include/config/TRACEPOINTS) \ - $(wildcard include/config/TREE_SRCU) \ - $(wildcard include/config/BPF_EVENTS) \ - $(wildcard include/config/DEBUG_INFO_BTF_MODULES) \ - $(wildcard include/config/JUMP_LABEL) \ - $(wildcard include/config/TRACING) \ - $(wildcard include/config/EVENT_TRACING) \ - $(wildcard include/config/FTRACE_MCOUNT_RECORD) \ - $(wildcard include/config/KPROBES) \ - $(wildcard include/config/HAVE_STATIC_CALL_INLINE) \ - $(wildcard include/config/PRINTK_INDEX) \ - $(wildcard include/config/CONSTRUCTORS) \ - $(wildcard include/config/FUNCTION_ERROR_INJECTION) \ - include/linux/list.h \ - $(wildcard include/config/DEBUG_LIST) \ - include/linux/types.h \ - $(wildcard include/config/HAVE_UID16) \ - $(wildcard include/config/UID16) \ - $(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \ - $(wildcard include/config/PHYS_ADDR_T_64BIT) \ - $(wildcard include/config/64BIT) \ - $(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \ - include/uapi/linux/types.h \ - arch/x86/include/generated/uapi/asm/types.h \ - include/uapi/asm-generic/types.h \ - include/asm-generic/int-ll64.h \ - include/uapi/asm-generic/int-ll64.h \ - arch/x86/include/uapi/asm/bitsperlong.h \ - include/asm-generic/bitsperlong.h \ - include/uapi/asm-generic/bitsperlong.h \ - include/uapi/linux/posix_types.h \ - include/linux/stddef.h \ - include/uapi/linux/stddef.h \ - include/linux/compiler_types.h \ - arch/x86/include/asm/posix_types.h \ - $(wildcard include/config/X86_32) \ - arch/x86/include/uapi/asm/posix_types_64.h \ - include/uapi/asm-generic/posix_types.h \ - include/linux/poison.h \ - $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ - include/linux/const.h \ - include/vdso/const.h \ - include/uapi/linux/const.h \ - include/linux/kernel.h \ - $(wildcard include/config/PREEMPT_VOLUNTARY) \ - $(wildcard include/config/PREEMPT_DYNAMIC) \ - $(wildcard include/config/PREEMPT_) \ - $(wildcard include/config/DEBUG_ATOMIC_SLEEP) \ - $(wildcard include/config/MMU) \ - $(wildcard include/config/PROVE_LOCKING) \ - include/linux/stdarg.h \ - include/linux/align.h \ - include/linux/limits.h \ - include/uapi/linux/limits.h \ - include/vdso/limits.h \ - include/linux/linkage.h \ - $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ - include/linux/stringify.h \ - include/linux/export.h \ - $(wildcard include/config/MODVERSIONS) \ - $(wildcard include/config/MODULE_REL_CRCS) \ - $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ - $(wildcard include/config/TRIM_UNUSED_KSYMS) \ - include/linux/compiler.h \ - $(wildcard include/config/TRACE_BRANCH_PROFILING) \ - $(wildcard include/config/PROFILE_ALL_BRANCHES) \ - $(wildcard include/config/STACK_VALIDATION) \ - arch/x86/include/generated/asm/rwonce.h \ - include/asm-generic/rwonce.h \ - include/linux/kasan-checks.h \ - $(wildcard include/config/KASAN_GENERIC) \ - $(wildcard include/config/KASAN_SW_TAGS) \ - include/linux/kcsan-checks.h \ - $(wildcard include/config/KCSAN) \ - $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ - arch/x86/include/asm/linkage.h \ - $(wildcard include/config/X86_64) \ - $(wildcard include/config/X86_ALIGNMENT_16) \ - $(wildcard include/config/RETHUNK) \ - $(wildcard include/config/SLS) \ - include/linux/bitops.h \ - include/linux/bits.h \ - include/vdso/bits.h \ - include/linux/build_bug.h \ - include/linux/typecheck.h \ - include/uapi/linux/kernel.h \ - include/uapi/linux/sysinfo.h \ - arch/x86/include/asm/bitops.h \ - $(wildcard include/config/X86_CMOV) \ - arch/x86/include/asm/alternative.h \ - arch/x86/include/asm/asm.h \ - arch/x86/include/asm/extable_fixup_types.h \ - arch/x86/include/asm/rmwcc.h \ - $(wildcard include/config/CC_HAS_ASM_GOTO) \ - arch/x86/include/asm/barrier.h \ - arch/x86/include/asm/nops.h \ - include/asm-generic/barrier.h \ - include/asm-generic/bitops/find.h \ - $(wildcard include/config/GENERIC_FIND_FIRST_BIT) \ - include/asm-generic/bitops/sched.h \ - arch/x86/include/asm/arch_hweight.h \ - arch/x86/include/asm/cpufeatures.h \ - arch/x86/include/asm/required-features.h \ - $(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \ - $(wildcard include/config/MATH_EMULATION) \ - $(wildcard include/config/X86_PAE) \ - $(wildcard include/config/X86_CMPXCHG64) \ - $(wildcard include/config/X86_USE_3DNOW) \ - $(wildcard include/config/X86_P6_NOP) \ - $(wildcard include/config/MATOM) \ - $(wildcard include/config/PARAVIRT_XXL) \ - arch/x86/include/asm/disabled-features.h \ - $(wildcard include/config/X86_SMAP) \ - $(wildcard include/config/X86_UMIP) \ - $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ - $(wildcard include/config/X86_5LEVEL) \ - $(wildcard include/config/PAGE_TABLE_ISOLATION) \ - $(wildcard include/config/CPU_UNRET_ENTRY) \ - $(wildcard include/config/X86_SGX) \ - include/asm-generic/bitops/const_hweight.h \ - include/asm-generic/bitops/instrumented-atomic.h \ - include/linux/instrumented.h \ - include/asm-generic/bitops/instrumented-non-atomic.h \ - $(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \ - include/asm-generic/bitops/instrumented-lock.h \ - include/asm-generic/bitops/le.h \ - arch/x86/include/uapi/asm/byteorder.h \ - include/linux/byteorder/little_endian.h \ - include/uapi/linux/byteorder/little_endian.h \ - include/linux/swab.h \ - include/uapi/linux/swab.h \ - arch/x86/include/uapi/asm/swab.h \ - include/linux/byteorder/generic.h \ - include/asm-generic/bitops/ext2-atomic-setbit.h \ - include/linux/kstrtox.h \ - include/linux/log2.h \ - $(wildcard include/config/ARCH_HAS_ILOG2_U32) \ - $(wildcard include/config/ARCH_HAS_ILOG2_U64) \ - include/linux/math.h \ - arch/x86/include/asm/div64.h \ - include/asm-generic/div64.h \ - include/linux/minmax.h \ - include/linux/panic.h \ - $(wildcard include/config/PANIC_TIMEOUT) \ - include/linux/printk.h \ - $(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \ - $(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \ - $(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \ - $(wildcard include/config/EARLY_PRINTK) \ - $(wildcard include/config/PRINTK) \ - $(wildcard include/config/DYNAMIC_DEBUG) \ - $(wildcard include/config/DYNAMIC_DEBUG_CORE) \ - include/linux/init.h \ - $(wildcard include/config/STRICT_KERNEL_RWX) \ - $(wildcard include/config/STRICT_MODULE_RWX) \ - $(wildcard include/config/LTO_CLANG) \ - include/linux/kern_levels.h \ - include/linux/cache.h \ - $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ - arch/x86/include/asm/cache.h \ - $(wildcard include/config/X86_L1_CACHE_SHIFT) \ - $(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \ - $(wildcard include/config/X86_VSMP) \ - include/linux/ratelimit_types.h \ - include/uapi/linux/param.h \ - arch/x86/include/generated/uapi/asm/param.h \ - include/asm-generic/param.h \ - $(wildcard include/config/HZ) \ - include/uapi/asm-generic/param.h \ - include/linux/spinlock_types.h \ - $(wildcard include/config/PREEMPT_RT) \ - $(wildcard include/config/DEBUG_LOCK_ALLOC) \ - include/linux/spinlock_types_raw.h \ - $(wildcard include/config/DEBUG_SPINLOCK) \ - arch/x86/include/asm/spinlock_types.h \ - include/asm-generic/qspinlock_types.h \ - $(wildcard include/config/NR_CPUS) \ - include/asm-generic/qrwlock_types.h \ - include/linux/lockdep_types.h \ - $(wildcard include/config/PROVE_RAW_LOCK_NESTING) \ - $(wildcard include/config/PREEMPT_LOCK) \ - $(wildcard include/config/LOCKDEP) \ - $(wildcard include/config/LOCK_STAT) \ - include/linux/rwlock_types.h \ - include/linux/once_lite.h \ - include/linux/dynamic_debug.h \ - include/linux/jump_label.h \ - $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ - arch/x86/include/asm/jump_label.h \ - include/linux/static_call_types.h \ - $(wildcard include/config/HAVE_STATIC_CALL) \ - include/linux/stat.h \ - arch/x86/include/uapi/asm/stat.h \ - include/uapi/linux/stat.h \ - include/linux/time.h \ - $(wildcard include/config/POSIX_TIMERS) \ - include/linux/math64.h \ - $(wildcard include/config/ARCH_SUPPORTS_INT128) \ - include/vdso/math64.h \ - include/linux/time64.h \ - include/vdso/time64.h \ - include/uapi/linux/time.h \ - include/uapi/linux/time_types.h \ - include/linux/time32.h \ - include/linux/timex.h \ - include/uapi/linux/timex.h \ - arch/x86/include/asm/timex.h \ - $(wildcard include/config/X86_TSC) \ - arch/x86/include/asm/processor.h \ - $(wildcard include/config/X86_VMX_FEATURE_NAMES) \ - $(wildcard include/config/X86_IOPL_IOPERM) \ - $(wildcard include/config/STACKPROTECTOR) \ - $(wildcard include/config/VM86) \ - $(wildcard include/config/X86_DEBUGCTLMSR) \ - $(wildcard include/config/CPU_SUP_AMD) \ - $(wildcard include/config/XEN) \ - arch/x86/include/asm/processor-flags.h \ - arch/x86/include/uapi/asm/processor-flags.h \ - include/linux/mem_encrypt.h \ - $(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \ - $(wildcard include/config/AMD_MEM_ENCRYPT) \ - arch/x86/include/asm/mem_encrypt.h \ - include/linux/cc_platform.h \ - $(wildcard include/config/ARCH_HAS_CC_PLATFORM) \ - arch/x86/include/uapi/asm/bootparam.h \ - include/linux/screen_info.h \ - include/uapi/linux/screen_info.h \ - include/linux/apm_bios.h \ - include/uapi/linux/apm_bios.h \ - include/uapi/linux/ioctl.h \ - arch/x86/include/generated/uapi/asm/ioctl.h \ - include/asm-generic/ioctl.h \ - include/uapi/asm-generic/ioctl.h \ - include/linux/edd.h \ - include/uapi/linux/edd.h \ - arch/x86/include/asm/ist.h \ - arch/x86/include/uapi/asm/ist.h \ - include/video/edid.h \ - $(wildcard include/config/X86) \ - include/uapi/video/edid.h \ - arch/x86/include/asm/math_emu.h \ - arch/x86/include/asm/ptrace.h \ - $(wildcard include/config/PARAVIRT) \ - $(wildcard include/config/IA32_EMULATION) \ - arch/x86/include/asm/segment.h \ - $(wildcard include/config/XEN_PV) \ - arch/x86/include/asm/page_types.h \ - $(wildcard include/config/PHYSICAL_START) \ - $(wildcard include/config/PHYSICAL_ALIGN) \ - $(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \ - arch/x86/include/asm/page_64_types.h \ - $(wildcard include/config/KASAN) \ - $(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \ - $(wildcard include/config/RANDOMIZE_BASE) \ - arch/x86/include/asm/kaslr.h \ - $(wildcard include/config/RANDOMIZE_MEMORY) \ - arch/x86/include/uapi/asm/ptrace.h \ - arch/x86/include/uapi/asm/ptrace-abi.h \ - arch/x86/include/asm/paravirt_types.h \ - $(wildcard include/config/PGTABLE_LEVELS) \ - $(wildcard include/config/PARAVIRT_DEBUG) \ - arch/x86/include/asm/desc_defs.h \ - arch/x86/include/asm/pgtable_types.h \ - $(wildcard include/config/MEM_SOFT_DIRTY) \ - $(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \ - $(wildcard include/config/PROC_FS) \ - arch/x86/include/asm/pgtable_64_types.h \ - $(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \ - arch/x86/include/asm/sparsemem.h \ - $(wildcard include/config/SPARSEMEM) \ - $(wildcard include/config/NUMA_KEEP_MEMINFO) \ - arch/x86/include/asm/nospec-branch.h \ - $(wildcard include/config/CPU_SRSO) \ - $(wildcard include/config/CPU_IBPB_ENTRY) \ - include/linux/static_key.h \ - include/linux/objtool.h \ - $(wildcard include/config/FRAME_POINTER) \ - arch/x86/include/asm/msr-index.h \ - arch/x86/include/asm/unwind_hints.h \ - arch/x86/include/asm/orc_types.h \ - arch/x86/include/asm/percpu.h \ - $(wildcard include/config/X86_64_SMP) \ - include/asm-generic/percpu.h \ - $(wildcard include/config/DEBUG_PREEMPT) \ - $(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \ - include/linux/threads.h \ - $(wildcard include/config/BASE_SMALL) \ - include/linux/percpu-defs.h \ - $(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \ - arch/x86/include/asm/GEN-for-each-reg.h \ - arch/x86/include/asm/proto.h \ - arch/x86/include/uapi/asm/ldt.h \ - arch/x86/include/uapi/asm/sigcontext.h \ - arch/x86/include/asm/current.h \ - arch/x86/include/asm/page.h \ - arch/x86/include/asm/page_64.h \ - $(wildcard include/config/DEBUG_VIRTUAL) \ - $(wildcard include/config/FLATMEM) \ - $(wildcard include/config/X86_VSYSCALL_EMULATION) \ - include/linux/range.h \ - include/asm-generic/memory_model.h \ - $(wildcard include/config/SPARSEMEM_VMEMMAP) \ - include/linux/pfn.h \ - include/asm-generic/getorder.h \ - arch/x86/include/asm/msr.h \ - arch/x86/include/asm/msr-index.h \ - arch/x86/include/generated/uapi/asm/errno.h \ - include/uapi/asm-generic/errno.h \ - include/uapi/asm-generic/errno-base.h \ - arch/x86/include/asm/cpumask.h \ - include/linux/cpumask.h \ - $(wildcard include/config/CPUMASK_OFFSTACK) \ - $(wildcard include/config/HOTPLUG_CPU) \ - $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ - include/linux/bitmap.h \ - include/linux/string.h \ - $(wildcard include/config/BINARY_PRINTF) \ - $(wildcard include/config/FORTIFY_SOURCE) \ - include/linux/err.h \ - include/linux/errno.h \ - include/uapi/linux/errno.h \ - include/linux/overflow.h \ - include/uapi/linux/string.h \ - arch/x86/include/asm/string.h \ - arch/x86/include/asm/string_64.h \ - $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ - include/linux/fortify-string.h \ - include/linux/atomic.h \ - arch/x86/include/asm/atomic.h \ - arch/x86/include/asm/cmpxchg.h \ - arch/x86/include/asm/cmpxchg_64.h \ - arch/x86/include/asm/atomic64_64.h \ - include/linux/atomic/atomic-arch-fallback.h \ - $(wildcard include/config/GENERIC_ATOMIC64) \ - include/linux/atomic/atomic-long.h \ - include/linux/atomic/atomic-instrumented.h \ - include/linux/bug.h \ - $(wildcard include/config/BUG_ON_DATA_CORRUPTION) \ - arch/x86/include/asm/bug.h \ - $(wildcard include/config/DEBUG_BUGVERBOSE) \ - include/linux/instrumentation.h \ - $(wildcard include/config/DEBUG_ENTRY) \ - include/asm-generic/bug.h \ - $(wildcard include/config/BUG) \ - $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ - arch/x86/include/uapi/asm/msr.h \ - include/linux/tracepoint-defs.h \ - arch/x86/include/asm/paravirt.h \ - $(wildcard include/config/PARAVIRT_SPINLOCKS) \ - arch/x86/include/asm/frame.h \ - arch/x86/include/asm/special_insns.h \ - include/linux/irqflags.h \ - $(wildcard include/config/TRACE_IRQFLAGS) \ - $(wildcard include/config/IRQSOFF_TRACER) \ - $(wildcard include/config/PREEMPT_TRACER) \ - $(wildcard include/config/DEBUG_IRQFLAGS) \ - $(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \ - arch/x86/include/asm/irqflags.h \ - arch/x86/include/asm/fpu/types.h \ - arch/x86/include/asm/vmxfeatures.h \ - arch/x86/include/asm/vdso/processor.h \ - include/linux/personality.h \ - include/uapi/linux/personality.h \ - arch/x86/include/asm/tsc.h \ - arch/x86/include/asm/cpufeature.h \ - $(wildcard include/config/X86_FEATURE_NAMES) \ - include/vdso/time32.h \ - include/vdso/time.h \ - include/linux/uidgid.h \ - $(wildcard include/config/MULTIUSER) \ - $(wildcard include/config/USER_NS) \ - include/linux/highuid.h \ - include/linux/buildid.h \ - $(wildcard include/config/CRASH_CORE) \ - include/linux/mm_types.h \ - $(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \ - $(wildcard include/config/MEMCG) \ - $(wildcard include/config/USERFAULTFD) \ - $(wildcard include/config/SWAP) \ - $(wildcard include/config/NUMA) \ - $(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \ - $(wildcard include/config/MEMBARRIER) \ - $(wildcard include/config/AIO) \ - $(wildcard include/config/MMU_NOTIFIER) \ - $(wildcard include/config/TRANSPARENT_HUGEPAGE) \ - $(wildcard include/config/NUMA_BALANCING) \ - $(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \ - $(wildcard include/config/HUGETLB_PAGE) \ - $(wildcard include/config/IOMMU_SUPPORT) \ - include/linux/mm_types_task.h \ - $(wildcard include/config/SPLIT_PTLOCK_CPUS) \ - $(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \ - arch/x86/include/asm/tlbbatch.h \ - include/linux/auxvec.h \ - include/uapi/linux/auxvec.h \ - arch/x86/include/uapi/asm/auxvec.h \ - include/linux/spinlock.h \ - $(wildcard include/config/PREEMPTION) \ - include/linux/preempt.h \ - $(wildcard include/config/PREEMPT_COUNT) \ - $(wildcard include/config/TRACE_PREEMPT_TOGGLE) \ - $(wildcard include/config/PREEMPT_NOTIFIERS) \ - arch/x86/include/asm/preempt.h \ - include/linux/thread_info.h \ - $(wildcard include/config/THREAD_INFO_IN_TASK) \ - $(wildcard include/config/GENERIC_ENTRY) \ - $(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \ - $(wildcard include/config/HARDENED_USERCOPY) \ - include/linux/restart_block.h \ - arch/x86/include/asm/thread_info.h \ - $(wildcard include/config/COMPAT) \ - include/linux/bottom_half.h \ - include/linux/lockdep.h \ - $(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \ - include/linux/smp.h \ - $(wildcard include/config/UP_LATE_INIT) \ - include/linux/smp_types.h \ - include/linux/llist.h \ - $(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \ - arch/x86/include/asm/smp.h \ - $(wildcard include/config/X86_LOCAL_APIC) \ - $(wildcard include/config/DEBUG_NMI_SELFTEST) \ - arch/x86/include/generated/asm/mmiowb.h \ - include/asm-generic/mmiowb.h \ - $(wildcard include/config/MMIOWB) \ - arch/x86/include/asm/spinlock.h \ - arch/x86/include/asm/qspinlock.h \ - include/asm-generic/qspinlock.h \ - arch/x86/include/asm/qrwlock.h \ - include/asm-generic/qrwlock.h \ - include/linux/rwlock.h \ - $(wildcard include/config/PREEMPT) \ - include/linux/spinlock_api_smp.h \ - $(wildcard include/config/INLINE_SPIN_LOCK) \ - $(wildcard include/config/INLINE_SPIN_LOCK_BH) \ - $(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \ - $(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_SPIN_TRYLOCK) \ - $(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \ - $(wildcard include/config/UNINLINE_SPIN_UNLOCK) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \ - $(wildcard include/config/GENERIC_LOCKBREAK) \ - include/linux/rwlock_api_smp.h \ - $(wildcard include/config/INLINE_READ_LOCK) \ - $(wildcard include/config/INLINE_WRITE_LOCK) \ - $(wildcard include/config/INLINE_READ_LOCK_BH) \ - $(wildcard include/config/INLINE_WRITE_LOCK_BH) \ - $(wildcard include/config/INLINE_READ_LOCK_IRQ) \ - $(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \ - $(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_READ_TRYLOCK) \ - $(wildcard include/config/INLINE_WRITE_TRYLOCK) \ - $(wildcard include/config/INLINE_READ_UNLOCK) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK) \ - $(wildcard include/config/INLINE_READ_UNLOCK_BH) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \ - $(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \ - include/linux/rbtree.h \ - include/linux/rbtree_types.h \ - include/linux/rcupdate.h \ - $(wildcard include/config/PREEMPT_RCU) \ - $(wildcard include/config/TINY_RCU) \ - $(wildcard include/config/TASKS_RCU_GENERIC) \ - $(wildcard include/config/RCU_STALL_COMMON) \ - $(wildcard include/config/NO_HZ_FULL) \ - $(wildcard include/config/RCU_NOCB_CPU) \ - $(wildcard include/config/TASKS_RCU) \ - $(wildcard include/config/TASKS_TRACE_RCU) \ - $(wildcard include/config/TASKS_RUDE_RCU) \ - $(wildcard include/config/TREE_RCU) \ - $(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \ - $(wildcard include/config/PROVE_RCU) \ - $(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \ - include/linux/rcutree.h \ - include/linux/rwsem.h \ - $(wildcard include/config/RWSEM_SPIN_ON_OWNER) \ - $(wildcard include/config/DEBUG_RWSEMS) \ - include/linux/osq_lock.h \ - include/linux/completion.h \ - include/linux/swait.h \ - include/linux/wait.h \ - include/uapi/linux/wait.h \ - include/linux/uprobes.h \ - $(wildcard include/config/UPROBES) \ - arch/x86/include/asm/uprobes.h \ - include/linux/notifier.h \ - include/linux/mutex.h \ - $(wildcard include/config/MUTEX_SPIN_ON_OWNER) \ - $(wildcard include/config/DEBUG_MUTEXES) \ - include/linux/debug_locks.h \ - include/linux/srcu.h \ - $(wildcard include/config/TINY_SRCU) \ - $(wildcard include/config/SRCU) \ - include/linux/workqueue.h \ - $(wildcard include/config/DEBUG_OBJECTS_WORK) \ - $(wildcard include/config/FREEZER) \ - $(wildcard include/config/WQ_WATCHDOG) \ - include/linux/timer.h \ - $(wildcard include/config/DEBUG_OBJECTS_TIMERS) \ - $(wildcard include/config/NO_HZ_COMMON) \ - include/linux/ktime.h \ - include/linux/jiffies.h \ - include/vdso/jiffies.h \ - include/generated/timeconst.h \ - include/vdso/ktime.h \ - include/linux/timekeeping.h \ - $(wildcard include/config/GENERIC_CMOS_UPDATE) \ - include/linux/clocksource_ids.h \ - include/linux/debugobjects.h \ - $(wildcard include/config/DEBUG_OBJECTS) \ - $(wildcard include/config/DEBUG_OBJECTS_FREE) \ - include/linux/rcu_segcblist.h \ - include/linux/srcutree.h \ - include/linux/rcu_node_tree.h \ - $(wildcard include/config/RCU_FANOUT) \ - $(wildcard include/config/RCU_FANOUT_LEAF) \ - include/linux/page-flags-layout.h \ - $(wildcard include/config/KASAN_HW_TAGS) \ - include/linux/numa.h \ - $(wildcard include/config/NODES_SHIFT) \ - include/generated/bounds.h \ - include/linux/seqlock.h \ - include/linux/ww_mutex.h \ - $(wildcard include/config/DEBUG_RT_MUTEXES) \ - $(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \ - include/linux/rtmutex.h \ - arch/x86/include/asm/mmu.h \ - $(wildcard include/config/MODIFY_LDT_SYSCALL) \ - include/linux/kmod.h \ - include/linux/umh.h \ - include/linux/gfp.h \ - $(wildcard include/config/HIGHMEM) \ - $(wildcard include/config/ZONE_DMA) \ - $(wildcard include/config/ZONE_DMA32) \ - $(wildcard include/config/ZONE_DEVICE) \ - $(wildcard include/config/PM_SLEEP) \ - $(wildcard include/config/CONTIG_ALLOC) \ - $(wildcard include/config/CMA) \ - include/linux/mmdebug.h \ - $(wildcard include/config/DEBUG_VM) \ - $(wildcard include/config/DEBUG_VM_PGFLAGS) \ - include/linux/mmzone.h \ - $(wildcard include/config/FORCE_MAX_ZONEORDER) \ - $(wildcard include/config/MEMORY_ISOLATION) \ - $(wildcard include/config/ZSMALLOC) \ - $(wildcard include/config/SHADOW_CALL_STACK) \ - $(wildcard include/config/MEMORY_HOTPLUG) \ - $(wildcard include/config/COMPACTION) \ - $(wildcard include/config/PAGE_EXTENSION) \ - $(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \ - $(wildcard include/config/HAVE_MEMORYLESS_NODES) \ - $(wildcard include/config/SPARSEMEM_EXTREME) \ - $(wildcard include/config/HAVE_ARCH_PFN_VALID) \ - include/linux/nodemask.h \ - include/linux/pageblock-flags.h \ - $(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \ - include/linux/page-flags.h \ - $(wildcard include/config/ARCH_USES_PG_UNCACHED) \ - $(wildcard include/config/MEMORY_FAILURE) \ - $(wildcard include/config/PAGE_IDLE_FLAG) \ - $(wildcard include/config/THP_SWAP) \ - $(wildcard include/config/KSM) \ - include/linux/local_lock.h \ - include/linux/local_lock_internal.h \ - include/linux/memory_hotplug.h \ - $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ - $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ - $(wildcard include/config/MEMORY_HOTREMOVE) \ - arch/x86/include/asm/mmzone.h \ - arch/x86/include/asm/mmzone_64.h \ - include/linux/topology.h \ - $(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \ - $(wildcard include/config/SCHED_SMT) \ - include/linux/arch_topology.h \ - $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ - include/linux/percpu.h \ - $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ - $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ - arch/x86/include/asm/topology.h \ - $(wildcard include/config/SCHED_MC_PRIO) \ - $(wildcard include/config/ACPI_CPPC_LIB) \ - arch/x86/include/asm/mpspec.h \ - $(wildcard include/config/EISA) \ - $(wildcard include/config/X86_MPPARSE) \ - arch/x86/include/asm/mpspec_def.h \ - arch/x86/include/asm/x86_init.h \ - arch/x86/include/asm/apicdef.h \ - include/asm-generic/topology.h \ - include/linux/sysctl.h \ - $(wildcard include/config/SYSCTL) \ - include/uapi/linux/sysctl.h \ - include/linux/elf.h \ - $(wildcard include/config/ARCH_USE_GNU_PROPERTY) \ - $(wildcard include/config/ARCH_HAVE_ELF_PROT) \ - arch/x86/include/asm/elf.h \ - $(wildcard include/config/X86_X32_ABI) \ - arch/x86/include/asm/user.h \ - arch/x86/include/asm/user_64.h \ - arch/x86/include/asm/fsgsbase.h \ - arch/x86/include/asm/vdso.h \ - $(wildcard include/config/X86_X32) \ - include/uapi/linux/elf.h \ - include/uapi/linux/elf-em.h \ - include/linux/kobject.h \ - $(wildcard include/config/UEVENT_HELPER) \ - $(wildcard include/config/DEBUG_KOBJECT_RELEASE) \ - include/linux/sysfs.h \ - include/linux/kernfs.h \ - $(wildcard include/config/KERNFS) \ - include/linux/idr.h \ - include/linux/radix-tree.h \ - include/linux/xarray.h \ - $(wildcard include/config/XARRAY_MULTI) \ - include/linux/kconfig.h \ - include/linux/kobject_ns.h \ - include/linux/kref.h \ - include/linux/refcount.h \ - include/linux/moduleparam.h \ - $(wildcard include/config/ALPHA) \ - $(wildcard include/config/IA64) \ - $(wildcard include/config/PPC64) \ - include/linux/rbtree_latch.h \ - include/linux/error-injection.h \ - include/asm-generic/error-injection.h \ - include/linux/cfi.h \ - $(wildcard include/config/CFI_CLANG_SHADOW) \ - arch/x86/include/asm/module.h \ - $(wildcard include/config/UNWINDER_ORC) \ - include/asm-generic/module.h \ - $(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \ - $(wildcard include/config/MODULES_USE_ELF_REL) \ - $(wildcard include/config/MODULES_USE_ELF_RELA) \ - arch/x86/include/asm/orc_types.h \ - include/linux/build-salt.h \ - $(wildcard include/config/BUILD_SALT) \ - include/linux/elfnote.h \ - include/linux/elfnote-lto.h \ - $(wildcard include/config/LTO) \ - include/linux/vermagic.h \ - include/generated/utsrelease.h \ - arch/x86/include/asm/vermagic.h \ - $(wildcard include/config/M486SX) \ - $(wildcard include/config/M486) \ - $(wildcard include/config/M586) \ - $(wildcard include/config/M586TSC) \ - $(wildcard include/config/M586MMX) \ - $(wildcard include/config/MCORE2) \ - $(wildcard include/config/M686) \ - $(wildcard include/config/MPENTIUMII) \ - $(wildcard include/config/MPENTIUMIII) \ - $(wildcard include/config/MPENTIUMM) \ - $(wildcard include/config/MPENTIUM4) \ - $(wildcard include/config/MK6) \ - $(wildcard include/config/MK7) \ - $(wildcard include/config/MK8) \ - $(wildcard include/config/MELAN) \ - $(wildcard include/config/MCRUSOE) \ - $(wildcard include/config/MEFFICEON) \ - $(wildcard include/config/MWINCHIPC6) \ - $(wildcard include/config/MWINCHIP3D) \ - $(wildcard include/config/MCYRIXIII) \ - $(wildcard include/config/MVIAC3_2) \ - $(wildcard include/config/MVIAC7) \ - $(wildcard include/config/MGEODEGX1) \ - $(wildcard include/config/MGEODE_LX) \ - -/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o: $(deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o) - -$(deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.mod.o): diff --git a/smartlamp-kernel-module/.probe.o.cmd b/smartlamp-kernel-module/.probe.o.cmd deleted file mode 100644 index 941ffd0..0000000 --- a/smartlamp-kernel-module/.probe.o.cmd +++ /dev/null @@ -1,994 +0,0 @@ -cmd_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o := gcc -Wp,-MMD,/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/.probe.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -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=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"probe"' -DKBUILD_MODNAME='"probe"' -D__KBUILD_MODNAME=kmod_probe -c -o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.c - -source_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o := /home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.c - -deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o := \ - include/linux/compiler-version.h \ - $(wildcard include/config/CC_VERSION_TEXT) \ - include/linux/kconfig.h \ - $(wildcard include/config/CPU_BIG_ENDIAN) \ - $(wildcard include/config/BOOGER) \ - $(wildcard include/config/FOO) \ - include/linux/compiler_types.h \ - $(wildcard include/config/HAVE_ARCH_COMPILER_H) \ - $(wildcard include/config/CC_HAS_ASM_INLINE) \ - include/linux/compiler_attributes.h \ - include/linux/compiler-gcc.h \ - $(wildcard include/config/RETPOLINE) \ - $(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \ - $(wildcard include/config/KCOV) \ - include/linux/module.h \ - $(wildcard include/config/MODULES) \ - $(wildcard include/config/SYSFS) \ - $(wildcard include/config/MODULES_TREE_LOOKUP) \ - $(wildcard include/config/LIVEPATCH) \ - $(wildcard include/config/STACKTRACE_BUILD_ID) \ - $(wildcard include/config/CFI_CLANG) \ - $(wildcard include/config/MODULE_SIG) \ - $(wildcard include/config/GENERIC_BUG) \ - $(wildcard include/config/KALLSYMS) \ - $(wildcard include/config/SMP) \ - $(wildcard include/config/TRACEPOINTS) \ - $(wildcard include/config/TREE_SRCU) \ - $(wildcard include/config/BPF_EVENTS) \ - $(wildcard include/config/DEBUG_INFO_BTF_MODULES) \ - $(wildcard include/config/JUMP_LABEL) \ - $(wildcard include/config/TRACING) \ - $(wildcard include/config/EVENT_TRACING) \ - $(wildcard include/config/FTRACE_MCOUNT_RECORD) \ - $(wildcard include/config/KPROBES) \ - $(wildcard include/config/HAVE_STATIC_CALL_INLINE) \ - $(wildcard include/config/PRINTK_INDEX) \ - $(wildcard include/config/MODULE_UNLOAD) \ - $(wildcard include/config/CONSTRUCTORS) \ - $(wildcard include/config/FUNCTION_ERROR_INJECTION) \ - include/linux/list.h \ - $(wildcard include/config/DEBUG_LIST) \ - include/linux/types.h \ - $(wildcard include/config/HAVE_UID16) \ - $(wildcard include/config/UID16) \ - $(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \ - $(wildcard include/config/PHYS_ADDR_T_64BIT) \ - $(wildcard include/config/64BIT) \ - $(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \ - include/uapi/linux/types.h \ - arch/x86/include/generated/uapi/asm/types.h \ - include/uapi/asm-generic/types.h \ - include/asm-generic/int-ll64.h \ - include/uapi/asm-generic/int-ll64.h \ - arch/x86/include/uapi/asm/bitsperlong.h \ - include/asm-generic/bitsperlong.h \ - include/uapi/asm-generic/bitsperlong.h \ - include/uapi/linux/posix_types.h \ - include/linux/stddef.h \ - include/uapi/linux/stddef.h \ - include/linux/compiler_types.h \ - arch/x86/include/asm/posix_types.h \ - $(wildcard include/config/X86_32) \ - arch/x86/include/uapi/asm/posix_types_64.h \ - include/uapi/asm-generic/posix_types.h \ - include/linux/poison.h \ - $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ - include/linux/const.h \ - include/vdso/const.h \ - include/uapi/linux/const.h \ - include/linux/kernel.h \ - $(wildcard include/config/PREEMPT_VOLUNTARY) \ - $(wildcard include/config/PREEMPT_DYNAMIC) \ - $(wildcard include/config/PREEMPT_) \ - $(wildcard include/config/DEBUG_ATOMIC_SLEEP) \ - $(wildcard include/config/MMU) \ - $(wildcard include/config/PROVE_LOCKING) \ - include/linux/stdarg.h \ - include/linux/align.h \ - include/linux/limits.h \ - include/uapi/linux/limits.h \ - include/vdso/limits.h \ - include/linux/linkage.h \ - $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ - include/linux/stringify.h \ - include/linux/export.h \ - $(wildcard include/config/MODVERSIONS) \ - $(wildcard include/config/MODULE_REL_CRCS) \ - $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ - $(wildcard include/config/TRIM_UNUSED_KSYMS) \ - include/linux/compiler.h \ - $(wildcard include/config/TRACE_BRANCH_PROFILING) \ - $(wildcard include/config/PROFILE_ALL_BRANCHES) \ - $(wildcard include/config/STACK_VALIDATION) \ - arch/x86/include/generated/asm/rwonce.h \ - include/asm-generic/rwonce.h \ - include/linux/kasan-checks.h \ - $(wildcard include/config/KASAN_GENERIC) \ - $(wildcard include/config/KASAN_SW_TAGS) \ - include/linux/kcsan-checks.h \ - $(wildcard include/config/KCSAN) \ - $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ - arch/x86/include/asm/linkage.h \ - $(wildcard include/config/X86_64) \ - $(wildcard include/config/X86_ALIGNMENT_16) \ - $(wildcard include/config/RETHUNK) \ - $(wildcard include/config/SLS) \ - include/linux/bitops.h \ - include/linux/bits.h \ - include/vdso/bits.h \ - include/linux/build_bug.h \ - include/linux/typecheck.h \ - include/uapi/linux/kernel.h \ - include/uapi/linux/sysinfo.h \ - arch/x86/include/asm/bitops.h \ - $(wildcard include/config/X86_CMOV) \ - arch/x86/include/asm/alternative.h \ - arch/x86/include/asm/asm.h \ - arch/x86/include/asm/extable_fixup_types.h \ - arch/x86/include/asm/rmwcc.h \ - $(wildcard include/config/CC_HAS_ASM_GOTO) \ - arch/x86/include/asm/barrier.h \ - arch/x86/include/asm/nops.h \ - include/asm-generic/barrier.h \ - include/asm-generic/bitops/find.h \ - $(wildcard include/config/GENERIC_FIND_FIRST_BIT) \ - include/asm-generic/bitops/sched.h \ - arch/x86/include/asm/arch_hweight.h \ - arch/x86/include/asm/cpufeatures.h \ - arch/x86/include/asm/required-features.h \ - $(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \ - $(wildcard include/config/MATH_EMULATION) \ - $(wildcard include/config/X86_PAE) \ - $(wildcard include/config/X86_CMPXCHG64) \ - $(wildcard include/config/X86_USE_3DNOW) \ - $(wildcard include/config/X86_P6_NOP) \ - $(wildcard include/config/MATOM) \ - $(wildcard include/config/PARAVIRT_XXL) \ - arch/x86/include/asm/disabled-features.h \ - $(wildcard include/config/X86_SMAP) \ - $(wildcard include/config/X86_UMIP) \ - $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ - $(wildcard include/config/X86_5LEVEL) \ - $(wildcard include/config/PAGE_TABLE_ISOLATION) \ - $(wildcard include/config/CPU_UNRET_ENTRY) \ - $(wildcard include/config/X86_SGX) \ - include/asm-generic/bitops/const_hweight.h \ - include/asm-generic/bitops/instrumented-atomic.h \ - include/linux/instrumented.h \ - include/asm-generic/bitops/instrumented-non-atomic.h \ - $(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \ - include/asm-generic/bitops/instrumented-lock.h \ - include/asm-generic/bitops/le.h \ - arch/x86/include/uapi/asm/byteorder.h \ - include/linux/byteorder/little_endian.h \ - include/uapi/linux/byteorder/little_endian.h \ - include/linux/swab.h \ - include/uapi/linux/swab.h \ - arch/x86/include/uapi/asm/swab.h \ - include/linux/byteorder/generic.h \ - include/asm-generic/bitops/ext2-atomic-setbit.h \ - include/linux/kstrtox.h \ - include/linux/log2.h \ - $(wildcard include/config/ARCH_HAS_ILOG2_U32) \ - $(wildcard include/config/ARCH_HAS_ILOG2_U64) \ - include/linux/math.h \ - arch/x86/include/asm/div64.h \ - include/asm-generic/div64.h \ - include/linux/minmax.h \ - include/linux/panic.h \ - $(wildcard include/config/PANIC_TIMEOUT) \ - include/linux/printk.h \ - $(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \ - $(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \ - $(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \ - $(wildcard include/config/EARLY_PRINTK) \ - $(wildcard include/config/PRINTK) \ - $(wildcard include/config/DYNAMIC_DEBUG) \ - $(wildcard include/config/DYNAMIC_DEBUG_CORE) \ - include/linux/init.h \ - $(wildcard include/config/STRICT_KERNEL_RWX) \ - $(wildcard include/config/STRICT_MODULE_RWX) \ - $(wildcard include/config/LTO_CLANG) \ - include/linux/kern_levels.h \ - include/linux/cache.h \ - $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ - arch/x86/include/asm/cache.h \ - $(wildcard include/config/X86_L1_CACHE_SHIFT) \ - $(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \ - $(wildcard include/config/X86_VSMP) \ - include/linux/ratelimit_types.h \ - include/uapi/linux/param.h \ - arch/x86/include/generated/uapi/asm/param.h \ - include/asm-generic/param.h \ - $(wildcard include/config/HZ) \ - include/uapi/asm-generic/param.h \ - include/linux/spinlock_types.h \ - $(wildcard include/config/PREEMPT_RT) \ - $(wildcard include/config/DEBUG_LOCK_ALLOC) \ - include/linux/spinlock_types_raw.h \ - $(wildcard include/config/DEBUG_SPINLOCK) \ - arch/x86/include/asm/spinlock_types.h \ - include/asm-generic/qspinlock_types.h \ - $(wildcard include/config/NR_CPUS) \ - include/asm-generic/qrwlock_types.h \ - include/linux/lockdep_types.h \ - $(wildcard include/config/PROVE_RAW_LOCK_NESTING) \ - $(wildcard include/config/PREEMPT_LOCK) \ - $(wildcard include/config/LOCKDEP) \ - $(wildcard include/config/LOCK_STAT) \ - include/linux/rwlock_types.h \ - include/linux/once_lite.h \ - include/linux/dynamic_debug.h \ - include/linux/jump_label.h \ - $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ - arch/x86/include/asm/jump_label.h \ - include/linux/static_call_types.h \ - $(wildcard include/config/HAVE_STATIC_CALL) \ - include/linux/stat.h \ - arch/x86/include/uapi/asm/stat.h \ - include/uapi/linux/stat.h \ - include/linux/time.h \ - $(wildcard include/config/POSIX_TIMERS) \ - include/linux/math64.h \ - $(wildcard include/config/ARCH_SUPPORTS_INT128) \ - include/vdso/math64.h \ - include/linux/time64.h \ - include/vdso/time64.h \ - include/uapi/linux/time.h \ - include/uapi/linux/time_types.h \ - include/linux/time32.h \ - include/linux/timex.h \ - include/uapi/linux/timex.h \ - arch/x86/include/asm/timex.h \ - $(wildcard include/config/X86_TSC) \ - arch/x86/include/asm/processor.h \ - $(wildcard include/config/X86_VMX_FEATURE_NAMES) \ - $(wildcard include/config/X86_IOPL_IOPERM) \ - $(wildcard include/config/STACKPROTECTOR) \ - $(wildcard include/config/VM86) \ - $(wildcard include/config/X86_DEBUGCTLMSR) \ - $(wildcard include/config/CPU_SUP_AMD) \ - $(wildcard include/config/XEN) \ - arch/x86/include/asm/processor-flags.h \ - arch/x86/include/uapi/asm/processor-flags.h \ - include/linux/mem_encrypt.h \ - $(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \ - $(wildcard include/config/AMD_MEM_ENCRYPT) \ - arch/x86/include/asm/mem_encrypt.h \ - include/linux/cc_platform.h \ - $(wildcard include/config/ARCH_HAS_CC_PLATFORM) \ - arch/x86/include/uapi/asm/bootparam.h \ - include/linux/screen_info.h \ - include/uapi/linux/screen_info.h \ - include/linux/apm_bios.h \ - include/uapi/linux/apm_bios.h \ - include/uapi/linux/ioctl.h \ - arch/x86/include/generated/uapi/asm/ioctl.h \ - include/asm-generic/ioctl.h \ - include/uapi/asm-generic/ioctl.h \ - include/linux/edd.h \ - include/uapi/linux/edd.h \ - arch/x86/include/asm/ist.h \ - arch/x86/include/uapi/asm/ist.h \ - include/video/edid.h \ - $(wildcard include/config/X86) \ - include/uapi/video/edid.h \ - arch/x86/include/asm/math_emu.h \ - arch/x86/include/asm/ptrace.h \ - $(wildcard include/config/PARAVIRT) \ - $(wildcard include/config/IA32_EMULATION) \ - arch/x86/include/asm/segment.h \ - $(wildcard include/config/XEN_PV) \ - arch/x86/include/asm/page_types.h \ - $(wildcard include/config/PHYSICAL_START) \ - $(wildcard include/config/PHYSICAL_ALIGN) \ - $(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \ - arch/x86/include/asm/page_64_types.h \ - $(wildcard include/config/KASAN) \ - $(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \ - $(wildcard include/config/RANDOMIZE_BASE) \ - arch/x86/include/asm/kaslr.h \ - $(wildcard include/config/RANDOMIZE_MEMORY) \ - arch/x86/include/uapi/asm/ptrace.h \ - arch/x86/include/uapi/asm/ptrace-abi.h \ - arch/x86/include/asm/paravirt_types.h \ - $(wildcard include/config/PGTABLE_LEVELS) \ - $(wildcard include/config/PARAVIRT_DEBUG) \ - arch/x86/include/asm/desc_defs.h \ - arch/x86/include/asm/pgtable_types.h \ - $(wildcard include/config/MEM_SOFT_DIRTY) \ - $(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \ - $(wildcard include/config/PROC_FS) \ - arch/x86/include/asm/pgtable_64_types.h \ - $(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \ - arch/x86/include/asm/sparsemem.h \ - $(wildcard include/config/SPARSEMEM) \ - $(wildcard include/config/NUMA_KEEP_MEMINFO) \ - arch/x86/include/asm/nospec-branch.h \ - $(wildcard include/config/CPU_SRSO) \ - $(wildcard include/config/CPU_IBPB_ENTRY) \ - include/linux/static_key.h \ - include/linux/objtool.h \ - $(wildcard include/config/FRAME_POINTER) \ - arch/x86/include/asm/msr-index.h \ - arch/x86/include/asm/unwind_hints.h \ - arch/x86/include/asm/orc_types.h \ - arch/x86/include/asm/percpu.h \ - $(wildcard include/config/X86_64_SMP) \ - include/asm-generic/percpu.h \ - $(wildcard include/config/DEBUG_PREEMPT) \ - $(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \ - include/linux/threads.h \ - $(wildcard include/config/BASE_SMALL) \ - include/linux/percpu-defs.h \ - $(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \ - arch/x86/include/asm/GEN-for-each-reg.h \ - arch/x86/include/asm/proto.h \ - arch/x86/include/uapi/asm/ldt.h \ - arch/x86/include/uapi/asm/sigcontext.h \ - arch/x86/include/asm/current.h \ - arch/x86/include/asm/page.h \ - arch/x86/include/asm/page_64.h \ - $(wildcard include/config/DEBUG_VIRTUAL) \ - $(wildcard include/config/FLATMEM) \ - $(wildcard include/config/X86_VSYSCALL_EMULATION) \ - include/linux/range.h \ - include/asm-generic/memory_model.h \ - $(wildcard include/config/SPARSEMEM_VMEMMAP) \ - include/linux/pfn.h \ - include/asm-generic/getorder.h \ - arch/x86/include/asm/msr.h \ - arch/x86/include/asm/msr-index.h \ - arch/x86/include/generated/uapi/asm/errno.h \ - include/uapi/asm-generic/errno.h \ - include/uapi/asm-generic/errno-base.h \ - arch/x86/include/asm/cpumask.h \ - include/linux/cpumask.h \ - $(wildcard include/config/CPUMASK_OFFSTACK) \ - $(wildcard include/config/HOTPLUG_CPU) \ - $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ - include/linux/bitmap.h \ - include/linux/string.h \ - $(wildcard include/config/BINARY_PRINTF) \ - $(wildcard include/config/FORTIFY_SOURCE) \ - include/linux/err.h \ - include/linux/errno.h \ - include/uapi/linux/errno.h \ - include/linux/overflow.h \ - include/uapi/linux/string.h \ - arch/x86/include/asm/string.h \ - arch/x86/include/asm/string_64.h \ - $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ - include/linux/fortify-string.h \ - include/linux/atomic.h \ - arch/x86/include/asm/atomic.h \ - arch/x86/include/asm/cmpxchg.h \ - arch/x86/include/asm/cmpxchg_64.h \ - arch/x86/include/asm/atomic64_64.h \ - include/linux/atomic/atomic-arch-fallback.h \ - $(wildcard include/config/GENERIC_ATOMIC64) \ - include/linux/atomic/atomic-long.h \ - include/linux/atomic/atomic-instrumented.h \ - include/linux/bug.h \ - $(wildcard include/config/BUG_ON_DATA_CORRUPTION) \ - arch/x86/include/asm/bug.h \ - $(wildcard include/config/DEBUG_BUGVERBOSE) \ - include/linux/instrumentation.h \ - $(wildcard include/config/DEBUG_ENTRY) \ - include/asm-generic/bug.h \ - $(wildcard include/config/BUG) \ - $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ - arch/x86/include/uapi/asm/msr.h \ - include/linux/tracepoint-defs.h \ - arch/x86/include/asm/paravirt.h \ - $(wildcard include/config/PARAVIRT_SPINLOCKS) \ - arch/x86/include/asm/frame.h \ - arch/x86/include/asm/special_insns.h \ - include/linux/irqflags.h \ - $(wildcard include/config/TRACE_IRQFLAGS) \ - $(wildcard include/config/IRQSOFF_TRACER) \ - $(wildcard include/config/PREEMPT_TRACER) \ - $(wildcard include/config/DEBUG_IRQFLAGS) \ - $(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \ - arch/x86/include/asm/irqflags.h \ - arch/x86/include/asm/fpu/types.h \ - arch/x86/include/asm/vmxfeatures.h \ - arch/x86/include/asm/vdso/processor.h \ - include/linux/personality.h \ - include/uapi/linux/personality.h \ - arch/x86/include/asm/tsc.h \ - arch/x86/include/asm/cpufeature.h \ - $(wildcard include/config/X86_FEATURE_NAMES) \ - include/vdso/time32.h \ - include/vdso/time.h \ - include/linux/uidgid.h \ - $(wildcard include/config/MULTIUSER) \ - $(wildcard include/config/USER_NS) \ - include/linux/highuid.h \ - include/linux/buildid.h \ - $(wildcard include/config/CRASH_CORE) \ - include/linux/mm_types.h \ - $(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \ - $(wildcard include/config/MEMCG) \ - $(wildcard include/config/USERFAULTFD) \ - $(wildcard include/config/SWAP) \ - $(wildcard include/config/NUMA) \ - $(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \ - $(wildcard include/config/MEMBARRIER) \ - $(wildcard include/config/AIO) \ - $(wildcard include/config/MMU_NOTIFIER) \ - $(wildcard include/config/TRANSPARENT_HUGEPAGE) \ - $(wildcard include/config/NUMA_BALANCING) \ - $(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \ - $(wildcard include/config/HUGETLB_PAGE) \ - $(wildcard include/config/IOMMU_SUPPORT) \ - include/linux/mm_types_task.h \ - $(wildcard include/config/SPLIT_PTLOCK_CPUS) \ - $(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \ - arch/x86/include/asm/tlbbatch.h \ - include/linux/auxvec.h \ - include/uapi/linux/auxvec.h \ - arch/x86/include/uapi/asm/auxvec.h \ - include/linux/spinlock.h \ - $(wildcard include/config/PREEMPTION) \ - include/linux/preempt.h \ - $(wildcard include/config/PREEMPT_COUNT) \ - $(wildcard include/config/TRACE_PREEMPT_TOGGLE) \ - $(wildcard include/config/PREEMPT_NOTIFIERS) \ - arch/x86/include/asm/preempt.h \ - include/linux/thread_info.h \ - $(wildcard include/config/THREAD_INFO_IN_TASK) \ - $(wildcard include/config/GENERIC_ENTRY) \ - $(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \ - $(wildcard include/config/HARDENED_USERCOPY) \ - include/linux/restart_block.h \ - arch/x86/include/asm/thread_info.h \ - $(wildcard include/config/COMPAT) \ - include/linux/bottom_half.h \ - include/linux/lockdep.h \ - $(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \ - include/linux/smp.h \ - $(wildcard include/config/UP_LATE_INIT) \ - include/linux/smp_types.h \ - include/linux/llist.h \ - $(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \ - arch/x86/include/asm/smp.h \ - $(wildcard include/config/X86_LOCAL_APIC) \ - $(wildcard include/config/DEBUG_NMI_SELFTEST) \ - arch/x86/include/generated/asm/mmiowb.h \ - include/asm-generic/mmiowb.h \ - $(wildcard include/config/MMIOWB) \ - arch/x86/include/asm/spinlock.h \ - arch/x86/include/asm/qspinlock.h \ - include/asm-generic/qspinlock.h \ - arch/x86/include/asm/qrwlock.h \ - include/asm-generic/qrwlock.h \ - include/linux/rwlock.h \ - $(wildcard include/config/PREEMPT) \ - include/linux/spinlock_api_smp.h \ - $(wildcard include/config/INLINE_SPIN_LOCK) \ - $(wildcard include/config/INLINE_SPIN_LOCK_BH) \ - $(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \ - $(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_SPIN_TRYLOCK) \ - $(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \ - $(wildcard include/config/UNINLINE_SPIN_UNLOCK) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \ - $(wildcard include/config/GENERIC_LOCKBREAK) \ - include/linux/rwlock_api_smp.h \ - $(wildcard include/config/INLINE_READ_LOCK) \ - $(wildcard include/config/INLINE_WRITE_LOCK) \ - $(wildcard include/config/INLINE_READ_LOCK_BH) \ - $(wildcard include/config/INLINE_WRITE_LOCK_BH) \ - $(wildcard include/config/INLINE_READ_LOCK_IRQ) \ - $(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \ - $(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_READ_TRYLOCK) \ - $(wildcard include/config/INLINE_WRITE_TRYLOCK) \ - $(wildcard include/config/INLINE_READ_UNLOCK) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK) \ - $(wildcard include/config/INLINE_READ_UNLOCK_BH) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \ - $(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \ - include/linux/rbtree.h \ - include/linux/rbtree_types.h \ - include/linux/rcupdate.h \ - $(wildcard include/config/PREEMPT_RCU) \ - $(wildcard include/config/TINY_RCU) \ - $(wildcard include/config/TASKS_RCU_GENERIC) \ - $(wildcard include/config/RCU_STALL_COMMON) \ - $(wildcard include/config/NO_HZ_FULL) \ - $(wildcard include/config/RCU_NOCB_CPU) \ - $(wildcard include/config/TASKS_RCU) \ - $(wildcard include/config/TASKS_TRACE_RCU) \ - $(wildcard include/config/TASKS_RUDE_RCU) \ - $(wildcard include/config/TREE_RCU) \ - $(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \ - $(wildcard include/config/PROVE_RCU) \ - $(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \ - include/linux/rcutree.h \ - include/linux/rwsem.h \ - $(wildcard include/config/RWSEM_SPIN_ON_OWNER) \ - $(wildcard include/config/DEBUG_RWSEMS) \ - include/linux/osq_lock.h \ - include/linux/completion.h \ - include/linux/swait.h \ - include/linux/wait.h \ - include/uapi/linux/wait.h \ - include/linux/uprobes.h \ - $(wildcard include/config/UPROBES) \ - arch/x86/include/asm/uprobes.h \ - include/linux/notifier.h \ - include/linux/mutex.h \ - $(wildcard include/config/MUTEX_SPIN_ON_OWNER) \ - $(wildcard include/config/DEBUG_MUTEXES) \ - include/linux/debug_locks.h \ - include/linux/srcu.h \ - $(wildcard include/config/TINY_SRCU) \ - $(wildcard include/config/SRCU) \ - include/linux/workqueue.h \ - $(wildcard include/config/DEBUG_OBJECTS_WORK) \ - $(wildcard include/config/FREEZER) \ - $(wildcard include/config/WQ_WATCHDOG) \ - include/linux/timer.h \ - $(wildcard include/config/DEBUG_OBJECTS_TIMERS) \ - $(wildcard include/config/NO_HZ_COMMON) \ - include/linux/ktime.h \ - include/linux/jiffies.h \ - include/vdso/jiffies.h \ - include/generated/timeconst.h \ - include/vdso/ktime.h \ - include/linux/timekeeping.h \ - $(wildcard include/config/GENERIC_CMOS_UPDATE) \ - include/linux/clocksource_ids.h \ - include/linux/debugobjects.h \ - $(wildcard include/config/DEBUG_OBJECTS) \ - $(wildcard include/config/DEBUG_OBJECTS_FREE) \ - include/linux/rcu_segcblist.h \ - include/linux/srcutree.h \ - include/linux/rcu_node_tree.h \ - $(wildcard include/config/RCU_FANOUT) \ - $(wildcard include/config/RCU_FANOUT_LEAF) \ - include/linux/page-flags-layout.h \ - $(wildcard include/config/KASAN_HW_TAGS) \ - include/linux/numa.h \ - $(wildcard include/config/NODES_SHIFT) \ - include/generated/bounds.h \ - include/linux/seqlock.h \ - include/linux/ww_mutex.h \ - $(wildcard include/config/DEBUG_RT_MUTEXES) \ - $(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \ - include/linux/rtmutex.h \ - arch/x86/include/asm/mmu.h \ - $(wildcard include/config/MODIFY_LDT_SYSCALL) \ - include/linux/kmod.h \ - include/linux/umh.h \ - include/linux/gfp.h \ - $(wildcard include/config/HIGHMEM) \ - $(wildcard include/config/ZONE_DMA) \ - $(wildcard include/config/ZONE_DMA32) \ - $(wildcard include/config/ZONE_DEVICE) \ - $(wildcard include/config/PM_SLEEP) \ - $(wildcard include/config/CONTIG_ALLOC) \ - $(wildcard include/config/CMA) \ - include/linux/mmdebug.h \ - $(wildcard include/config/DEBUG_VM) \ - $(wildcard include/config/DEBUG_VM_PGFLAGS) \ - include/linux/mmzone.h \ - $(wildcard include/config/FORCE_MAX_ZONEORDER) \ - $(wildcard include/config/MEMORY_ISOLATION) \ - $(wildcard include/config/ZSMALLOC) \ - $(wildcard include/config/SHADOW_CALL_STACK) \ - $(wildcard include/config/MEMORY_HOTPLUG) \ - $(wildcard include/config/COMPACTION) \ - $(wildcard include/config/PAGE_EXTENSION) \ - $(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \ - $(wildcard include/config/HAVE_MEMORYLESS_NODES) \ - $(wildcard include/config/SPARSEMEM_EXTREME) \ - $(wildcard include/config/HAVE_ARCH_PFN_VALID) \ - include/linux/nodemask.h \ - include/linux/pageblock-flags.h \ - $(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \ - include/linux/page-flags.h \ - $(wildcard include/config/ARCH_USES_PG_UNCACHED) \ - $(wildcard include/config/MEMORY_FAILURE) \ - $(wildcard include/config/PAGE_IDLE_FLAG) \ - $(wildcard include/config/THP_SWAP) \ - $(wildcard include/config/KSM) \ - include/linux/local_lock.h \ - include/linux/local_lock_internal.h \ - include/linux/memory_hotplug.h \ - $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ - $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ - $(wildcard include/config/MEMORY_HOTREMOVE) \ - arch/x86/include/asm/mmzone.h \ - arch/x86/include/asm/mmzone_64.h \ - include/linux/topology.h \ - $(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \ - $(wildcard include/config/SCHED_SMT) \ - include/linux/arch_topology.h \ - $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ - include/linux/percpu.h \ - $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ - $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ - arch/x86/include/asm/topology.h \ - $(wildcard include/config/SCHED_MC_PRIO) \ - $(wildcard include/config/ACPI_CPPC_LIB) \ - arch/x86/include/asm/mpspec.h \ - $(wildcard include/config/EISA) \ - $(wildcard include/config/X86_MPPARSE) \ - arch/x86/include/asm/mpspec_def.h \ - arch/x86/include/asm/x86_init.h \ - arch/x86/include/asm/apicdef.h \ - include/asm-generic/topology.h \ - include/linux/sysctl.h \ - $(wildcard include/config/SYSCTL) \ - include/uapi/linux/sysctl.h \ - include/linux/elf.h \ - $(wildcard include/config/ARCH_USE_GNU_PROPERTY) \ - $(wildcard include/config/ARCH_HAVE_ELF_PROT) \ - arch/x86/include/asm/elf.h \ - $(wildcard include/config/X86_X32_ABI) \ - arch/x86/include/asm/user.h \ - arch/x86/include/asm/user_64.h \ - arch/x86/include/asm/fsgsbase.h \ - arch/x86/include/asm/vdso.h \ - $(wildcard include/config/X86_X32) \ - include/uapi/linux/elf.h \ - include/uapi/linux/elf-em.h \ - include/linux/kobject.h \ - $(wildcard include/config/UEVENT_HELPER) \ - $(wildcard include/config/DEBUG_KOBJECT_RELEASE) \ - include/linux/sysfs.h \ - include/linux/kernfs.h \ - $(wildcard include/config/KERNFS) \ - include/linux/idr.h \ - include/linux/radix-tree.h \ - include/linux/xarray.h \ - $(wildcard include/config/XARRAY_MULTI) \ - include/linux/kconfig.h \ - include/linux/kobject_ns.h \ - include/linux/kref.h \ - include/linux/refcount.h \ - include/linux/moduleparam.h \ - $(wildcard include/config/ALPHA) \ - $(wildcard include/config/IA64) \ - $(wildcard include/config/PPC64) \ - include/linux/rbtree_latch.h \ - include/linux/error-injection.h \ - include/asm-generic/error-injection.h \ - include/linux/cfi.h \ - $(wildcard include/config/CFI_CLANG_SHADOW) \ - arch/x86/include/asm/module.h \ - $(wildcard include/config/UNWINDER_ORC) \ - include/asm-generic/module.h \ - $(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \ - $(wildcard include/config/MODULES_USE_ELF_REL) \ - $(wildcard include/config/MODULES_USE_ELF_RELA) \ - arch/x86/include/asm/orc_types.h \ - include/linux/usb.h \ - $(wildcard include/config/USB_MON) \ - $(wildcard include/config/PM) \ - $(wildcard include/config/ACPI) \ - $(wildcard include/config/USB) \ - $(wildcard include/config/USB_LED_TRIG) \ - include/linux/mod_devicetable.h \ - include/linux/uuid.h \ - include/uapi/linux/uuid.h \ - include/linux/usb/ch9.h \ - include/linux/device.h \ - $(wildcard include/config/ENERGY_MODEL) \ - $(wildcard include/config/GENERIC_MSI_IRQ_DOMAIN) \ - $(wildcard include/config/PINCTRL) \ - $(wildcard include/config/GENERIC_MSI_IRQ) \ - $(wildcard include/config/DMA_OPS) \ - $(wildcard include/config/DMA_DECLARE_COHERENT) \ - $(wildcard include/config/DMA_CMA) \ - $(wildcard include/config/SWIOTLB) \ - $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_DEVICE) \ - $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU) \ - $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU_ALL) \ - $(wildcard include/config/DMA_OPS_BYPASS) \ - $(wildcard include/config/OF) \ - $(wildcard include/config/DEVTMPFS) \ - $(wildcard include/config/SYSFS_DEPRECATED) \ - include/linux/dev_printk.h \ - include/linux/ratelimit.h \ - include/linux/sched.h \ - $(wildcard include/config/VIRT_CPU_ACCOUNTING_NATIVE) \ - $(wildcard include/config/SCHED_INFO) \ - $(wildcard include/config/SCHEDSTATS) \ - $(wildcard include/config/FAIR_GROUP_SCHED) \ - $(wildcard include/config/RT_GROUP_SCHED) \ - $(wildcard include/config/RT_MUTEXES) \ - $(wildcard include/config/UCLAMP_TASK) \ - $(wildcard include/config/UCLAMP_BUCKETS_COUNT) \ - $(wildcard include/config/KMAP_LOCAL) \ - $(wildcard include/config/SCHED_CORE) \ - $(wildcard include/config/CGROUP_SCHED) \ - $(wildcard include/config/BLK_DEV_IO_TRACE) \ - $(wildcard include/config/PSI) \ - $(wildcard include/config/COMPAT_BRK) \ - $(wildcard include/config/CGROUPS) \ - $(wildcard include/config/BLK_CGROUP) \ - $(wildcard include/config/PAGE_OWNER) \ - $(wildcard include/config/EVENTFD) \ - $(wildcard include/config/ARCH_HAS_SCALED_CPUTIME) \ - $(wildcard include/config/VIRT_CPU_ACCOUNTING_GEN) \ - $(wildcard include/config/POSIX_CPUTIMERS) \ - $(wildcard include/config/POSIX_CPU_TIMERS_TASK_WORK) \ - $(wildcard include/config/KEYS) \ - $(wildcard include/config/SYSVIPC) \ - $(wildcard include/config/DETECT_HUNG_TASK) \ - $(wildcard include/config/IO_URING) \ - $(wildcard include/config/AUDIT) \ - $(wildcard include/config/AUDITSYSCALL) \ - $(wildcard include/config/UBSAN) \ - $(wildcard include/config/UBSAN_TRAP) \ - $(wildcard include/config/BLOCK) \ - $(wildcard include/config/TASK_XACCT) \ - $(wildcard include/config/CPUSETS) \ - $(wildcard include/config/X86_CPU_RESCTRL) \ - $(wildcard include/config/FUTEX) \ - $(wildcard include/config/PERF_EVENTS) \ - $(wildcard include/config/RSEQ) \ - $(wildcard include/config/TASK_DELAY_ACCT) \ - $(wildcard include/config/FAULT_INJECTION) \ - $(wildcard include/config/LATENCYTOP) \ - $(wildcard include/config/KUNIT) \ - $(wildcard include/config/FUNCTION_GRAPH_TRACER) \ - $(wildcard include/config/BCACHE) \ - $(wildcard include/config/VMAP_STACK) \ - $(wildcard include/config/SECURITY) \ - $(wildcard include/config/BPF_SYSCALL) \ - $(wildcard include/config/GCC_PLUGIN_STACKLEAK) \ - $(wildcard include/config/X86_MCE) \ - $(wildcard include/config/KRETPROBES) \ - $(wildcard include/config/ARCH_HAS_PARANOID_L1D_FLUSH) \ - $(wildcard include/config/ARCH_TASK_STRUCT_ON_STACK) \ - $(wildcard include/config/DEBUG_RSEQ) \ - include/uapi/linux/sched.h \ - include/linux/pid.h \ - include/linux/rculist.h \ - $(wildcard include/config/PROVE_RCU_LIST) \ - include/linux/sem.h \ - include/uapi/linux/sem.h \ - include/linux/ipc.h \ - include/linux/rhashtable-types.h \ - include/uapi/linux/ipc.h \ - arch/x86/include/generated/uapi/asm/ipcbuf.h \ - include/uapi/asm-generic/ipcbuf.h \ - arch/x86/include/uapi/asm/sembuf.h \ - include/linux/shm.h \ - include/uapi/linux/shm.h \ - include/uapi/asm-generic/hugetlb_encode.h \ - arch/x86/include/uapi/asm/shmbuf.h \ - include/uapi/asm-generic/shmbuf.h \ - arch/x86/include/asm/shmparam.h \ - include/linux/plist.h \ - $(wildcard include/config/DEBUG_PLIST) \ - include/linux/hrtimer.h \ - $(wildcard include/config/HIGH_RES_TIMERS) \ - $(wildcard include/config/TIME_LOW_RES) \ - $(wildcard include/config/TIMERFD) \ - include/linux/hrtimer_defs.h \ - include/linux/timerqueue.h \ - include/linux/seccomp.h \ - $(wildcard include/config/SECCOMP) \ - $(wildcard include/config/HAVE_ARCH_SECCOMP_FILTER) \ - $(wildcard include/config/SECCOMP_FILTER) \ - $(wildcard include/config/CHECKPOINT_RESTORE) \ - $(wildcard include/config/SECCOMP_CACHE_DEBUG) \ - include/uapi/linux/seccomp.h \ - arch/x86/include/asm/seccomp.h \ - arch/x86/include/asm/unistd.h \ - arch/x86/include/uapi/asm/unistd.h \ - arch/x86/include/generated/uapi/asm/unistd_64.h \ - arch/x86/include/generated/asm/unistd_64_x32.h \ - arch/x86/include/generated/asm/unistd_32_ia32.h \ - arch/x86/include/asm/ia32_unistd.h \ - include/asm-generic/seccomp.h \ - include/uapi/linux/unistd.h \ - include/linux/resource.h \ - include/uapi/linux/resource.h \ - arch/x86/include/generated/uapi/asm/resource.h \ - include/asm-generic/resource.h \ - include/uapi/asm-generic/resource.h \ - include/linux/latencytop.h \ - include/linux/sched/prio.h \ - include/linux/sched/types.h \ - include/linux/signal_types.h \ - $(wildcard include/config/OLD_SIGACTION) \ - include/uapi/linux/signal.h \ - arch/x86/include/asm/signal.h \ - arch/x86/include/uapi/asm/signal.h \ - include/uapi/asm-generic/signal-defs.h \ - arch/x86/include/uapi/asm/siginfo.h \ - include/uapi/asm-generic/siginfo.h \ - include/linux/syscall_user_dispatch.h \ - include/linux/task_io_accounting.h \ - $(wildcard include/config/TASK_IO_ACCOUNTING) \ - include/linux/posix-timers.h \ - include/linux/alarmtimer.h \ - $(wildcard include/config/RTC_CLASS) \ - include/linux/task_work.h \ - include/uapi/linux/rseq.h \ - include/linux/kcsan.h \ - arch/x86/include/generated/asm/kmap_size.h \ - include/asm-generic/kmap_size.h \ - $(wildcard include/config/DEBUG_KMAP_LOCAL) \ - include/linux/energy_model.h \ - include/linux/sched/cpufreq.h \ - $(wildcard include/config/CPU_FREQ) \ - include/linux/sched/topology.h \ - $(wildcard include/config/SCHED_DEBUG) \ - $(wildcard include/config/SCHED_MC) \ - $(wildcard include/config/CPU_FREQ_GOV_SCHEDUTIL) \ - include/linux/sched/idle.h \ - include/linux/sched/sd_flags.h \ - include/linux/ioport.h \ - include/linux/klist.h \ - include/linux/pm.h \ - $(wildcard include/config/VT_CONSOLE_SLEEP) \ - $(wildcard include/config/PM_CLK) \ - $(wildcard include/config/PM_GENERIC_DOMAINS) \ - include/linux/device/bus.h \ - include/linux/device/class.h \ - include/linux/device/driver.h \ - arch/x86/include/asm/device.h \ - include/linux/pm_wakeup.h \ - include/uapi/linux/usb/ch9.h \ - include/linux/delay.h \ - arch/x86/include/asm/delay.h \ - include/asm-generic/delay.h \ - include/linux/interrupt.h \ - $(wildcard include/config/IRQ_FORCED_THREADING) \ - $(wildcard include/config/GENERIC_IRQ_PROBE) \ - $(wildcard include/config/IRQ_TIMINGS) \ - include/linux/irqreturn.h \ - include/linux/irqnr.h \ - include/uapi/linux/irqnr.h \ - include/linux/hardirq.h \ - include/linux/context_tracking_state.h \ - $(wildcard include/config/CONTEXT_TRACKING) \ - include/linux/ftrace_irq.h \ - $(wildcard include/config/HWLAT_TRACER) \ - $(wildcard include/config/OSNOISE_TRACER) \ - include/linux/vtime.h \ - $(wildcard include/config/VIRT_CPU_ACCOUNTING) \ - $(wildcard include/config/IRQ_TIME_ACCOUNTING) \ - arch/x86/include/asm/hardirq.h \ - $(wildcard include/config/KVM_INTEL) \ - $(wildcard include/config/HAVE_KVM) \ - $(wildcard include/config/X86_THERMAL_VECTOR) \ - $(wildcard include/config/X86_MCE_THRESHOLD) \ - $(wildcard include/config/X86_MCE_AMD) \ - $(wildcard include/config/X86_HV_CALLBACK_VECTOR) \ - $(wildcard include/config/HYPERV) \ - arch/x86/include/asm/irq.h \ - arch/x86/include/asm/irq_vectors.h \ - $(wildcard include/config/X86_IO_APIC) \ - $(wildcard include/config/PCI_MSI) \ - arch/x86/include/asm/sections.h \ - include/asm-generic/sections.h \ - arch/x86/include/asm/extable.h \ - $(wildcard include/config/BPF_JIT) \ - include/linux/fs.h \ - $(wildcard include/config/READ_ONLY_THP_FOR_FS) \ - $(wildcard include/config/FS_POSIX_ACL) \ - $(wildcard include/config/CGROUP_WRITEBACK) \ - $(wildcard include/config/IMA) \ - $(wildcard include/config/FILE_LOCKING) \ - $(wildcard include/config/FSNOTIFY) \ - $(wildcard include/config/FS_ENCRYPTION) \ - $(wildcard include/config/FS_VERITY) \ - $(wildcard include/config/EPOLL) \ - $(wildcard include/config/UNICODE) \ - $(wildcard include/config/QUOTA) \ - $(wildcard include/config/BLK_DEV_LOOP) \ - $(wildcard include/config/FS_DAX) \ - $(wildcard include/config/MIGRATION) \ - include/linux/wait_bit.h \ - include/linux/kdev_t.h \ - include/uapi/linux/kdev_t.h \ - include/linux/dcache.h \ - include/linux/rculist_bl.h \ - include/linux/list_bl.h \ - include/linux/bit_spinlock.h \ - include/linux/lockref.h \ - $(wildcard include/config/ARCH_USE_CMPXCHG_LOCKREF) \ - include/linux/stringhash.h \ - $(wildcard include/config/DCACHE_WORD_ACCESS) \ - include/linux/hash.h \ - $(wildcard include/config/HAVE_ARCH_HASH) \ - include/linux/path.h \ - include/linux/list_lru.h \ - $(wildcard include/config/MEMCG_KMEM) \ - include/linux/shrinker.h \ - include/linux/capability.h \ - include/uapi/linux/capability.h \ - include/linux/semaphore.h \ - include/linux/fcntl.h \ - $(wildcard include/config/ARCH_32BIT_OFF_T) \ - include/uapi/linux/fcntl.h \ - arch/x86/include/generated/uapi/asm/fcntl.h \ - include/uapi/asm-generic/fcntl.h \ - include/uapi/linux/openat2.h \ - include/linux/migrate_mode.h \ - include/linux/percpu-rwsem.h \ - include/linux/rcuwait.h \ - include/linux/sched/signal.h \ - $(wildcard include/config/SCHED_AUTOGROUP) \ - $(wildcard include/config/BSD_PROCESS_ACCT) \ - $(wildcard include/config/TASKSTATS) \ - $(wildcard include/config/STACK_GROWSUP) \ - include/linux/signal.h \ - $(wildcard include/config/DYNAMIC_SIGFRAME) \ - include/linux/sched/jobctl.h \ - include/linux/sched/task.h \ - $(wildcard include/config/HAVE_EXIT_THREAD) \ - $(wildcard include/config/ARCH_WANTS_DYNAMIC_TASK_STRUCT) \ - $(wildcard include/config/HAVE_ARCH_THREAD_STRUCT_WHITELIST) \ - include/linux/uaccess.h \ - $(wildcard include/config/SET_FS) \ - include/linux/fault-inject-usercopy.h \ - $(wildcard include/config/FAULT_INJECTION_USERCOPY) \ - arch/x86/include/asm/uaccess.h \ - $(wildcard include/config/CC_HAS_ASM_GOTO_OUTPUT) \ - $(wildcard include/config/CC_ASM_GOTO_OUTPUT) \ - $(wildcard include/config/CC_HAS_ASM_GOTO_TIED_OUTPUT) \ - $(wildcard include/config/ARCH_HAS_COPY_MC) \ - $(wildcard include/config/X86_INTEL_USERCOPY) \ - arch/x86/include/asm/smap.h \ - arch/x86/include/asm/uaccess_64.h \ - include/linux/cred.h \ - $(wildcard include/config/DEBUG_CREDENTIALS) \ - include/linux/key.h \ - $(wildcard include/config/KEY_NOTIFICATIONS) \ - $(wildcard include/config/NET) \ - include/linux/assoc_array.h \ - $(wildcard include/config/ASSOCIATIVE_ARRAY) \ - include/linux/sched/user.h \ - $(wildcard include/config/VFIO_PCI_ZDEV_KVM) \ - $(wildcard include/config/WATCH_QUEUE) \ - include/linux/percpu_counter.h \ - include/linux/rcu_sync.h \ - include/linux/delayed_call.h \ - include/linux/errseq.h \ - include/linux/ioprio.h \ - include/linux/sched/rt.h \ - include/linux/iocontext.h \ - include/uapi/linux/ioprio.h \ - include/linux/fs_types.h \ - include/linux/mount.h \ - include/linux/mnt_idmapping.h \ - include/uapi/linux/fs.h \ - include/linux/quota.h \ - $(wildcard include/config/QUOTA_NETLINK_INTERFACE) \ - include/uapi/linux/dqblk_xfs.h \ - include/linux/dqblk_v1.h \ - include/linux/dqblk_v2.h \ - include/linux/dqblk_qtree.h \ - include/linux/projid.h \ - include/uapi/linux/quota.h \ - include/linux/nfs_fs_i.h \ - include/linux/pm_runtime.h \ - include/linux/slab.h \ - $(wildcard include/config/DEBUG_SLAB) \ - $(wildcard include/config/FAILSLAB) \ - $(wildcard include/config/HAVE_HARDENED_USERCOPY_ALLOCATOR) \ - $(wildcard include/config/SLAB) \ - $(wildcard include/config/SLUB) \ - $(wildcard include/config/SLOB) \ - $(wildcard include/config/CC_IS_GCC) \ - $(wildcard include/config/CLANG_VERSION) \ - include/linux/percpu-refcount.h \ - include/linux/kasan.h \ - $(wildcard include/config/KASAN_STACK) \ - $(wildcard include/config/KASAN_VMALLOC) \ - -/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o: $(deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o) - -$(deps_/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o): diff --git a/smartlamp-kernel-module/.serial.ko.cmd b/smartlamp-kernel-module/.serial.ko.cmd deleted file mode 100644 index d1681d7..0000000 --- a/smartlamp-kernel-module/.serial.ko.cmd +++ /dev/null @@ -1 +0,0 @@ -cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.ko := ld -r -m elf_x86_64 -z noexecstack --build-id=sha1 -T scripts/module.lds -o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.ko /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o; true diff --git a/smartlamp-kernel-module/.serial.mod.cmd b/smartlamp-kernel-module/.serial.mod.cmd deleted file mode 100644 index b2bbb46..0000000 --- a/smartlamp-kernel-module/.serial.mod.cmd +++ /dev/null @@ -1 +0,0 @@ -cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod := { echo /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o; echo; } > /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod diff --git a/smartlamp-kernel-module/.serial.mod.o.cmd b/smartlamp-kernel-module/.serial.mod.o.cmd deleted file mode 100644 index f11ddf3..0000000 --- a/smartlamp-kernel-module/.serial.mod.o.cmd +++ /dev/null @@ -1,706 +0,0 @@ -cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o := gcc -Wp,-MMD,/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/.serial.mod.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -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=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"serial.mod"' -DKBUILD_MODNAME='"serial"' -D__KBUILD_MODNAME=kmod_serial -c -o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.c - -source_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o := /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.c - -deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o := \ - $(wildcard include/config/MODULE_UNLOAD) \ - $(wildcard include/config/RETPOLINE) \ - include/linux/compiler-version.h \ - $(wildcard include/config/CC_VERSION_TEXT) \ - include/linux/kconfig.h \ - $(wildcard include/config/CPU_BIG_ENDIAN) \ - $(wildcard include/config/BOOGER) \ - $(wildcard include/config/FOO) \ - include/linux/compiler_types.h \ - $(wildcard include/config/HAVE_ARCH_COMPILER_H) \ - $(wildcard include/config/CC_HAS_ASM_INLINE) \ - include/linux/compiler_attributes.h \ - include/linux/compiler-gcc.h \ - $(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \ - $(wildcard include/config/KCOV) \ - include/linux/module.h \ - $(wildcard include/config/MODULES) \ - $(wildcard include/config/SYSFS) \ - $(wildcard include/config/MODULES_TREE_LOOKUP) \ - $(wildcard include/config/LIVEPATCH) \ - $(wildcard include/config/STACKTRACE_BUILD_ID) \ - $(wildcard include/config/CFI_CLANG) \ - $(wildcard include/config/MODULE_SIG) \ - $(wildcard include/config/GENERIC_BUG) \ - $(wildcard include/config/KALLSYMS) \ - $(wildcard include/config/SMP) \ - $(wildcard include/config/TRACEPOINTS) \ - $(wildcard include/config/TREE_SRCU) \ - $(wildcard include/config/BPF_EVENTS) \ - $(wildcard include/config/DEBUG_INFO_BTF_MODULES) \ - $(wildcard include/config/JUMP_LABEL) \ - $(wildcard include/config/TRACING) \ - $(wildcard include/config/EVENT_TRACING) \ - $(wildcard include/config/FTRACE_MCOUNT_RECORD) \ - $(wildcard include/config/KPROBES) \ - $(wildcard include/config/HAVE_STATIC_CALL_INLINE) \ - $(wildcard include/config/PRINTK_INDEX) \ - $(wildcard include/config/CONSTRUCTORS) \ - $(wildcard include/config/FUNCTION_ERROR_INJECTION) \ - include/linux/list.h \ - $(wildcard include/config/DEBUG_LIST) \ - include/linux/types.h \ - $(wildcard include/config/HAVE_UID16) \ - $(wildcard include/config/UID16) \ - $(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \ - $(wildcard include/config/PHYS_ADDR_T_64BIT) \ - $(wildcard include/config/64BIT) \ - $(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \ - include/uapi/linux/types.h \ - arch/x86/include/generated/uapi/asm/types.h \ - include/uapi/asm-generic/types.h \ - include/asm-generic/int-ll64.h \ - include/uapi/asm-generic/int-ll64.h \ - arch/x86/include/uapi/asm/bitsperlong.h \ - include/asm-generic/bitsperlong.h \ - include/uapi/asm-generic/bitsperlong.h \ - include/uapi/linux/posix_types.h \ - include/linux/stddef.h \ - include/uapi/linux/stddef.h \ - include/linux/compiler_types.h \ - arch/x86/include/asm/posix_types.h \ - $(wildcard include/config/X86_32) \ - arch/x86/include/uapi/asm/posix_types_64.h \ - include/uapi/asm-generic/posix_types.h \ - include/linux/poison.h \ - $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ - include/linux/const.h \ - include/vdso/const.h \ - include/uapi/linux/const.h \ - include/linux/kernel.h \ - $(wildcard include/config/PREEMPT_VOLUNTARY) \ - $(wildcard include/config/PREEMPT_DYNAMIC) \ - $(wildcard include/config/PREEMPT_) \ - $(wildcard include/config/DEBUG_ATOMIC_SLEEP) \ - $(wildcard include/config/MMU) \ - $(wildcard include/config/PROVE_LOCKING) \ - include/linux/stdarg.h \ - include/linux/align.h \ - include/linux/limits.h \ - include/uapi/linux/limits.h \ - include/vdso/limits.h \ - include/linux/linkage.h \ - $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ - include/linux/stringify.h \ - include/linux/export.h \ - $(wildcard include/config/MODVERSIONS) \ - $(wildcard include/config/MODULE_REL_CRCS) \ - $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ - $(wildcard include/config/TRIM_UNUSED_KSYMS) \ - include/linux/compiler.h \ - $(wildcard include/config/TRACE_BRANCH_PROFILING) \ - $(wildcard include/config/PROFILE_ALL_BRANCHES) \ - $(wildcard include/config/STACK_VALIDATION) \ - arch/x86/include/generated/asm/rwonce.h \ - include/asm-generic/rwonce.h \ - include/linux/kasan-checks.h \ - $(wildcard include/config/KASAN_GENERIC) \ - $(wildcard include/config/KASAN_SW_TAGS) \ - include/linux/kcsan-checks.h \ - $(wildcard include/config/KCSAN) \ - $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ - arch/x86/include/asm/linkage.h \ - $(wildcard include/config/X86_64) \ - $(wildcard include/config/X86_ALIGNMENT_16) \ - $(wildcard include/config/RETHUNK) \ - $(wildcard include/config/SLS) \ - include/linux/bitops.h \ - include/linux/bits.h \ - include/vdso/bits.h \ - include/linux/build_bug.h \ - include/linux/typecheck.h \ - include/uapi/linux/kernel.h \ - include/uapi/linux/sysinfo.h \ - arch/x86/include/asm/bitops.h \ - $(wildcard include/config/X86_CMOV) \ - arch/x86/include/asm/alternative.h \ - arch/x86/include/asm/asm.h \ - arch/x86/include/asm/extable_fixup_types.h \ - arch/x86/include/asm/rmwcc.h \ - $(wildcard include/config/CC_HAS_ASM_GOTO) \ - arch/x86/include/asm/barrier.h \ - arch/x86/include/asm/nops.h \ - include/asm-generic/barrier.h \ - include/asm-generic/bitops/find.h \ - $(wildcard include/config/GENERIC_FIND_FIRST_BIT) \ - include/asm-generic/bitops/sched.h \ - arch/x86/include/asm/arch_hweight.h \ - arch/x86/include/asm/cpufeatures.h \ - arch/x86/include/asm/required-features.h \ - $(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \ - $(wildcard include/config/MATH_EMULATION) \ - $(wildcard include/config/X86_PAE) \ - $(wildcard include/config/X86_CMPXCHG64) \ - $(wildcard include/config/X86_USE_3DNOW) \ - $(wildcard include/config/X86_P6_NOP) \ - $(wildcard include/config/MATOM) \ - $(wildcard include/config/PARAVIRT_XXL) \ - arch/x86/include/asm/disabled-features.h \ - $(wildcard include/config/X86_SMAP) \ - $(wildcard include/config/X86_UMIP) \ - $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ - $(wildcard include/config/X86_5LEVEL) \ - $(wildcard include/config/PAGE_TABLE_ISOLATION) \ - $(wildcard include/config/CPU_UNRET_ENTRY) \ - $(wildcard include/config/X86_SGX) \ - include/asm-generic/bitops/const_hweight.h \ - include/asm-generic/bitops/instrumented-atomic.h \ - include/linux/instrumented.h \ - include/asm-generic/bitops/instrumented-non-atomic.h \ - $(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \ - include/asm-generic/bitops/instrumented-lock.h \ - include/asm-generic/bitops/le.h \ - arch/x86/include/uapi/asm/byteorder.h \ - include/linux/byteorder/little_endian.h \ - include/uapi/linux/byteorder/little_endian.h \ - include/linux/swab.h \ - include/uapi/linux/swab.h \ - arch/x86/include/uapi/asm/swab.h \ - include/linux/byteorder/generic.h \ - include/asm-generic/bitops/ext2-atomic-setbit.h \ - include/linux/kstrtox.h \ - include/linux/log2.h \ - $(wildcard include/config/ARCH_HAS_ILOG2_U32) \ - $(wildcard include/config/ARCH_HAS_ILOG2_U64) \ - include/linux/math.h \ - arch/x86/include/asm/div64.h \ - include/asm-generic/div64.h \ - include/linux/minmax.h \ - include/linux/panic.h \ - $(wildcard include/config/PANIC_TIMEOUT) \ - include/linux/printk.h \ - $(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \ - $(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \ - $(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \ - $(wildcard include/config/EARLY_PRINTK) \ - $(wildcard include/config/PRINTK) \ - $(wildcard include/config/DYNAMIC_DEBUG) \ - $(wildcard include/config/DYNAMIC_DEBUG_CORE) \ - include/linux/init.h \ - $(wildcard include/config/STRICT_KERNEL_RWX) \ - $(wildcard include/config/STRICT_MODULE_RWX) \ - $(wildcard include/config/LTO_CLANG) \ - include/linux/kern_levels.h \ - include/linux/cache.h \ - $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ - arch/x86/include/asm/cache.h \ - $(wildcard include/config/X86_L1_CACHE_SHIFT) \ - $(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \ - $(wildcard include/config/X86_VSMP) \ - include/linux/ratelimit_types.h \ - include/uapi/linux/param.h \ - arch/x86/include/generated/uapi/asm/param.h \ - include/asm-generic/param.h \ - $(wildcard include/config/HZ) \ - include/uapi/asm-generic/param.h \ - include/linux/spinlock_types.h \ - $(wildcard include/config/PREEMPT_RT) \ - $(wildcard include/config/DEBUG_LOCK_ALLOC) \ - include/linux/spinlock_types_raw.h \ - $(wildcard include/config/DEBUG_SPINLOCK) \ - arch/x86/include/asm/spinlock_types.h \ - include/asm-generic/qspinlock_types.h \ - $(wildcard include/config/NR_CPUS) \ - include/asm-generic/qrwlock_types.h \ - include/linux/lockdep_types.h \ - $(wildcard include/config/PROVE_RAW_LOCK_NESTING) \ - $(wildcard include/config/PREEMPT_LOCK) \ - $(wildcard include/config/LOCKDEP) \ - $(wildcard include/config/LOCK_STAT) \ - include/linux/rwlock_types.h \ - include/linux/once_lite.h \ - include/linux/dynamic_debug.h \ - include/linux/jump_label.h \ - $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ - arch/x86/include/asm/jump_label.h \ - include/linux/static_call_types.h \ - $(wildcard include/config/HAVE_STATIC_CALL) \ - include/linux/stat.h \ - arch/x86/include/uapi/asm/stat.h \ - include/uapi/linux/stat.h \ - include/linux/time.h \ - $(wildcard include/config/POSIX_TIMERS) \ - include/linux/math64.h \ - $(wildcard include/config/ARCH_SUPPORTS_INT128) \ - include/vdso/math64.h \ - include/linux/time64.h \ - include/vdso/time64.h \ - include/uapi/linux/time.h \ - include/uapi/linux/time_types.h \ - include/linux/time32.h \ - include/linux/timex.h \ - include/uapi/linux/timex.h \ - arch/x86/include/asm/timex.h \ - $(wildcard include/config/X86_TSC) \ - arch/x86/include/asm/processor.h \ - $(wildcard include/config/X86_VMX_FEATURE_NAMES) \ - $(wildcard include/config/X86_IOPL_IOPERM) \ - $(wildcard include/config/STACKPROTECTOR) \ - $(wildcard include/config/VM86) \ - $(wildcard include/config/X86_DEBUGCTLMSR) \ - $(wildcard include/config/CPU_SUP_AMD) \ - $(wildcard include/config/XEN) \ - arch/x86/include/asm/processor-flags.h \ - arch/x86/include/uapi/asm/processor-flags.h \ - include/linux/mem_encrypt.h \ - $(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \ - $(wildcard include/config/AMD_MEM_ENCRYPT) \ - arch/x86/include/asm/mem_encrypt.h \ - include/linux/cc_platform.h \ - $(wildcard include/config/ARCH_HAS_CC_PLATFORM) \ - arch/x86/include/uapi/asm/bootparam.h \ - include/linux/screen_info.h \ - include/uapi/linux/screen_info.h \ - include/linux/apm_bios.h \ - include/uapi/linux/apm_bios.h \ - include/uapi/linux/ioctl.h \ - arch/x86/include/generated/uapi/asm/ioctl.h \ - include/asm-generic/ioctl.h \ - include/uapi/asm-generic/ioctl.h \ - include/linux/edd.h \ - include/uapi/linux/edd.h \ - arch/x86/include/asm/ist.h \ - arch/x86/include/uapi/asm/ist.h \ - include/video/edid.h \ - $(wildcard include/config/X86) \ - include/uapi/video/edid.h \ - arch/x86/include/asm/math_emu.h \ - arch/x86/include/asm/ptrace.h \ - $(wildcard include/config/PARAVIRT) \ - $(wildcard include/config/IA32_EMULATION) \ - arch/x86/include/asm/segment.h \ - $(wildcard include/config/XEN_PV) \ - arch/x86/include/asm/page_types.h \ - $(wildcard include/config/PHYSICAL_START) \ - $(wildcard include/config/PHYSICAL_ALIGN) \ - $(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \ - arch/x86/include/asm/page_64_types.h \ - $(wildcard include/config/KASAN) \ - $(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \ - $(wildcard include/config/RANDOMIZE_BASE) \ - arch/x86/include/asm/kaslr.h \ - $(wildcard include/config/RANDOMIZE_MEMORY) \ - arch/x86/include/uapi/asm/ptrace.h \ - arch/x86/include/uapi/asm/ptrace-abi.h \ - arch/x86/include/asm/paravirt_types.h \ - $(wildcard include/config/PGTABLE_LEVELS) \ - $(wildcard include/config/PARAVIRT_DEBUG) \ - arch/x86/include/asm/desc_defs.h \ - arch/x86/include/asm/pgtable_types.h \ - $(wildcard include/config/MEM_SOFT_DIRTY) \ - $(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \ - $(wildcard include/config/PROC_FS) \ - arch/x86/include/asm/pgtable_64_types.h \ - $(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \ - arch/x86/include/asm/sparsemem.h \ - $(wildcard include/config/SPARSEMEM) \ - $(wildcard include/config/NUMA_KEEP_MEMINFO) \ - arch/x86/include/asm/nospec-branch.h \ - $(wildcard include/config/CPU_SRSO) \ - $(wildcard include/config/CPU_IBPB_ENTRY) \ - include/linux/static_key.h \ - include/linux/objtool.h \ - $(wildcard include/config/FRAME_POINTER) \ - arch/x86/include/asm/msr-index.h \ - arch/x86/include/asm/unwind_hints.h \ - arch/x86/include/asm/orc_types.h \ - arch/x86/include/asm/percpu.h \ - $(wildcard include/config/X86_64_SMP) \ - include/asm-generic/percpu.h \ - $(wildcard include/config/DEBUG_PREEMPT) \ - $(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \ - include/linux/threads.h \ - $(wildcard include/config/BASE_SMALL) \ - include/linux/percpu-defs.h \ - $(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \ - arch/x86/include/asm/GEN-for-each-reg.h \ - arch/x86/include/asm/proto.h \ - arch/x86/include/uapi/asm/ldt.h \ - arch/x86/include/uapi/asm/sigcontext.h \ - arch/x86/include/asm/current.h \ - arch/x86/include/asm/page.h \ - arch/x86/include/asm/page_64.h \ - $(wildcard include/config/DEBUG_VIRTUAL) \ - $(wildcard include/config/FLATMEM) \ - $(wildcard include/config/X86_VSYSCALL_EMULATION) \ - include/linux/range.h \ - include/asm-generic/memory_model.h \ - $(wildcard include/config/SPARSEMEM_VMEMMAP) \ - include/linux/pfn.h \ - include/asm-generic/getorder.h \ - arch/x86/include/asm/msr.h \ - arch/x86/include/asm/msr-index.h \ - arch/x86/include/generated/uapi/asm/errno.h \ - include/uapi/asm-generic/errno.h \ - include/uapi/asm-generic/errno-base.h \ - arch/x86/include/asm/cpumask.h \ - include/linux/cpumask.h \ - $(wildcard include/config/CPUMASK_OFFSTACK) \ - $(wildcard include/config/HOTPLUG_CPU) \ - $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ - include/linux/bitmap.h \ - include/linux/string.h \ - $(wildcard include/config/BINARY_PRINTF) \ - $(wildcard include/config/FORTIFY_SOURCE) \ - include/linux/err.h \ - include/linux/errno.h \ - include/uapi/linux/errno.h \ - include/linux/overflow.h \ - include/uapi/linux/string.h \ - arch/x86/include/asm/string.h \ - arch/x86/include/asm/string_64.h \ - $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ - include/linux/fortify-string.h \ - include/linux/atomic.h \ - arch/x86/include/asm/atomic.h \ - arch/x86/include/asm/cmpxchg.h \ - arch/x86/include/asm/cmpxchg_64.h \ - arch/x86/include/asm/atomic64_64.h \ - include/linux/atomic/atomic-arch-fallback.h \ - $(wildcard include/config/GENERIC_ATOMIC64) \ - include/linux/atomic/atomic-long.h \ - include/linux/atomic/atomic-instrumented.h \ - include/linux/bug.h \ - $(wildcard include/config/BUG_ON_DATA_CORRUPTION) \ - arch/x86/include/asm/bug.h \ - $(wildcard include/config/DEBUG_BUGVERBOSE) \ - include/linux/instrumentation.h \ - $(wildcard include/config/DEBUG_ENTRY) \ - include/asm-generic/bug.h \ - $(wildcard include/config/BUG) \ - $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ - arch/x86/include/uapi/asm/msr.h \ - include/linux/tracepoint-defs.h \ - arch/x86/include/asm/paravirt.h \ - $(wildcard include/config/PARAVIRT_SPINLOCKS) \ - arch/x86/include/asm/frame.h \ - arch/x86/include/asm/special_insns.h \ - include/linux/irqflags.h \ - $(wildcard include/config/TRACE_IRQFLAGS) \ - $(wildcard include/config/IRQSOFF_TRACER) \ - $(wildcard include/config/PREEMPT_TRACER) \ - $(wildcard include/config/DEBUG_IRQFLAGS) \ - $(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \ - arch/x86/include/asm/irqflags.h \ - arch/x86/include/asm/fpu/types.h \ - arch/x86/include/asm/vmxfeatures.h \ - arch/x86/include/asm/vdso/processor.h \ - include/linux/personality.h \ - include/uapi/linux/personality.h \ - arch/x86/include/asm/tsc.h \ - arch/x86/include/asm/cpufeature.h \ - $(wildcard include/config/X86_FEATURE_NAMES) \ - include/vdso/time32.h \ - include/vdso/time.h \ - include/linux/uidgid.h \ - $(wildcard include/config/MULTIUSER) \ - $(wildcard include/config/USER_NS) \ - include/linux/highuid.h \ - include/linux/buildid.h \ - $(wildcard include/config/CRASH_CORE) \ - include/linux/mm_types.h \ - $(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \ - $(wildcard include/config/MEMCG) \ - $(wildcard include/config/USERFAULTFD) \ - $(wildcard include/config/SWAP) \ - $(wildcard include/config/NUMA) \ - $(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \ - $(wildcard include/config/MEMBARRIER) \ - $(wildcard include/config/AIO) \ - $(wildcard include/config/MMU_NOTIFIER) \ - $(wildcard include/config/TRANSPARENT_HUGEPAGE) \ - $(wildcard include/config/NUMA_BALANCING) \ - $(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \ - $(wildcard include/config/HUGETLB_PAGE) \ - $(wildcard include/config/IOMMU_SUPPORT) \ - include/linux/mm_types_task.h \ - $(wildcard include/config/SPLIT_PTLOCK_CPUS) \ - $(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \ - arch/x86/include/asm/tlbbatch.h \ - include/linux/auxvec.h \ - include/uapi/linux/auxvec.h \ - arch/x86/include/uapi/asm/auxvec.h \ - include/linux/spinlock.h \ - $(wildcard include/config/PREEMPTION) \ - include/linux/preempt.h \ - $(wildcard include/config/PREEMPT_COUNT) \ - $(wildcard include/config/TRACE_PREEMPT_TOGGLE) \ - $(wildcard include/config/PREEMPT_NOTIFIERS) \ - arch/x86/include/asm/preempt.h \ - include/linux/thread_info.h \ - $(wildcard include/config/THREAD_INFO_IN_TASK) \ - $(wildcard include/config/GENERIC_ENTRY) \ - $(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \ - $(wildcard include/config/HARDENED_USERCOPY) \ - include/linux/restart_block.h \ - arch/x86/include/asm/thread_info.h \ - $(wildcard include/config/COMPAT) \ - include/linux/bottom_half.h \ - include/linux/lockdep.h \ - $(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \ - include/linux/smp.h \ - $(wildcard include/config/UP_LATE_INIT) \ - include/linux/smp_types.h \ - include/linux/llist.h \ - $(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \ - arch/x86/include/asm/smp.h \ - $(wildcard include/config/X86_LOCAL_APIC) \ - $(wildcard include/config/DEBUG_NMI_SELFTEST) \ - arch/x86/include/generated/asm/mmiowb.h \ - include/asm-generic/mmiowb.h \ - $(wildcard include/config/MMIOWB) \ - arch/x86/include/asm/spinlock.h \ - arch/x86/include/asm/qspinlock.h \ - include/asm-generic/qspinlock.h \ - arch/x86/include/asm/qrwlock.h \ - include/asm-generic/qrwlock.h \ - include/linux/rwlock.h \ - $(wildcard include/config/PREEMPT) \ - include/linux/spinlock_api_smp.h \ - $(wildcard include/config/INLINE_SPIN_LOCK) \ - $(wildcard include/config/INLINE_SPIN_LOCK_BH) \ - $(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \ - $(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_SPIN_TRYLOCK) \ - $(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \ - $(wildcard include/config/UNINLINE_SPIN_UNLOCK) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \ - $(wildcard include/config/GENERIC_LOCKBREAK) \ - include/linux/rwlock_api_smp.h \ - $(wildcard include/config/INLINE_READ_LOCK) \ - $(wildcard include/config/INLINE_WRITE_LOCK) \ - $(wildcard include/config/INLINE_READ_LOCK_BH) \ - $(wildcard include/config/INLINE_WRITE_LOCK_BH) \ - $(wildcard include/config/INLINE_READ_LOCK_IRQ) \ - $(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \ - $(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_READ_TRYLOCK) \ - $(wildcard include/config/INLINE_WRITE_TRYLOCK) \ - $(wildcard include/config/INLINE_READ_UNLOCK) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK) \ - $(wildcard include/config/INLINE_READ_UNLOCK_BH) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \ - $(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \ - include/linux/rbtree.h \ - include/linux/rbtree_types.h \ - include/linux/rcupdate.h \ - $(wildcard include/config/PREEMPT_RCU) \ - $(wildcard include/config/TINY_RCU) \ - $(wildcard include/config/TASKS_RCU_GENERIC) \ - $(wildcard include/config/RCU_STALL_COMMON) \ - $(wildcard include/config/NO_HZ_FULL) \ - $(wildcard include/config/RCU_NOCB_CPU) \ - $(wildcard include/config/TASKS_RCU) \ - $(wildcard include/config/TASKS_TRACE_RCU) \ - $(wildcard include/config/TASKS_RUDE_RCU) \ - $(wildcard include/config/TREE_RCU) \ - $(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \ - $(wildcard include/config/PROVE_RCU) \ - $(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \ - include/linux/rcutree.h \ - include/linux/rwsem.h \ - $(wildcard include/config/RWSEM_SPIN_ON_OWNER) \ - $(wildcard include/config/DEBUG_RWSEMS) \ - include/linux/osq_lock.h \ - include/linux/completion.h \ - include/linux/swait.h \ - include/linux/wait.h \ - include/uapi/linux/wait.h \ - include/linux/uprobes.h \ - $(wildcard include/config/UPROBES) \ - arch/x86/include/asm/uprobes.h \ - include/linux/notifier.h \ - include/linux/mutex.h \ - $(wildcard include/config/MUTEX_SPIN_ON_OWNER) \ - $(wildcard include/config/DEBUG_MUTEXES) \ - include/linux/debug_locks.h \ - include/linux/srcu.h \ - $(wildcard include/config/TINY_SRCU) \ - $(wildcard include/config/SRCU) \ - include/linux/workqueue.h \ - $(wildcard include/config/DEBUG_OBJECTS_WORK) \ - $(wildcard include/config/FREEZER) \ - $(wildcard include/config/WQ_WATCHDOG) \ - include/linux/timer.h \ - $(wildcard include/config/DEBUG_OBJECTS_TIMERS) \ - $(wildcard include/config/NO_HZ_COMMON) \ - include/linux/ktime.h \ - include/linux/jiffies.h \ - include/vdso/jiffies.h \ - include/generated/timeconst.h \ - include/vdso/ktime.h \ - include/linux/timekeeping.h \ - $(wildcard include/config/GENERIC_CMOS_UPDATE) \ - include/linux/clocksource_ids.h \ - include/linux/debugobjects.h \ - $(wildcard include/config/DEBUG_OBJECTS) \ - $(wildcard include/config/DEBUG_OBJECTS_FREE) \ - include/linux/rcu_segcblist.h \ - include/linux/srcutree.h \ - include/linux/rcu_node_tree.h \ - $(wildcard include/config/RCU_FANOUT) \ - $(wildcard include/config/RCU_FANOUT_LEAF) \ - include/linux/page-flags-layout.h \ - $(wildcard include/config/KASAN_HW_TAGS) \ - include/linux/numa.h \ - $(wildcard include/config/NODES_SHIFT) \ - include/generated/bounds.h \ - include/linux/seqlock.h \ - include/linux/ww_mutex.h \ - $(wildcard include/config/DEBUG_RT_MUTEXES) \ - $(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \ - include/linux/rtmutex.h \ - arch/x86/include/asm/mmu.h \ - $(wildcard include/config/MODIFY_LDT_SYSCALL) \ - include/linux/kmod.h \ - include/linux/umh.h \ - include/linux/gfp.h \ - $(wildcard include/config/HIGHMEM) \ - $(wildcard include/config/ZONE_DMA) \ - $(wildcard include/config/ZONE_DMA32) \ - $(wildcard include/config/ZONE_DEVICE) \ - $(wildcard include/config/PM_SLEEP) \ - $(wildcard include/config/CONTIG_ALLOC) \ - $(wildcard include/config/CMA) \ - include/linux/mmdebug.h \ - $(wildcard include/config/DEBUG_VM) \ - $(wildcard include/config/DEBUG_VM_PGFLAGS) \ - include/linux/mmzone.h \ - $(wildcard include/config/FORCE_MAX_ZONEORDER) \ - $(wildcard include/config/MEMORY_ISOLATION) \ - $(wildcard include/config/ZSMALLOC) \ - $(wildcard include/config/SHADOW_CALL_STACK) \ - $(wildcard include/config/MEMORY_HOTPLUG) \ - $(wildcard include/config/COMPACTION) \ - $(wildcard include/config/PAGE_EXTENSION) \ - $(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \ - $(wildcard include/config/HAVE_MEMORYLESS_NODES) \ - $(wildcard include/config/SPARSEMEM_EXTREME) \ - $(wildcard include/config/HAVE_ARCH_PFN_VALID) \ - include/linux/nodemask.h \ - include/linux/pageblock-flags.h \ - $(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \ - include/linux/page-flags.h \ - $(wildcard include/config/ARCH_USES_PG_UNCACHED) \ - $(wildcard include/config/MEMORY_FAILURE) \ - $(wildcard include/config/PAGE_IDLE_FLAG) \ - $(wildcard include/config/THP_SWAP) \ - $(wildcard include/config/KSM) \ - include/linux/local_lock.h \ - include/linux/local_lock_internal.h \ - include/linux/memory_hotplug.h \ - $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ - $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ - $(wildcard include/config/MEMORY_HOTREMOVE) \ - arch/x86/include/asm/mmzone.h \ - arch/x86/include/asm/mmzone_64.h \ - include/linux/topology.h \ - $(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \ - $(wildcard include/config/SCHED_SMT) \ - include/linux/arch_topology.h \ - $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ - include/linux/percpu.h \ - $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ - $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ - arch/x86/include/asm/topology.h \ - $(wildcard include/config/SCHED_MC_PRIO) \ - $(wildcard include/config/ACPI_CPPC_LIB) \ - arch/x86/include/asm/mpspec.h \ - $(wildcard include/config/EISA) \ - $(wildcard include/config/X86_MPPARSE) \ - arch/x86/include/asm/mpspec_def.h \ - arch/x86/include/asm/x86_init.h \ - arch/x86/include/asm/apicdef.h \ - include/asm-generic/topology.h \ - include/linux/sysctl.h \ - $(wildcard include/config/SYSCTL) \ - include/uapi/linux/sysctl.h \ - include/linux/elf.h \ - $(wildcard include/config/ARCH_USE_GNU_PROPERTY) \ - $(wildcard include/config/ARCH_HAVE_ELF_PROT) \ - arch/x86/include/asm/elf.h \ - $(wildcard include/config/X86_X32_ABI) \ - arch/x86/include/asm/user.h \ - arch/x86/include/asm/user_64.h \ - arch/x86/include/asm/fsgsbase.h \ - arch/x86/include/asm/vdso.h \ - $(wildcard include/config/X86_X32) \ - include/uapi/linux/elf.h \ - include/uapi/linux/elf-em.h \ - include/linux/kobject.h \ - $(wildcard include/config/UEVENT_HELPER) \ - $(wildcard include/config/DEBUG_KOBJECT_RELEASE) \ - include/linux/sysfs.h \ - include/linux/kernfs.h \ - $(wildcard include/config/KERNFS) \ - include/linux/idr.h \ - include/linux/radix-tree.h \ - include/linux/xarray.h \ - $(wildcard include/config/XARRAY_MULTI) \ - include/linux/kconfig.h \ - include/linux/kobject_ns.h \ - include/linux/kref.h \ - include/linux/refcount.h \ - include/linux/moduleparam.h \ - $(wildcard include/config/ALPHA) \ - $(wildcard include/config/IA64) \ - $(wildcard include/config/PPC64) \ - include/linux/rbtree_latch.h \ - include/linux/error-injection.h \ - include/asm-generic/error-injection.h \ - include/linux/cfi.h \ - $(wildcard include/config/CFI_CLANG_SHADOW) \ - arch/x86/include/asm/module.h \ - $(wildcard include/config/UNWINDER_ORC) \ - include/asm-generic/module.h \ - $(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \ - $(wildcard include/config/MODULES_USE_ELF_REL) \ - $(wildcard include/config/MODULES_USE_ELF_RELA) \ - arch/x86/include/asm/orc_types.h \ - include/linux/build-salt.h \ - $(wildcard include/config/BUILD_SALT) \ - include/linux/elfnote.h \ - include/linux/elfnote-lto.h \ - $(wildcard include/config/LTO) \ - include/linux/vermagic.h \ - include/generated/utsrelease.h \ - arch/x86/include/asm/vermagic.h \ - $(wildcard include/config/M486SX) \ - $(wildcard include/config/M486) \ - $(wildcard include/config/M586) \ - $(wildcard include/config/M586TSC) \ - $(wildcard include/config/M586MMX) \ - $(wildcard include/config/MCORE2) \ - $(wildcard include/config/M686) \ - $(wildcard include/config/MPENTIUMII) \ - $(wildcard include/config/MPENTIUMIII) \ - $(wildcard include/config/MPENTIUMM) \ - $(wildcard include/config/MPENTIUM4) \ - $(wildcard include/config/MK6) \ - $(wildcard include/config/MK7) \ - $(wildcard include/config/MK8) \ - $(wildcard include/config/MELAN) \ - $(wildcard include/config/MCRUSOE) \ - $(wildcard include/config/MEFFICEON) \ - $(wildcard include/config/MWINCHIPC6) \ - $(wildcard include/config/MWINCHIP3D) \ - $(wildcard include/config/MCYRIXIII) \ - $(wildcard include/config/MVIAC3_2) \ - $(wildcard include/config/MVIAC7) \ - $(wildcard include/config/MGEODEGX1) \ - $(wildcard include/config/MGEODE_LX) \ - -/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o: $(deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o) - -$(deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.mod.o): diff --git a/smartlamp-kernel-module/.serial.o.cmd b/smartlamp-kernel-module/.serial.o.cmd deleted file mode 100644 index c416f6a..0000000 --- a/smartlamp-kernel-module/.serial.o.cmd +++ /dev/null @@ -1,994 +0,0 @@ -cmd_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o := gcc -Wp,-MMD,/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/.serial.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -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=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"serial"' -DKBUILD_MODNAME='"serial"' -D__KBUILD_MODNAME=kmod_serial -c -o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.c - -source_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o := /home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.c - -deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o := \ - include/linux/compiler-version.h \ - $(wildcard include/config/CC_VERSION_TEXT) \ - include/linux/kconfig.h \ - $(wildcard include/config/CPU_BIG_ENDIAN) \ - $(wildcard include/config/BOOGER) \ - $(wildcard include/config/FOO) \ - include/linux/compiler_types.h \ - $(wildcard include/config/HAVE_ARCH_COMPILER_H) \ - $(wildcard include/config/CC_HAS_ASM_INLINE) \ - include/linux/compiler_attributes.h \ - include/linux/compiler-gcc.h \ - $(wildcard include/config/RETPOLINE) \ - $(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \ - $(wildcard include/config/KCOV) \ - include/linux/module.h \ - $(wildcard include/config/MODULES) \ - $(wildcard include/config/SYSFS) \ - $(wildcard include/config/MODULES_TREE_LOOKUP) \ - $(wildcard include/config/LIVEPATCH) \ - $(wildcard include/config/STACKTRACE_BUILD_ID) \ - $(wildcard include/config/CFI_CLANG) \ - $(wildcard include/config/MODULE_SIG) \ - $(wildcard include/config/GENERIC_BUG) \ - $(wildcard include/config/KALLSYMS) \ - $(wildcard include/config/SMP) \ - $(wildcard include/config/TRACEPOINTS) \ - $(wildcard include/config/TREE_SRCU) \ - $(wildcard include/config/BPF_EVENTS) \ - $(wildcard include/config/DEBUG_INFO_BTF_MODULES) \ - $(wildcard include/config/JUMP_LABEL) \ - $(wildcard include/config/TRACING) \ - $(wildcard include/config/EVENT_TRACING) \ - $(wildcard include/config/FTRACE_MCOUNT_RECORD) \ - $(wildcard include/config/KPROBES) \ - $(wildcard include/config/HAVE_STATIC_CALL_INLINE) \ - $(wildcard include/config/PRINTK_INDEX) \ - $(wildcard include/config/MODULE_UNLOAD) \ - $(wildcard include/config/CONSTRUCTORS) \ - $(wildcard include/config/FUNCTION_ERROR_INJECTION) \ - include/linux/list.h \ - $(wildcard include/config/DEBUG_LIST) \ - include/linux/types.h \ - $(wildcard include/config/HAVE_UID16) \ - $(wildcard include/config/UID16) \ - $(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \ - $(wildcard include/config/PHYS_ADDR_T_64BIT) \ - $(wildcard include/config/64BIT) \ - $(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \ - include/uapi/linux/types.h \ - arch/x86/include/generated/uapi/asm/types.h \ - include/uapi/asm-generic/types.h \ - include/asm-generic/int-ll64.h \ - include/uapi/asm-generic/int-ll64.h \ - arch/x86/include/uapi/asm/bitsperlong.h \ - include/asm-generic/bitsperlong.h \ - include/uapi/asm-generic/bitsperlong.h \ - include/uapi/linux/posix_types.h \ - include/linux/stddef.h \ - include/uapi/linux/stddef.h \ - include/linux/compiler_types.h \ - arch/x86/include/asm/posix_types.h \ - $(wildcard include/config/X86_32) \ - arch/x86/include/uapi/asm/posix_types_64.h \ - include/uapi/asm-generic/posix_types.h \ - include/linux/poison.h \ - $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ - include/linux/const.h \ - include/vdso/const.h \ - include/uapi/linux/const.h \ - include/linux/kernel.h \ - $(wildcard include/config/PREEMPT_VOLUNTARY) \ - $(wildcard include/config/PREEMPT_DYNAMIC) \ - $(wildcard include/config/PREEMPT_) \ - $(wildcard include/config/DEBUG_ATOMIC_SLEEP) \ - $(wildcard include/config/MMU) \ - $(wildcard include/config/PROVE_LOCKING) \ - include/linux/stdarg.h \ - include/linux/align.h \ - include/linux/limits.h \ - include/uapi/linux/limits.h \ - include/vdso/limits.h \ - include/linux/linkage.h \ - $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ - include/linux/stringify.h \ - include/linux/export.h \ - $(wildcard include/config/MODVERSIONS) \ - $(wildcard include/config/MODULE_REL_CRCS) \ - $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ - $(wildcard include/config/TRIM_UNUSED_KSYMS) \ - include/linux/compiler.h \ - $(wildcard include/config/TRACE_BRANCH_PROFILING) \ - $(wildcard include/config/PROFILE_ALL_BRANCHES) \ - $(wildcard include/config/STACK_VALIDATION) \ - arch/x86/include/generated/asm/rwonce.h \ - include/asm-generic/rwonce.h \ - include/linux/kasan-checks.h \ - $(wildcard include/config/KASAN_GENERIC) \ - $(wildcard include/config/KASAN_SW_TAGS) \ - include/linux/kcsan-checks.h \ - $(wildcard include/config/KCSAN) \ - $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ - arch/x86/include/asm/linkage.h \ - $(wildcard include/config/X86_64) \ - $(wildcard include/config/X86_ALIGNMENT_16) \ - $(wildcard include/config/RETHUNK) \ - $(wildcard include/config/SLS) \ - include/linux/bitops.h \ - include/linux/bits.h \ - include/vdso/bits.h \ - include/linux/build_bug.h \ - include/linux/typecheck.h \ - include/uapi/linux/kernel.h \ - include/uapi/linux/sysinfo.h \ - arch/x86/include/asm/bitops.h \ - $(wildcard include/config/X86_CMOV) \ - arch/x86/include/asm/alternative.h \ - arch/x86/include/asm/asm.h \ - arch/x86/include/asm/extable_fixup_types.h \ - arch/x86/include/asm/rmwcc.h \ - $(wildcard include/config/CC_HAS_ASM_GOTO) \ - arch/x86/include/asm/barrier.h \ - arch/x86/include/asm/nops.h \ - include/asm-generic/barrier.h \ - include/asm-generic/bitops/find.h \ - $(wildcard include/config/GENERIC_FIND_FIRST_BIT) \ - include/asm-generic/bitops/sched.h \ - arch/x86/include/asm/arch_hweight.h \ - arch/x86/include/asm/cpufeatures.h \ - arch/x86/include/asm/required-features.h \ - $(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \ - $(wildcard include/config/MATH_EMULATION) \ - $(wildcard include/config/X86_PAE) \ - $(wildcard include/config/X86_CMPXCHG64) \ - $(wildcard include/config/X86_USE_3DNOW) \ - $(wildcard include/config/X86_P6_NOP) \ - $(wildcard include/config/MATOM) \ - $(wildcard include/config/PARAVIRT_XXL) \ - arch/x86/include/asm/disabled-features.h \ - $(wildcard include/config/X86_SMAP) \ - $(wildcard include/config/X86_UMIP) \ - $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ - $(wildcard include/config/X86_5LEVEL) \ - $(wildcard include/config/PAGE_TABLE_ISOLATION) \ - $(wildcard include/config/CPU_UNRET_ENTRY) \ - $(wildcard include/config/X86_SGX) \ - include/asm-generic/bitops/const_hweight.h \ - include/asm-generic/bitops/instrumented-atomic.h \ - include/linux/instrumented.h \ - include/asm-generic/bitops/instrumented-non-atomic.h \ - $(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \ - include/asm-generic/bitops/instrumented-lock.h \ - include/asm-generic/bitops/le.h \ - arch/x86/include/uapi/asm/byteorder.h \ - include/linux/byteorder/little_endian.h \ - include/uapi/linux/byteorder/little_endian.h \ - include/linux/swab.h \ - include/uapi/linux/swab.h \ - arch/x86/include/uapi/asm/swab.h \ - include/linux/byteorder/generic.h \ - include/asm-generic/bitops/ext2-atomic-setbit.h \ - include/linux/kstrtox.h \ - include/linux/log2.h \ - $(wildcard include/config/ARCH_HAS_ILOG2_U32) \ - $(wildcard include/config/ARCH_HAS_ILOG2_U64) \ - include/linux/math.h \ - arch/x86/include/asm/div64.h \ - include/asm-generic/div64.h \ - include/linux/minmax.h \ - include/linux/panic.h \ - $(wildcard include/config/PANIC_TIMEOUT) \ - include/linux/printk.h \ - $(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \ - $(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \ - $(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \ - $(wildcard include/config/EARLY_PRINTK) \ - $(wildcard include/config/PRINTK) \ - $(wildcard include/config/DYNAMIC_DEBUG) \ - $(wildcard include/config/DYNAMIC_DEBUG_CORE) \ - include/linux/init.h \ - $(wildcard include/config/STRICT_KERNEL_RWX) \ - $(wildcard include/config/STRICT_MODULE_RWX) \ - $(wildcard include/config/LTO_CLANG) \ - include/linux/kern_levels.h \ - include/linux/cache.h \ - $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ - arch/x86/include/asm/cache.h \ - $(wildcard include/config/X86_L1_CACHE_SHIFT) \ - $(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \ - $(wildcard include/config/X86_VSMP) \ - include/linux/ratelimit_types.h \ - include/uapi/linux/param.h \ - arch/x86/include/generated/uapi/asm/param.h \ - include/asm-generic/param.h \ - $(wildcard include/config/HZ) \ - include/uapi/asm-generic/param.h \ - include/linux/spinlock_types.h \ - $(wildcard include/config/PREEMPT_RT) \ - $(wildcard include/config/DEBUG_LOCK_ALLOC) \ - include/linux/spinlock_types_raw.h \ - $(wildcard include/config/DEBUG_SPINLOCK) \ - arch/x86/include/asm/spinlock_types.h \ - include/asm-generic/qspinlock_types.h \ - $(wildcard include/config/NR_CPUS) \ - include/asm-generic/qrwlock_types.h \ - include/linux/lockdep_types.h \ - $(wildcard include/config/PROVE_RAW_LOCK_NESTING) \ - $(wildcard include/config/PREEMPT_LOCK) \ - $(wildcard include/config/LOCKDEP) \ - $(wildcard include/config/LOCK_STAT) \ - include/linux/rwlock_types.h \ - include/linux/once_lite.h \ - include/linux/dynamic_debug.h \ - include/linux/jump_label.h \ - $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ - arch/x86/include/asm/jump_label.h \ - include/linux/static_call_types.h \ - $(wildcard include/config/HAVE_STATIC_CALL) \ - include/linux/stat.h \ - arch/x86/include/uapi/asm/stat.h \ - include/uapi/linux/stat.h \ - include/linux/time.h \ - $(wildcard include/config/POSIX_TIMERS) \ - include/linux/math64.h \ - $(wildcard include/config/ARCH_SUPPORTS_INT128) \ - include/vdso/math64.h \ - include/linux/time64.h \ - include/vdso/time64.h \ - include/uapi/linux/time.h \ - include/uapi/linux/time_types.h \ - include/linux/time32.h \ - include/linux/timex.h \ - include/uapi/linux/timex.h \ - arch/x86/include/asm/timex.h \ - $(wildcard include/config/X86_TSC) \ - arch/x86/include/asm/processor.h \ - $(wildcard include/config/X86_VMX_FEATURE_NAMES) \ - $(wildcard include/config/X86_IOPL_IOPERM) \ - $(wildcard include/config/STACKPROTECTOR) \ - $(wildcard include/config/VM86) \ - $(wildcard include/config/X86_DEBUGCTLMSR) \ - $(wildcard include/config/CPU_SUP_AMD) \ - $(wildcard include/config/XEN) \ - arch/x86/include/asm/processor-flags.h \ - arch/x86/include/uapi/asm/processor-flags.h \ - include/linux/mem_encrypt.h \ - $(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \ - $(wildcard include/config/AMD_MEM_ENCRYPT) \ - arch/x86/include/asm/mem_encrypt.h \ - include/linux/cc_platform.h \ - $(wildcard include/config/ARCH_HAS_CC_PLATFORM) \ - arch/x86/include/uapi/asm/bootparam.h \ - include/linux/screen_info.h \ - include/uapi/linux/screen_info.h \ - include/linux/apm_bios.h \ - include/uapi/linux/apm_bios.h \ - include/uapi/linux/ioctl.h \ - arch/x86/include/generated/uapi/asm/ioctl.h \ - include/asm-generic/ioctl.h \ - include/uapi/asm-generic/ioctl.h \ - include/linux/edd.h \ - include/uapi/linux/edd.h \ - arch/x86/include/asm/ist.h \ - arch/x86/include/uapi/asm/ist.h \ - include/video/edid.h \ - $(wildcard include/config/X86) \ - include/uapi/video/edid.h \ - arch/x86/include/asm/math_emu.h \ - arch/x86/include/asm/ptrace.h \ - $(wildcard include/config/PARAVIRT) \ - $(wildcard include/config/IA32_EMULATION) \ - arch/x86/include/asm/segment.h \ - $(wildcard include/config/XEN_PV) \ - arch/x86/include/asm/page_types.h \ - $(wildcard include/config/PHYSICAL_START) \ - $(wildcard include/config/PHYSICAL_ALIGN) \ - $(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \ - arch/x86/include/asm/page_64_types.h \ - $(wildcard include/config/KASAN) \ - $(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \ - $(wildcard include/config/RANDOMIZE_BASE) \ - arch/x86/include/asm/kaslr.h \ - $(wildcard include/config/RANDOMIZE_MEMORY) \ - arch/x86/include/uapi/asm/ptrace.h \ - arch/x86/include/uapi/asm/ptrace-abi.h \ - arch/x86/include/asm/paravirt_types.h \ - $(wildcard include/config/PGTABLE_LEVELS) \ - $(wildcard include/config/PARAVIRT_DEBUG) \ - arch/x86/include/asm/desc_defs.h \ - arch/x86/include/asm/pgtable_types.h \ - $(wildcard include/config/MEM_SOFT_DIRTY) \ - $(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \ - $(wildcard include/config/PROC_FS) \ - arch/x86/include/asm/pgtable_64_types.h \ - $(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \ - arch/x86/include/asm/sparsemem.h \ - $(wildcard include/config/SPARSEMEM) \ - $(wildcard include/config/NUMA_KEEP_MEMINFO) \ - arch/x86/include/asm/nospec-branch.h \ - $(wildcard include/config/CPU_SRSO) \ - $(wildcard include/config/CPU_IBPB_ENTRY) \ - include/linux/static_key.h \ - include/linux/objtool.h \ - $(wildcard include/config/FRAME_POINTER) \ - arch/x86/include/asm/msr-index.h \ - arch/x86/include/asm/unwind_hints.h \ - arch/x86/include/asm/orc_types.h \ - arch/x86/include/asm/percpu.h \ - $(wildcard include/config/X86_64_SMP) \ - include/asm-generic/percpu.h \ - $(wildcard include/config/DEBUG_PREEMPT) \ - $(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \ - include/linux/threads.h \ - $(wildcard include/config/BASE_SMALL) \ - include/linux/percpu-defs.h \ - $(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \ - arch/x86/include/asm/GEN-for-each-reg.h \ - arch/x86/include/asm/proto.h \ - arch/x86/include/uapi/asm/ldt.h \ - arch/x86/include/uapi/asm/sigcontext.h \ - arch/x86/include/asm/current.h \ - arch/x86/include/asm/page.h \ - arch/x86/include/asm/page_64.h \ - $(wildcard include/config/DEBUG_VIRTUAL) \ - $(wildcard include/config/FLATMEM) \ - $(wildcard include/config/X86_VSYSCALL_EMULATION) \ - include/linux/range.h \ - include/asm-generic/memory_model.h \ - $(wildcard include/config/SPARSEMEM_VMEMMAP) \ - include/linux/pfn.h \ - include/asm-generic/getorder.h \ - arch/x86/include/asm/msr.h \ - arch/x86/include/asm/msr-index.h \ - arch/x86/include/generated/uapi/asm/errno.h \ - include/uapi/asm-generic/errno.h \ - include/uapi/asm-generic/errno-base.h \ - arch/x86/include/asm/cpumask.h \ - include/linux/cpumask.h \ - $(wildcard include/config/CPUMASK_OFFSTACK) \ - $(wildcard include/config/HOTPLUG_CPU) \ - $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ - include/linux/bitmap.h \ - include/linux/string.h \ - $(wildcard include/config/BINARY_PRINTF) \ - $(wildcard include/config/FORTIFY_SOURCE) \ - include/linux/err.h \ - include/linux/errno.h \ - include/uapi/linux/errno.h \ - include/linux/overflow.h \ - include/uapi/linux/string.h \ - arch/x86/include/asm/string.h \ - arch/x86/include/asm/string_64.h \ - $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ - include/linux/fortify-string.h \ - include/linux/atomic.h \ - arch/x86/include/asm/atomic.h \ - arch/x86/include/asm/cmpxchg.h \ - arch/x86/include/asm/cmpxchg_64.h \ - arch/x86/include/asm/atomic64_64.h \ - include/linux/atomic/atomic-arch-fallback.h \ - $(wildcard include/config/GENERIC_ATOMIC64) \ - include/linux/atomic/atomic-long.h \ - include/linux/atomic/atomic-instrumented.h \ - include/linux/bug.h \ - $(wildcard include/config/BUG_ON_DATA_CORRUPTION) \ - arch/x86/include/asm/bug.h \ - $(wildcard include/config/DEBUG_BUGVERBOSE) \ - include/linux/instrumentation.h \ - $(wildcard include/config/DEBUG_ENTRY) \ - include/asm-generic/bug.h \ - $(wildcard include/config/BUG) \ - $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ - arch/x86/include/uapi/asm/msr.h \ - include/linux/tracepoint-defs.h \ - arch/x86/include/asm/paravirt.h \ - $(wildcard include/config/PARAVIRT_SPINLOCKS) \ - arch/x86/include/asm/frame.h \ - arch/x86/include/asm/special_insns.h \ - include/linux/irqflags.h \ - $(wildcard include/config/TRACE_IRQFLAGS) \ - $(wildcard include/config/IRQSOFF_TRACER) \ - $(wildcard include/config/PREEMPT_TRACER) \ - $(wildcard include/config/DEBUG_IRQFLAGS) \ - $(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \ - arch/x86/include/asm/irqflags.h \ - arch/x86/include/asm/fpu/types.h \ - arch/x86/include/asm/vmxfeatures.h \ - arch/x86/include/asm/vdso/processor.h \ - include/linux/personality.h \ - include/uapi/linux/personality.h \ - arch/x86/include/asm/tsc.h \ - arch/x86/include/asm/cpufeature.h \ - $(wildcard include/config/X86_FEATURE_NAMES) \ - include/vdso/time32.h \ - include/vdso/time.h \ - include/linux/uidgid.h \ - $(wildcard include/config/MULTIUSER) \ - $(wildcard include/config/USER_NS) \ - include/linux/highuid.h \ - include/linux/buildid.h \ - $(wildcard include/config/CRASH_CORE) \ - include/linux/mm_types.h \ - $(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \ - $(wildcard include/config/MEMCG) \ - $(wildcard include/config/USERFAULTFD) \ - $(wildcard include/config/SWAP) \ - $(wildcard include/config/NUMA) \ - $(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \ - $(wildcard include/config/MEMBARRIER) \ - $(wildcard include/config/AIO) \ - $(wildcard include/config/MMU_NOTIFIER) \ - $(wildcard include/config/TRANSPARENT_HUGEPAGE) \ - $(wildcard include/config/NUMA_BALANCING) \ - $(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \ - $(wildcard include/config/HUGETLB_PAGE) \ - $(wildcard include/config/IOMMU_SUPPORT) \ - include/linux/mm_types_task.h \ - $(wildcard include/config/SPLIT_PTLOCK_CPUS) \ - $(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \ - arch/x86/include/asm/tlbbatch.h \ - include/linux/auxvec.h \ - include/uapi/linux/auxvec.h \ - arch/x86/include/uapi/asm/auxvec.h \ - include/linux/spinlock.h \ - $(wildcard include/config/PREEMPTION) \ - include/linux/preempt.h \ - $(wildcard include/config/PREEMPT_COUNT) \ - $(wildcard include/config/TRACE_PREEMPT_TOGGLE) \ - $(wildcard include/config/PREEMPT_NOTIFIERS) \ - arch/x86/include/asm/preempt.h \ - include/linux/thread_info.h \ - $(wildcard include/config/THREAD_INFO_IN_TASK) \ - $(wildcard include/config/GENERIC_ENTRY) \ - $(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \ - $(wildcard include/config/HARDENED_USERCOPY) \ - include/linux/restart_block.h \ - arch/x86/include/asm/thread_info.h \ - $(wildcard include/config/COMPAT) \ - include/linux/bottom_half.h \ - include/linux/lockdep.h \ - $(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \ - include/linux/smp.h \ - $(wildcard include/config/UP_LATE_INIT) \ - include/linux/smp_types.h \ - include/linux/llist.h \ - $(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \ - arch/x86/include/asm/smp.h \ - $(wildcard include/config/X86_LOCAL_APIC) \ - $(wildcard include/config/DEBUG_NMI_SELFTEST) \ - arch/x86/include/generated/asm/mmiowb.h \ - include/asm-generic/mmiowb.h \ - $(wildcard include/config/MMIOWB) \ - arch/x86/include/asm/spinlock.h \ - arch/x86/include/asm/qspinlock.h \ - include/asm-generic/qspinlock.h \ - arch/x86/include/asm/qrwlock.h \ - include/asm-generic/qrwlock.h \ - include/linux/rwlock.h \ - $(wildcard include/config/PREEMPT) \ - include/linux/spinlock_api_smp.h \ - $(wildcard include/config/INLINE_SPIN_LOCK) \ - $(wildcard include/config/INLINE_SPIN_LOCK_BH) \ - $(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \ - $(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_SPIN_TRYLOCK) \ - $(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \ - $(wildcard include/config/UNINLINE_SPIN_UNLOCK) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \ - $(wildcard include/config/GENERIC_LOCKBREAK) \ - include/linux/rwlock_api_smp.h \ - $(wildcard include/config/INLINE_READ_LOCK) \ - $(wildcard include/config/INLINE_WRITE_LOCK) \ - $(wildcard include/config/INLINE_READ_LOCK_BH) \ - $(wildcard include/config/INLINE_WRITE_LOCK_BH) \ - $(wildcard include/config/INLINE_READ_LOCK_IRQ) \ - $(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \ - $(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \ - $(wildcard include/config/INLINE_READ_TRYLOCK) \ - $(wildcard include/config/INLINE_WRITE_TRYLOCK) \ - $(wildcard include/config/INLINE_READ_UNLOCK) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK) \ - $(wildcard include/config/INLINE_READ_UNLOCK_BH) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \ - $(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \ - $(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \ - $(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \ - include/linux/rbtree.h \ - include/linux/rbtree_types.h \ - include/linux/rcupdate.h \ - $(wildcard include/config/PREEMPT_RCU) \ - $(wildcard include/config/TINY_RCU) \ - $(wildcard include/config/TASKS_RCU_GENERIC) \ - $(wildcard include/config/RCU_STALL_COMMON) \ - $(wildcard include/config/NO_HZ_FULL) \ - $(wildcard include/config/RCU_NOCB_CPU) \ - $(wildcard include/config/TASKS_RCU) \ - $(wildcard include/config/TASKS_TRACE_RCU) \ - $(wildcard include/config/TASKS_RUDE_RCU) \ - $(wildcard include/config/TREE_RCU) \ - $(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \ - $(wildcard include/config/PROVE_RCU) \ - $(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \ - include/linux/rcutree.h \ - include/linux/rwsem.h \ - $(wildcard include/config/RWSEM_SPIN_ON_OWNER) \ - $(wildcard include/config/DEBUG_RWSEMS) \ - include/linux/osq_lock.h \ - include/linux/completion.h \ - include/linux/swait.h \ - include/linux/wait.h \ - include/uapi/linux/wait.h \ - include/linux/uprobes.h \ - $(wildcard include/config/UPROBES) \ - arch/x86/include/asm/uprobes.h \ - include/linux/notifier.h \ - include/linux/mutex.h \ - $(wildcard include/config/MUTEX_SPIN_ON_OWNER) \ - $(wildcard include/config/DEBUG_MUTEXES) \ - include/linux/debug_locks.h \ - include/linux/srcu.h \ - $(wildcard include/config/TINY_SRCU) \ - $(wildcard include/config/SRCU) \ - include/linux/workqueue.h \ - $(wildcard include/config/DEBUG_OBJECTS_WORK) \ - $(wildcard include/config/FREEZER) \ - $(wildcard include/config/WQ_WATCHDOG) \ - include/linux/timer.h \ - $(wildcard include/config/DEBUG_OBJECTS_TIMERS) \ - $(wildcard include/config/NO_HZ_COMMON) \ - include/linux/ktime.h \ - include/linux/jiffies.h \ - include/vdso/jiffies.h \ - include/generated/timeconst.h \ - include/vdso/ktime.h \ - include/linux/timekeeping.h \ - $(wildcard include/config/GENERIC_CMOS_UPDATE) \ - include/linux/clocksource_ids.h \ - include/linux/debugobjects.h \ - $(wildcard include/config/DEBUG_OBJECTS) \ - $(wildcard include/config/DEBUG_OBJECTS_FREE) \ - include/linux/rcu_segcblist.h \ - include/linux/srcutree.h \ - include/linux/rcu_node_tree.h \ - $(wildcard include/config/RCU_FANOUT) \ - $(wildcard include/config/RCU_FANOUT_LEAF) \ - include/linux/page-flags-layout.h \ - $(wildcard include/config/KASAN_HW_TAGS) \ - include/linux/numa.h \ - $(wildcard include/config/NODES_SHIFT) \ - include/generated/bounds.h \ - include/linux/seqlock.h \ - include/linux/ww_mutex.h \ - $(wildcard include/config/DEBUG_RT_MUTEXES) \ - $(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \ - include/linux/rtmutex.h \ - arch/x86/include/asm/mmu.h \ - $(wildcard include/config/MODIFY_LDT_SYSCALL) \ - include/linux/kmod.h \ - include/linux/umh.h \ - include/linux/gfp.h \ - $(wildcard include/config/HIGHMEM) \ - $(wildcard include/config/ZONE_DMA) \ - $(wildcard include/config/ZONE_DMA32) \ - $(wildcard include/config/ZONE_DEVICE) \ - $(wildcard include/config/PM_SLEEP) \ - $(wildcard include/config/CONTIG_ALLOC) \ - $(wildcard include/config/CMA) \ - include/linux/mmdebug.h \ - $(wildcard include/config/DEBUG_VM) \ - $(wildcard include/config/DEBUG_VM_PGFLAGS) \ - include/linux/mmzone.h \ - $(wildcard include/config/FORCE_MAX_ZONEORDER) \ - $(wildcard include/config/MEMORY_ISOLATION) \ - $(wildcard include/config/ZSMALLOC) \ - $(wildcard include/config/SHADOW_CALL_STACK) \ - $(wildcard include/config/MEMORY_HOTPLUG) \ - $(wildcard include/config/COMPACTION) \ - $(wildcard include/config/PAGE_EXTENSION) \ - $(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \ - $(wildcard include/config/HAVE_MEMORYLESS_NODES) \ - $(wildcard include/config/SPARSEMEM_EXTREME) \ - $(wildcard include/config/HAVE_ARCH_PFN_VALID) \ - include/linux/nodemask.h \ - include/linux/pageblock-flags.h \ - $(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \ - include/linux/page-flags.h \ - $(wildcard include/config/ARCH_USES_PG_UNCACHED) \ - $(wildcard include/config/MEMORY_FAILURE) \ - $(wildcard include/config/PAGE_IDLE_FLAG) \ - $(wildcard include/config/THP_SWAP) \ - $(wildcard include/config/KSM) \ - include/linux/local_lock.h \ - include/linux/local_lock_internal.h \ - include/linux/memory_hotplug.h \ - $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ - $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ - $(wildcard include/config/MEMORY_HOTREMOVE) \ - arch/x86/include/asm/mmzone.h \ - arch/x86/include/asm/mmzone_64.h \ - include/linux/topology.h \ - $(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \ - $(wildcard include/config/SCHED_SMT) \ - include/linux/arch_topology.h \ - $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ - include/linux/percpu.h \ - $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ - $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ - arch/x86/include/asm/topology.h \ - $(wildcard include/config/SCHED_MC_PRIO) \ - $(wildcard include/config/ACPI_CPPC_LIB) \ - arch/x86/include/asm/mpspec.h \ - $(wildcard include/config/EISA) \ - $(wildcard include/config/X86_MPPARSE) \ - arch/x86/include/asm/mpspec_def.h \ - arch/x86/include/asm/x86_init.h \ - arch/x86/include/asm/apicdef.h \ - include/asm-generic/topology.h \ - include/linux/sysctl.h \ - $(wildcard include/config/SYSCTL) \ - include/uapi/linux/sysctl.h \ - include/linux/elf.h \ - $(wildcard include/config/ARCH_USE_GNU_PROPERTY) \ - $(wildcard include/config/ARCH_HAVE_ELF_PROT) \ - arch/x86/include/asm/elf.h \ - $(wildcard include/config/X86_X32_ABI) \ - arch/x86/include/asm/user.h \ - arch/x86/include/asm/user_64.h \ - arch/x86/include/asm/fsgsbase.h \ - arch/x86/include/asm/vdso.h \ - $(wildcard include/config/X86_X32) \ - include/uapi/linux/elf.h \ - include/uapi/linux/elf-em.h \ - include/linux/kobject.h \ - $(wildcard include/config/UEVENT_HELPER) \ - $(wildcard include/config/DEBUG_KOBJECT_RELEASE) \ - include/linux/sysfs.h \ - include/linux/kernfs.h \ - $(wildcard include/config/KERNFS) \ - include/linux/idr.h \ - include/linux/radix-tree.h \ - include/linux/xarray.h \ - $(wildcard include/config/XARRAY_MULTI) \ - include/linux/kconfig.h \ - include/linux/kobject_ns.h \ - include/linux/kref.h \ - include/linux/refcount.h \ - include/linux/moduleparam.h \ - $(wildcard include/config/ALPHA) \ - $(wildcard include/config/IA64) \ - $(wildcard include/config/PPC64) \ - include/linux/rbtree_latch.h \ - include/linux/error-injection.h \ - include/asm-generic/error-injection.h \ - include/linux/cfi.h \ - $(wildcard include/config/CFI_CLANG_SHADOW) \ - arch/x86/include/asm/module.h \ - $(wildcard include/config/UNWINDER_ORC) \ - include/asm-generic/module.h \ - $(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \ - $(wildcard include/config/MODULES_USE_ELF_REL) \ - $(wildcard include/config/MODULES_USE_ELF_RELA) \ - arch/x86/include/asm/orc_types.h \ - include/linux/usb.h \ - $(wildcard include/config/USB_MON) \ - $(wildcard include/config/PM) \ - $(wildcard include/config/ACPI) \ - $(wildcard include/config/USB) \ - $(wildcard include/config/USB_LED_TRIG) \ - include/linux/mod_devicetable.h \ - include/linux/uuid.h \ - include/uapi/linux/uuid.h \ - include/linux/usb/ch9.h \ - include/linux/device.h \ - $(wildcard include/config/ENERGY_MODEL) \ - $(wildcard include/config/GENERIC_MSI_IRQ_DOMAIN) \ - $(wildcard include/config/PINCTRL) \ - $(wildcard include/config/GENERIC_MSI_IRQ) \ - $(wildcard include/config/DMA_OPS) \ - $(wildcard include/config/DMA_DECLARE_COHERENT) \ - $(wildcard include/config/DMA_CMA) \ - $(wildcard include/config/SWIOTLB) \ - $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_DEVICE) \ - $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU) \ - $(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU_ALL) \ - $(wildcard include/config/DMA_OPS_BYPASS) \ - $(wildcard include/config/OF) \ - $(wildcard include/config/DEVTMPFS) \ - $(wildcard include/config/SYSFS_DEPRECATED) \ - include/linux/dev_printk.h \ - include/linux/ratelimit.h \ - include/linux/sched.h \ - $(wildcard include/config/VIRT_CPU_ACCOUNTING_NATIVE) \ - $(wildcard include/config/SCHED_INFO) \ - $(wildcard include/config/SCHEDSTATS) \ - $(wildcard include/config/FAIR_GROUP_SCHED) \ - $(wildcard include/config/RT_GROUP_SCHED) \ - $(wildcard include/config/RT_MUTEXES) \ - $(wildcard include/config/UCLAMP_TASK) \ - $(wildcard include/config/UCLAMP_BUCKETS_COUNT) \ - $(wildcard include/config/KMAP_LOCAL) \ - $(wildcard include/config/SCHED_CORE) \ - $(wildcard include/config/CGROUP_SCHED) \ - $(wildcard include/config/BLK_DEV_IO_TRACE) \ - $(wildcard include/config/PSI) \ - $(wildcard include/config/COMPAT_BRK) \ - $(wildcard include/config/CGROUPS) \ - $(wildcard include/config/BLK_CGROUP) \ - $(wildcard include/config/PAGE_OWNER) \ - $(wildcard include/config/EVENTFD) \ - $(wildcard include/config/ARCH_HAS_SCALED_CPUTIME) \ - $(wildcard include/config/VIRT_CPU_ACCOUNTING_GEN) \ - $(wildcard include/config/POSIX_CPUTIMERS) \ - $(wildcard include/config/POSIX_CPU_TIMERS_TASK_WORK) \ - $(wildcard include/config/KEYS) \ - $(wildcard include/config/SYSVIPC) \ - $(wildcard include/config/DETECT_HUNG_TASK) \ - $(wildcard include/config/IO_URING) \ - $(wildcard include/config/AUDIT) \ - $(wildcard include/config/AUDITSYSCALL) \ - $(wildcard include/config/UBSAN) \ - $(wildcard include/config/UBSAN_TRAP) \ - $(wildcard include/config/BLOCK) \ - $(wildcard include/config/TASK_XACCT) \ - $(wildcard include/config/CPUSETS) \ - $(wildcard include/config/X86_CPU_RESCTRL) \ - $(wildcard include/config/FUTEX) \ - $(wildcard include/config/PERF_EVENTS) \ - $(wildcard include/config/RSEQ) \ - $(wildcard include/config/TASK_DELAY_ACCT) \ - $(wildcard include/config/FAULT_INJECTION) \ - $(wildcard include/config/LATENCYTOP) \ - $(wildcard include/config/KUNIT) \ - $(wildcard include/config/FUNCTION_GRAPH_TRACER) \ - $(wildcard include/config/BCACHE) \ - $(wildcard include/config/VMAP_STACK) \ - $(wildcard include/config/SECURITY) \ - $(wildcard include/config/BPF_SYSCALL) \ - $(wildcard include/config/GCC_PLUGIN_STACKLEAK) \ - $(wildcard include/config/X86_MCE) \ - $(wildcard include/config/KRETPROBES) \ - $(wildcard include/config/ARCH_HAS_PARANOID_L1D_FLUSH) \ - $(wildcard include/config/ARCH_TASK_STRUCT_ON_STACK) \ - $(wildcard include/config/DEBUG_RSEQ) \ - include/uapi/linux/sched.h \ - include/linux/pid.h \ - include/linux/rculist.h \ - $(wildcard include/config/PROVE_RCU_LIST) \ - include/linux/sem.h \ - include/uapi/linux/sem.h \ - include/linux/ipc.h \ - include/linux/rhashtable-types.h \ - include/uapi/linux/ipc.h \ - arch/x86/include/generated/uapi/asm/ipcbuf.h \ - include/uapi/asm-generic/ipcbuf.h \ - arch/x86/include/uapi/asm/sembuf.h \ - include/linux/shm.h \ - include/uapi/linux/shm.h \ - include/uapi/asm-generic/hugetlb_encode.h \ - arch/x86/include/uapi/asm/shmbuf.h \ - include/uapi/asm-generic/shmbuf.h \ - arch/x86/include/asm/shmparam.h \ - include/linux/plist.h \ - $(wildcard include/config/DEBUG_PLIST) \ - include/linux/hrtimer.h \ - $(wildcard include/config/HIGH_RES_TIMERS) \ - $(wildcard include/config/TIME_LOW_RES) \ - $(wildcard include/config/TIMERFD) \ - include/linux/hrtimer_defs.h \ - include/linux/timerqueue.h \ - include/linux/seccomp.h \ - $(wildcard include/config/SECCOMP) \ - $(wildcard include/config/HAVE_ARCH_SECCOMP_FILTER) \ - $(wildcard include/config/SECCOMP_FILTER) \ - $(wildcard include/config/CHECKPOINT_RESTORE) \ - $(wildcard include/config/SECCOMP_CACHE_DEBUG) \ - include/uapi/linux/seccomp.h \ - arch/x86/include/asm/seccomp.h \ - arch/x86/include/asm/unistd.h \ - arch/x86/include/uapi/asm/unistd.h \ - arch/x86/include/generated/uapi/asm/unistd_64.h \ - arch/x86/include/generated/asm/unistd_64_x32.h \ - arch/x86/include/generated/asm/unistd_32_ia32.h \ - arch/x86/include/asm/ia32_unistd.h \ - include/asm-generic/seccomp.h \ - include/uapi/linux/unistd.h \ - include/linux/resource.h \ - include/uapi/linux/resource.h \ - arch/x86/include/generated/uapi/asm/resource.h \ - include/asm-generic/resource.h \ - include/uapi/asm-generic/resource.h \ - include/linux/latencytop.h \ - include/linux/sched/prio.h \ - include/linux/sched/types.h \ - include/linux/signal_types.h \ - $(wildcard include/config/OLD_SIGACTION) \ - include/uapi/linux/signal.h \ - arch/x86/include/asm/signal.h \ - arch/x86/include/uapi/asm/signal.h \ - include/uapi/asm-generic/signal-defs.h \ - arch/x86/include/uapi/asm/siginfo.h \ - include/uapi/asm-generic/siginfo.h \ - include/linux/syscall_user_dispatch.h \ - include/linux/task_io_accounting.h \ - $(wildcard include/config/TASK_IO_ACCOUNTING) \ - include/linux/posix-timers.h \ - include/linux/alarmtimer.h \ - $(wildcard include/config/RTC_CLASS) \ - include/linux/task_work.h \ - include/uapi/linux/rseq.h \ - include/linux/kcsan.h \ - arch/x86/include/generated/asm/kmap_size.h \ - include/asm-generic/kmap_size.h \ - $(wildcard include/config/DEBUG_KMAP_LOCAL) \ - include/linux/energy_model.h \ - include/linux/sched/cpufreq.h \ - $(wildcard include/config/CPU_FREQ) \ - include/linux/sched/topology.h \ - $(wildcard include/config/SCHED_DEBUG) \ - $(wildcard include/config/SCHED_MC) \ - $(wildcard include/config/CPU_FREQ_GOV_SCHEDUTIL) \ - include/linux/sched/idle.h \ - include/linux/sched/sd_flags.h \ - include/linux/ioport.h \ - include/linux/klist.h \ - include/linux/pm.h \ - $(wildcard include/config/VT_CONSOLE_SLEEP) \ - $(wildcard include/config/PM_CLK) \ - $(wildcard include/config/PM_GENERIC_DOMAINS) \ - include/linux/device/bus.h \ - include/linux/device/class.h \ - include/linux/device/driver.h \ - arch/x86/include/asm/device.h \ - include/linux/pm_wakeup.h \ - include/uapi/linux/usb/ch9.h \ - include/linux/delay.h \ - arch/x86/include/asm/delay.h \ - include/asm-generic/delay.h \ - include/linux/interrupt.h \ - $(wildcard include/config/IRQ_FORCED_THREADING) \ - $(wildcard include/config/GENERIC_IRQ_PROBE) \ - $(wildcard include/config/IRQ_TIMINGS) \ - include/linux/irqreturn.h \ - include/linux/irqnr.h \ - include/uapi/linux/irqnr.h \ - include/linux/hardirq.h \ - include/linux/context_tracking_state.h \ - $(wildcard include/config/CONTEXT_TRACKING) \ - include/linux/ftrace_irq.h \ - $(wildcard include/config/HWLAT_TRACER) \ - $(wildcard include/config/OSNOISE_TRACER) \ - include/linux/vtime.h \ - $(wildcard include/config/VIRT_CPU_ACCOUNTING) \ - $(wildcard include/config/IRQ_TIME_ACCOUNTING) \ - arch/x86/include/asm/hardirq.h \ - $(wildcard include/config/KVM_INTEL) \ - $(wildcard include/config/HAVE_KVM) \ - $(wildcard include/config/X86_THERMAL_VECTOR) \ - $(wildcard include/config/X86_MCE_THRESHOLD) \ - $(wildcard include/config/X86_MCE_AMD) \ - $(wildcard include/config/X86_HV_CALLBACK_VECTOR) \ - $(wildcard include/config/HYPERV) \ - arch/x86/include/asm/irq.h \ - arch/x86/include/asm/irq_vectors.h \ - $(wildcard include/config/X86_IO_APIC) \ - $(wildcard include/config/PCI_MSI) \ - arch/x86/include/asm/sections.h \ - include/asm-generic/sections.h \ - arch/x86/include/asm/extable.h \ - $(wildcard include/config/BPF_JIT) \ - include/linux/fs.h \ - $(wildcard include/config/READ_ONLY_THP_FOR_FS) \ - $(wildcard include/config/FS_POSIX_ACL) \ - $(wildcard include/config/CGROUP_WRITEBACK) \ - $(wildcard include/config/IMA) \ - $(wildcard include/config/FILE_LOCKING) \ - $(wildcard include/config/FSNOTIFY) \ - $(wildcard include/config/FS_ENCRYPTION) \ - $(wildcard include/config/FS_VERITY) \ - $(wildcard include/config/EPOLL) \ - $(wildcard include/config/UNICODE) \ - $(wildcard include/config/QUOTA) \ - $(wildcard include/config/BLK_DEV_LOOP) \ - $(wildcard include/config/FS_DAX) \ - $(wildcard include/config/MIGRATION) \ - include/linux/wait_bit.h \ - include/linux/kdev_t.h \ - include/uapi/linux/kdev_t.h \ - include/linux/dcache.h \ - include/linux/rculist_bl.h \ - include/linux/list_bl.h \ - include/linux/bit_spinlock.h \ - include/linux/lockref.h \ - $(wildcard include/config/ARCH_USE_CMPXCHG_LOCKREF) \ - include/linux/stringhash.h \ - $(wildcard include/config/DCACHE_WORD_ACCESS) \ - include/linux/hash.h \ - $(wildcard include/config/HAVE_ARCH_HASH) \ - include/linux/path.h \ - include/linux/list_lru.h \ - $(wildcard include/config/MEMCG_KMEM) \ - include/linux/shrinker.h \ - include/linux/capability.h \ - include/uapi/linux/capability.h \ - include/linux/semaphore.h \ - include/linux/fcntl.h \ - $(wildcard include/config/ARCH_32BIT_OFF_T) \ - include/uapi/linux/fcntl.h \ - arch/x86/include/generated/uapi/asm/fcntl.h \ - include/uapi/asm-generic/fcntl.h \ - include/uapi/linux/openat2.h \ - include/linux/migrate_mode.h \ - include/linux/percpu-rwsem.h \ - include/linux/rcuwait.h \ - include/linux/sched/signal.h \ - $(wildcard include/config/SCHED_AUTOGROUP) \ - $(wildcard include/config/BSD_PROCESS_ACCT) \ - $(wildcard include/config/TASKSTATS) \ - $(wildcard include/config/STACK_GROWSUP) \ - include/linux/signal.h \ - $(wildcard include/config/DYNAMIC_SIGFRAME) \ - include/linux/sched/jobctl.h \ - include/linux/sched/task.h \ - $(wildcard include/config/HAVE_EXIT_THREAD) \ - $(wildcard include/config/ARCH_WANTS_DYNAMIC_TASK_STRUCT) \ - $(wildcard include/config/HAVE_ARCH_THREAD_STRUCT_WHITELIST) \ - include/linux/uaccess.h \ - $(wildcard include/config/SET_FS) \ - include/linux/fault-inject-usercopy.h \ - $(wildcard include/config/FAULT_INJECTION_USERCOPY) \ - arch/x86/include/asm/uaccess.h \ - $(wildcard include/config/CC_HAS_ASM_GOTO_OUTPUT) \ - $(wildcard include/config/CC_ASM_GOTO_OUTPUT) \ - $(wildcard include/config/CC_HAS_ASM_GOTO_TIED_OUTPUT) \ - $(wildcard include/config/ARCH_HAS_COPY_MC) \ - $(wildcard include/config/X86_INTEL_USERCOPY) \ - arch/x86/include/asm/smap.h \ - arch/x86/include/asm/uaccess_64.h \ - include/linux/cred.h \ - $(wildcard include/config/DEBUG_CREDENTIALS) \ - include/linux/key.h \ - $(wildcard include/config/KEY_NOTIFICATIONS) \ - $(wildcard include/config/NET) \ - include/linux/assoc_array.h \ - $(wildcard include/config/ASSOCIATIVE_ARRAY) \ - include/linux/sched/user.h \ - $(wildcard include/config/VFIO_PCI_ZDEV_KVM) \ - $(wildcard include/config/WATCH_QUEUE) \ - include/linux/percpu_counter.h \ - include/linux/rcu_sync.h \ - include/linux/delayed_call.h \ - include/linux/errseq.h \ - include/linux/ioprio.h \ - include/linux/sched/rt.h \ - include/linux/iocontext.h \ - include/uapi/linux/ioprio.h \ - include/linux/fs_types.h \ - include/linux/mount.h \ - include/linux/mnt_idmapping.h \ - include/uapi/linux/fs.h \ - include/linux/quota.h \ - $(wildcard include/config/QUOTA_NETLINK_INTERFACE) \ - include/uapi/linux/dqblk_xfs.h \ - include/linux/dqblk_v1.h \ - include/linux/dqblk_v2.h \ - include/linux/dqblk_qtree.h \ - include/linux/projid.h \ - include/uapi/linux/quota.h \ - include/linux/nfs_fs_i.h \ - include/linux/pm_runtime.h \ - include/linux/slab.h \ - $(wildcard include/config/DEBUG_SLAB) \ - $(wildcard include/config/FAILSLAB) \ - $(wildcard include/config/HAVE_HARDENED_USERCOPY_ALLOCATOR) \ - $(wildcard include/config/SLAB) \ - $(wildcard include/config/SLUB) \ - $(wildcard include/config/SLOB) \ - $(wildcard include/config/CC_IS_GCC) \ - $(wildcard include/config/CLANG_VERSION) \ - include/linux/percpu-refcount.h \ - include/linux/kasan.h \ - $(wildcard include/config/KASAN_STACK) \ - $(wildcard include/config/KASAN_VMALLOC) \ - -/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o: $(deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o) - -$(deps_/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o): diff --git a/smartlamp-kernel-module/Module.symvers b/smartlamp-kernel-module/Module.symvers deleted file mode 100644 index e69de29..0000000 diff --git a/smartlamp-kernel-module/modules.order b/smartlamp-kernel-module/modules.order deleted file mode 100644 index f36becb..0000000 --- a/smartlamp-kernel-module/modules.order +++ /dev/null @@ -1 +0,0 @@ -/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.ko diff --git a/smartlamp-kernel-module/probe.ko b/smartlamp-kernel-module/probe.ko deleted file mode 100644 index 2f3ec9f4a6ecf654317f0aa8d802b743a7715bdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231624 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 z 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 UZ)=`*es+C8>pr(~XYl<01A3#+c>n+a diff --git a/smartlamp-kernel-module/probe.mod b/smartlamp-kernel-module/probe.mod deleted file mode 100644 index 93fdef0..0000000 --- a/smartlamp-kernel-module/probe.mod +++ /dev/null @@ -1,2 +0,0 @@ -/home/devtitans-1/git/Hands-On-Linux/smartlamp-kernel-module/probe.o - diff --git a/smartlamp-kernel-module/probe.mod.c b/smartlamp-kernel-module/probe.mod.c deleted file mode 100644 index 4204789..0000000 --- a/smartlamp-kernel-module/probe.mod.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#define INCLUDE_VERMAGIC -#include -#include -#include -#include - -BUILD_SALT; -BUILD_LTO_INFO; - -MODULE_INFO(vermagic, VERMAGIC_STRING); -MODULE_INFO(name, KBUILD_MODNAME); - -__visible struct module __this_module -__section(".gnu.linkonce.this_module") = { - .name = KBUILD_MODNAME, - .init = init_module, -#ifdef CONFIG_MODULE_UNLOAD - .exit = cleanup_module, -#endif - .arch = MODULE_ARCH_INIT, -}; - -#ifdef CONFIG_RETPOLINE -MODULE_INFO(retpoline, "Y"); -#endif - -static const struct modversion_info ____versions[] -__used __section("__versions") = { - { 0xdc658e53, "module_layout" }, - { 0xaad01b89, "usb_deregister" }, - { 0xd670cf94, "usb_register_driver" }, - { 0xd0da656b, "__stack_chk_fail" }, - { 0xeb233a45, "__kmalloc" }, - { 0x93c7edeb, "usb_find_common_endpoints" }, - { 0x5b8239ca, "__x86_return_thunk" }, - { 0x37a0cba, "kfree" }, - { 0x92997ed8, "_printk" }, - { 0xbdfb6dbb, "__fentry__" }, -}; - -MODULE_INFO(depends, ""); - -MODULE_ALIAS("usb:v10C4pEA60d*dc*dsc*dp*ic*isc*ip*in*"); - -MODULE_INFO(srcversion, "570BF91448D07AEE4847187"); diff --git a/smartlamp-kernel-module/probe.mod.o b/smartlamp-kernel-module/probe.mod.o deleted file mode 100644 index 6d40353ab702b7f497eb4ec16b4592cbc77e3a73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50688 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 Mc*zyiZ(IKV0M@$kmjD0& diff --git a/smartlamp-kernel-module/probe.o b/smartlamp-kernel-module/probe.o deleted file mode 100644 index e7554b93be4e3866fbebeaa1819d5ee82d9b4374..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182384 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 If8PK98>&V+k^lez diff --git a/smartlamp-kernel-module/serial.ko b/smartlamp-kernel-module/serial.ko deleted file mode 100644 index 7e00eb7ad295ddcb0a8a58e0f8969620fc63d882..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235600 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

  • AXem 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%0Af+oPv%OHT_UmSMS_Xa)P0!b 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 diff --git a/smartlamp-kernel-module/serial.mod b/smartlamp-kernel-module/serial.mod deleted file mode 100644 index bae2f11..0000000 --- a/smartlamp-kernel-module/serial.mod +++ /dev/null @@ -1,2 +0,0 @@ -/home/devtitans-1/Hands-On-Linux/smartlamp-kernel-module/serial.o - diff --git a/smartlamp-kernel-module/serial.mod.c b/smartlamp-kernel-module/serial.mod.c deleted file mode 100644 index 6706aca..0000000 --- a/smartlamp-kernel-module/serial.mod.c +++ /dev/null @@ -1,49 +0,0 @@ -#include -#define INCLUDE_VERMAGIC -#include -#include -#include -#include - -BUILD_SALT; -BUILD_LTO_INFO; - -MODULE_INFO(vermagic, VERMAGIC_STRING); -MODULE_INFO(name, KBUILD_MODNAME); - -__visible struct module __this_module -__section(".gnu.linkonce.this_module") = { - .name = KBUILD_MODNAME, - .init = init_module, -#ifdef CONFIG_MODULE_UNLOAD - .exit = cleanup_module, -#endif - .arch = MODULE_ARCH_INIT, -}; - -#ifdef CONFIG_RETPOLINE -MODULE_INFO(retpoline, "Y"); -#endif - -static const struct modversion_info ____versions[] -__used __section("__versions") = { - { 0xdc658e53, "module_layout" }, - { 0xaad01b89, "usb_deregister" }, - { 0xd670cf94, "usb_register_driver" }, - { 0xd0da656b, "__stack_chk_fail" }, - { 0xbcab6ee6, "sscanf" }, - { 0x5a921311, "strncmp" }, - { 0x3728f0b7, "usb_bulk_msg" }, - { 0xeb233a45, "__kmalloc" }, - { 0x93c7edeb, "usb_find_common_endpoints" }, - { 0x5b8239ca, "__x86_return_thunk" }, - { 0x37a0cba, "kfree" }, - { 0x92997ed8, "_printk" }, - { 0xbdfb6dbb, "__fentry__" }, -}; - -MODULE_INFO(depends, ""); - -MODULE_ALIAS("usb:v10C4pEA60d*dc*dsc*dp*ic*isc*ip*in*"); - -MODULE_INFO(srcversion, "CA8A0B31229335398E148D9"); diff --git a/smartlamp-kernel-module/serial.mod.o b/smartlamp-kernel-module/serial.mod.o deleted file mode 100644 index 954f0e06b2b980c13fb772b2aea2704b1386785a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50856 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 B1hxPG diff --git a/smartlamp-kernel-module/serial.o b/smartlamp-kernel-module/serial.o deleted file mode 100644 index f7eca9b0d8ac0f733574c189eba04eafdd7ef3dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186192 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

    g)I(@Uc-(c1jfFV9LE^$mBvSls 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 azjZ6h0XX6K+5LB0+b_lE<@n$C|9=Df7*Xl~ From 0c33712c25282a8c8e257577cf3eca663b58975d Mon Sep 17 00:00:00 2001 From: Joao Danilo Date: Tue, 11 Jun 2024 15:48:35 -0400 Subject: [PATCH 08/10] Fixing ignored files --- .gitignore | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..413ac2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.vscode/ +*.cmd +*.symvers +*.order +*.ko +*.mod +*.o +*.mod.c From d86ef60f038c15993fd1308621f7236109ad0a62 Mon Sep 17 00:00:00 2001 From: Joao Danilo Date: Tue, 11 Jun 2024 17:42:24 -0400 Subject: [PATCH 09/10] Adding sysfs driver --- smartlamp-kernel-module/Makefile | 2 +- smartlamp-kernel-module/sysfs.c | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/smartlamp-kernel-module/Makefile b/smartlamp-kernel-module/Makefile index b6a8186..b0415ad 100644 --- a/smartlamp-kernel-module/Makefile +++ b/smartlamp-kernel-module/Makefile @@ -1,4 +1,4 @@ -obj-m += serial.o +obj-m += sysfs.o PWD := $(CURDIR) all: diff --git a/smartlamp-kernel-module/sysfs.c b/smartlamp-kernel-module/sysfs.c index 9f69c66..e044845 100644 --- a/smartlamp-kernel-module/sysfs.c +++ b/smartlamp-kernel-module/sysfs.c @@ -15,8 +15,8 @@ static uint usb_in, usb_out; // Endereços das portas de e static char *usb_in_buffer, *usb_out_buffer; // Buffers de entrada e saída da USB static int usb_max_size; // Tamanho máximo de uma mensagem USB -#define VENDOR_ID SUBSTITUA_PELO_VENDORID /* Encontre o VendorID do smartlamp */ -#define PRODUCT_ID SUBSTITUA_PELO_PRODUCTID /* Encontre o ProductID do smartlamp */ +#define VENDOR_ID 0x10C4 /* Encontre o VendorID do smartlamp */ +#define PRODUCT_ID 0xEA60 /* Encontre o ProductID do smartlamp */ static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} }; static int usb_probe(struct usb_interface *ifce, const struct usb_device_id *id); // Executado quando o dispositivo é conectado na USB @@ -80,6 +80,7 @@ static void usb_disconnect(struct usb_interface *interface) { printk(KERN_INFO "SmartLamp: Dispositivo desconectado.\n"); kfree(usb_in_buffer); // Desaloca buffers kfree(usb_out_buffer); + kobject_put(sys_obj); } static int usb_read_serial() { @@ -116,6 +117,13 @@ static ssize_t attr_show(struct kobject *sys_obj, struct kobj_attribute *attr, c printk(KERN_INFO "SmartLamp: Lendo %s ...\n", attr_name); // Implemente a leitura do valor do led usando a função usb_read_serial() + + if(strcmp("led", attr_name) == 0){ + pr_info("SmartLamp: João Danilo\n"); + } + else if(strcmp("ldr", attr_name) == 0){ + pr_info("SmartLamp: DevTITANS\n"); + } sprintf(buff, "%d\n", value); // Cria a mensagem com o valor do led, ldr @@ -138,6 +146,14 @@ static ssize_t attr_store(struct kobject *sys_obj, struct kobj_attribute *attr, printk(KERN_INFO "SmartLamp: Setando %s para %ld ...\n", attr_name, value); + if(strcmp("led", attr_name) == 0){ + pr_info("SmartLamp: O valor passado foi %ld\n", value); + } + else if(strcmp("ldr", attr_name) == 0){ + pr_err("SmartLamp: Erro ao enviar comando ao LDR\n"); + ret = -1; + } + if (ret < 0) { printk(KERN_ALERT "SmartLamp: erro ao setar o valor do %s.\n", attr_name); return -EACCES; From 14cecac4667ba6c8e1e6a2a798f45a7b40cbe1cd Mon Sep 17 00:00:00 2001 From: Aris Canto Date: Tue, 11 Jun 2024 22:25:38 -0400 Subject: [PATCH 10/10] Change usb_read_serial function --- smartlamp-kernel-module/serial.c | 54 ++++++++++++++++---------------- smartlamp.ino | 33 +++++-------------- 2 files changed, 35 insertions(+), 52 deletions(-) diff --git a/smartlamp-kernel-module/serial.c b/smartlamp-kernel-module/serial.c index db0ce83..c916f06 100644 --- a/smartlamp-kernel-module/serial.c +++ b/smartlamp-kernel-module/serial.c @@ -1,22 +1,23 @@ #include #include #include +#include // Para usar a função strncmp +#include // Para usar a função min +#include // Para usar a função isdigit MODULE_AUTHOR("DevTITANS "); MODULE_DESCRIPTION("Driver de acesso ao SmartLamp (ESP32 com Chip Serial CP2102"); MODULE_LICENSE("GPL"); - #define MAX_RECV_LINE 100 // Tamanho máximo de uma linha de resposta do dispositvo USB - static struct usb_device *smartlamp_device; // Referência para o dispositivo USB static uint usb_in, usb_out; // Endereços das portas de entrada e saida da USB static char *usb_in_buffer, *usb_out_buffer; // Buffers de entrada e saída da USB static int usb_max_size; // Tamanho máximo de uma mensagem USB -#define VENDOR_ID 0x10c4 /* Encontre o VendorID do smartlamp */ -#define PRODUCT_ID 0xea60 /* Encontre o ProductID do smartlamp */ +#define VENDOR_ID 0x10C4 /* Substitua pelo VendorID do SmartLamp */ +#define PRODUCT_ID 0xea60 /* Substitua pelo ProductID do SmartLamp */ static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} }; static int usb_probe(struct usb_interface *ifce, const struct usb_device_id *id); // Executado quando o dispositivo é conectado na USB @@ -39,22 +40,21 @@ module_usb_driver(smartlamp_driver); // Executado quando o dispositivo é conectado na USB static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) { struct usb_endpoint_descriptor *usb_endpoint_in, *usb_endpoint_out; - printk(KERN_INFO "SmartLamp: Dispositivo conectado ...\n"); - // Detecta portas e aloca buffers de entrada e saída de dados na USB smartlamp_device = interface_to_usbdev(interface); - ignore = usb_find_common_endpoints(interface->cur_altsetting, &usb_endpoint_in, &usb_endpoint_out, NULL, NULL); // AQUI + ignore = usb_find_common_endpoints(interface->cur_altsetting, &usb_endpoint_in, &usb_endpoint_out, NULL, NULL); // AQUI + if (ignore) { + printk(KERN_ERR "SmartLamp: Falha ao encontrar endpoints\n"); + return -ENODEV; + } usb_max_size = usb_endpoint_maxp(usb_endpoint_in); usb_in = usb_endpoint_in->bEndpointAddress; usb_out = usb_endpoint_out->bEndpointAddress; usb_in_buffer = kmalloc(usb_max_size, GFP_KERNEL); usb_out_buffer = kmalloc(usb_max_size, GFP_KERNEL); - LDR_value = usb_read_serial(); - - printk("LDR Value: %d\n", LDR_value); - + printk(KERN_INFO "SmartLamp: LDR Value: %d\n", LDR_value); return 0; } @@ -67,29 +67,29 @@ static void usb_disconnect(struct usb_interface *interface) { static int usb_read_serial() { int ret, actual_size; - int retries = 10; // Tenta algumas vezes receber uma resposta da USB. Depois desiste. - + int retries = 10; // Tenta algumas vezes receber uma resposta da USB. Depois desiste. + char *response_prefix = "RES GET_LDR "; + int response_prefix_len = strlen(response_prefix); + int ldr_value = -1; // Espera pela resposta correta do dispositivo (desiste depois de várias tentativas) while (retries > 0) { // Lê os dados da porta serial e armazena em usb_in_buffer - // usb_in_buffer - contem a resposta em string do dispositivo - // actual_size - contem o tamanho da resposta em bytes - ret = usb_bulk_msg(smartlamp_device, usb_rcvbulkpipe(smartlamp_device, usb_in), usb_in_buffer, min(usb_max_size, MAX_RECV_LINE), &actual_size, 1000); - if (ret) { + // usb_in_buffer - contem a resposta em string do dispositivo + // actual_size - contem o tamanho da resposta em bytes + ret = usb_bulk_msg(smartlamp_device, usb_rcvbulkpipe(smartlamp_device, usb_in), usb_in_buffer, min(usb_max_size, MAX_RECV_LINE), &actual_size, 5000); + if (ret) { printk(KERN_ERR "SmartLamp: Erro ao ler dados da USB (tentativa %d). Codigo: %d\n", ret, retries--); continue; } - if(strncmp(usb_out_buffer, "SmartLamp: Dispositivo desconectado.", strlen("RES GET_LDR")) == 0){ - int ldr_value; - sscanf(usb_in_buffer, "RES GET_LDR %d", &ldr_value); + usb_in_buffer[actual_size] = '\0'; // Assegura que o buffer está terminado em null + printk(KERN_INFO "SmartLamp: Dados recebidos: %s\n", usb_in_buffer); + // Verifica se a resposta começa com "RES GET_LDR " + if (strncmp(usb_in_buffer, response_prefix, response_prefix_len) == 0) { + // Extrai o valor após o prefixo + ldr_value = simple_strtol(usb_in_buffer + response_prefix_len, NULL, 10); + printk(KERN_INFO "SmartLamp: LDR Value recebido: %d\n", ldr_value); return ldr_value; - } else { - printk(KERN_WARNING "SmartLamp: Resposta Inesperada da USB: %s\n", usb_in_buffer); } - //caso tenha recebido a mensagem 'RES_LDR X' via serial acesse o buffer 'usb_in_buffer' e retorne apenas o valor da resposta X - //retorne o valor de X em inteiro - return 0; } - - return -1; + return -1; } \ No newline at end of file diff --git a/smartlamp.ino b/smartlamp.ino index a5dd219..212a502 100644 --- a/smartlamp.ino +++ b/smartlamp.ino @@ -1,62 +1,48 @@ // Defina os pinos de LED e LDR // Defina uma variável com valor máximo do LDR (4000) // Defina uma variável para guardar o valor atual do LED (10) -int ledPin = 22; +int ledPin = 25; int ledValue; - -int ldrPin = 12; +int ldrPin = A0; // Faça testes no sensor ldr para encontrar o valor maximo e atribua a variável ldrMax int ldrMax = 4000; void setup() { Serial.begin(9600); - pinMode(ledPin, OUTPUT); pinMode(ldrPin, INPUT); - Serial.printf("SmartLamp Initialized.\n"); - Serial.setTimeout(10); - + delay(8000); processCommand(String("GET_LDR")); } - // Função loop será executada infinitamente pelo ESP32 void loop() { //Obtenha os comandos enviados pela serial //e processe-os com a função processCommand - if (Serial.available() > 0) { String str = Serial.readString(); str.trim(); processCommand(str); } } - - void processCommand(String command) { // compare o comando com os comandos possíveis e execute a ação correspondente - if (command.equals(String("GET_LDR"))) { - Serial.print("RES GET_LDR "); - Serial.print(ldrGetValue()); - Serial.print("\n"); + Serial.printf("RES GET_LDR %d\n", ldrGetValue()); } else if (command.equals(String("GET_LED"))) { - Serial.print("RES GET_LED "); - Serial.print(ledValue); - Serial.print("\n"); + Serial.printf("RES GET_LED %d\n", ledValue); } else if (command.substring(0, 7).equals(String("SET_LED"))) { int set_led_value = command.substring(7).toInt(); if ( set_led_value >= 0 && set_led_value <=100) { ledUpdate(set_led_value); - Serial.println("RES SET_LED 1"); + Serial.printf("RES SET_LED 1"); } else { - Serial.println("RES SET_LED -1"); + Serial.printf("RES SET_LED -1"); } } else { - Serial.println("ERR Unknown command."); + Serial.printf("ERR Unknown command."); } } - // Função para atualizar o valor do LED void ledUpdate(int value) { // Valor deve convertar o valor recebido pelo comando SET_LED para 0 e 255 @@ -65,13 +51,10 @@ void ledUpdate(int value) { ledValue = value; analogWrite(ledPin, led_value_norm); } - // Função para ler o valor do LDR int ldrGetValue() { // Leia o sensor LDR e retorne o valor normalizado entre 0 e 100 // faça testes para encontrar o valor maximo do ldr (exemplo: aponte a lanterna do celular para o sensor) // Atribua o valor para a variável ldrMax e utilize esse valor para a normalização - return map(analogRead(ldrPin), 0, ldrMax, 0, 100); - } \ No newline at end of file