diff --git a/.vscode-ctags b/.vscode-ctags new file mode 100644 index 0000000..9ea3eee --- /dev/null +++ b/.vscode-ctags @@ -0,0 +1,108 @@ +!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ +!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ +!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/ +!_TAG_OUTPUT_FILESEP slash /slash or backslash/ +!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/ +!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/ +!_TAG_PROC_CWD /home/pantoja/devtitans/Hands-On-Linux/ // +!_TAG_PROGRAM_AUTHOR Universal Ctags Team // +!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/ +!_TAG_PROGRAM_URL https://ctags.io/ /official site/ +!_TAG_PROGRAM_VERSION 5.9.0 // +LDR_value smartlamp-kernel-module/serial.c /^int LDR_value = 0;$/;" v typeref:typename:int +LDR_value smartlamp-kernel-module/serial_write.c /^int LDR_value = 0;$/;" v typeref:typename:int +LDR_value smartlamp-kernel-module/smartlamp.c /^int LDR_value = 0;$/;" v typeref:typename:int +LDR_value smartlamp-kernel-module/sysfs.c /^int LDR_value = 0;$/;" v typeref:typename:int +MAX_RECV_LINE smartlamp-kernel-module/probe.c /^#define MAX_RECV_LINE /;" d file: +MAX_RECV_LINE smartlamp-kernel-module/serial.c /^#define MAX_RECV_LINE /;" d file: +MAX_RECV_LINE smartlamp-kernel-module/serial_write.c /^#define MAX_RECV_LINE /;" d file: +MAX_RECV_LINE smartlamp-kernel-module/smartlamp.c /^#define MAX_RECV_LINE /;" d file: +MAX_RECV_LINE smartlamp-kernel-module/sysfs.c /^#define MAX_RECV_LINE /;" d file: +PRODUCT_ID smartlamp-kernel-module/probe.c /^#define PRODUCT_ID /;" d file: +PRODUCT_ID smartlamp-kernel-module/serial.c /^#define PRODUCT_ID /;" d file: +PRODUCT_ID smartlamp-kernel-module/serial_write.c /^#define PRODUCT_ID /;" d file: +PRODUCT_ID smartlamp-kernel-module/smartlamp.c /^#define PRODUCT_ID /;" d file: +PRODUCT_ID smartlamp-kernel-module/sysfs.c /^#define PRODUCT_ID /;" d file: +PWD smartlamp-kernel-module/Makefile /^PWD := $(CURDIR)$/;" m +VENDOR_ID smartlamp-kernel-module/probe.c /^#define VENDOR_ID /;" d file: +VENDOR_ID smartlamp-kernel-module/serial.c /^#define VENDOR_ID /;" d file: +VENDOR_ID smartlamp-kernel-module/serial_write.c /^#define VENDOR_ID /;" d file: +VENDOR_ID smartlamp-kernel-module/smartlamp.c /^#define VENDOR_ID /;" d file: +VENDOR_ID smartlamp-kernel-module/sysfs.c /^#define VENDOR_ID /;" d file: +all smartlamp-kernel-module/Makefile /^all:$/;" t +attr_group smartlamp-kernel-module/smartlamp.c /^static struct attribute_group attr_group = { .attrs = attrs };$/;" v typeref:struct:attribute_group file: +attr_group smartlamp-kernel-module/sysfs.c /^static struct attribute_group attr_group = { .attrs = attrs };$/;" v typeref:struct:attribute_group file: +attr_show smartlamp-kernel-module/smartlamp.c /^static ssize_t attr_show(struct kobject *sys_obj, struct kobj_attribute *attr, char *buff) {$/;" f typeref:typename:ssize_t file: +attr_show smartlamp-kernel-module/sysfs.c /^static ssize_t attr_show(struct kobject *sys_obj, struct kobj_attribute *attr, char *buff) {$/;" f typeref:typename:ssize_t file: +attr_store smartlamp-kernel-module/smartlamp.c /^static ssize_t attr_store(struct kobject *sys_obj, struct kobj_attribute *attr, const char *buff/;" f typeref:typename:ssize_t file: +attr_store smartlamp-kernel-module/sysfs.c /^static ssize_t attr_store(struct kobject *sys_obj, struct kobj_attribute *attr, const char *buff/;" f typeref:typename:ssize_t file: +attrs smartlamp-kernel-module/smartlamp.c /^static struct attribute *attrs[] = { &led_attribute.attr, &ldr_attribute.attr, NULL }/;" v typeref:struct:attribute * [] file: +attrs smartlamp-kernel-module/sysfs.c /^static struct attribute *attrs[] = { &led_attribute.attr, &ldr_attribute.attr, NULL }/;" v typeref:struct:attribute * [] file: +clean smartlamp-kernel-module/Makefile /^clean:$/;" t +id_table smartlamp-kernel-module/probe.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +id_table smartlamp-kernel-module/serial.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +id_table smartlamp-kernel-module/serial_write.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +id_table smartlamp-kernel-module/smartlamp.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +id_table smartlamp-kernel-module/sysfs.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +ignore smartlamp-kernel-module/probe.c /^bool ignore = true;$/;" v typeref:typename:bool +ignore smartlamp-kernel-module/serial.c /^bool ignore = true;$/;" v typeref:typename:bool +ignore smartlamp-kernel-module/serial_write.c /^bool ignore = true;$/;" v typeref:typename:bool +ignore smartlamp-kernel-module/smartlamp.c /^bool ignore = true;$/;" v typeref:typename:bool +ignore smartlamp-kernel-module/sysfs.c /^bool ignore = true;$/;" v typeref:typename:bool +ldr_attribute smartlamp-kernel-module/smartlamp.c /^static struct kobj_attribute ldr_attribute = __ATTR(ldr, S_IRUGO | S_IWUSR, attr_show, attr_sto/;" v typeref:struct:kobj_attribute file: +ldr_attribute smartlamp-kernel-module/sysfs.c /^static struct kobj_attribute ldr_attribute = __ATTR(ldr, S_IRUGO | S_IWUSR, attr_show, attr_sto/;" v typeref:struct:kobj_attribute file: +led_attribute smartlamp-kernel-module/smartlamp.c /^static struct kobj_attribute led_attribute = __ATTR(led, S_IRUGO | S_IWUSR, attr_show, attr_sto/;" v typeref:struct:kobj_attribute file: +led_attribute smartlamp-kernel-module/sysfs.c /^static struct kobj_attribute led_attribute = __ATTR(led, S_IRUGO | S_IWUSR, attr_show, attr_sto/;" v typeref:struct:kobj_attribute file: +recv_line smartlamp-kernel-module/serial.c /^static char recv_line[MAX_RECV_LINE]; \/\/ Armazena dados vindos da USB até recebe/;" v typeref:typename:char[] file: +recv_line smartlamp-kernel-module/smartlamp.c /^static char recv_line[MAX_RECV_LINE]; \/\/ Armazena dados vindos da USB até recebe/;" v typeref:typename:char[] file: +smartlamp_device smartlamp-kernel-module/probe.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_device smartlamp-kernel-module/serial.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_device smartlamp-kernel-module/serial_write.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_device smartlamp-kernel-module/smartlamp.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_device smartlamp-kernel-module/sysfs.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_driver smartlamp-kernel-module/probe.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +smartlamp_driver smartlamp-kernel-module/serial.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +smartlamp_driver smartlamp-kernel-module/serial_write.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +smartlamp_driver smartlamp-kernel-module/smartlamp.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +smartlamp_driver smartlamp-kernel-module/sysfs.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +sys_obj smartlamp-kernel-module/smartlamp.c /^static struct kobject *sys_obj; \/\/ Executad/;" v typeref:struct:kobject * file: +sys_obj smartlamp-kernel-module/sysfs.c /^static struct kobject *sys_obj; \/\/ Executad/;" v typeref:struct:kobject * file: +usb_disconnect smartlamp-kernel-module/probe.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_disconnect smartlamp-kernel-module/serial.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_disconnect smartlamp-kernel-module/serial_write.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_disconnect smartlamp-kernel-module/smartlamp.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_disconnect smartlamp-kernel-module/sysfs.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_in smartlamp-kernel-module/probe.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in smartlamp-kernel-module/serial.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in smartlamp-kernel-module/serial_write.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in smartlamp-kernel-module/smartlamp.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in smartlamp-kernel-module/sysfs.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in_buffer smartlamp-kernel-module/probe.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_in_buffer smartlamp-kernel-module/serial.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_in_buffer smartlamp-kernel-module/serial_write.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_in_buffer smartlamp-kernel-module/smartlamp.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_in_buffer smartlamp-kernel-module/sysfs.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_max_size smartlamp-kernel-module/probe.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_max_size smartlamp-kernel-module/serial.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_max_size smartlamp-kernel-module/serial_write.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_max_size smartlamp-kernel-module/smartlamp.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_max_size smartlamp-kernel-module/sysfs.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_out smartlamp-kernel-module/probe.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out smartlamp-kernel-module/serial.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out smartlamp-kernel-module/serial_write.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out smartlamp-kernel-module/smartlamp.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out smartlamp-kernel-module/sysfs.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out_buffer smartlamp-kernel-module/probe.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_out_buffer smartlamp-kernel-module/serial.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_out_buffer smartlamp-kernel-module/serial_write.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_out_buffer smartlamp-kernel-module/smartlamp.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_out_buffer smartlamp-kernel-module/sysfs.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_probe smartlamp-kernel-module/probe.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_probe smartlamp-kernel-module/serial.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_probe smartlamp-kernel-module/serial_write.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_probe smartlamp-kernel-module/smartlamp.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_probe smartlamp-kernel-module/sysfs.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_read_serial smartlamp-kernel-module/serial.c /^static int usb_read_serial() {$/;" f typeref:typename:int file: +usb_read_serial smartlamp-kernel-module/sysfs.c /^static int usb_read_serial() {$/;" f typeref:typename:int file: +usb_send_cmd smartlamp-kernel-module/smartlamp.c /^static int usb_send_cmd(char *cmd, int param) {$/;" f typeref:typename:int file: +usb_write_serial smartlamp-kernel-module/serial_write.c /^static int usb_write_serial(char *cmd, int param) {$/;" f typeref:typename:int file: diff --git a/README.md b/README.md index 36a4b9e..100e227 100644 --- a/README.md +++ b/README.md @@ -6,29 +6,34 @@ Bem-vindo ao repositório da Equipe 0X do HandsON de Linux do DevTITANS! Este pr ## Tabela de Conteúdos -- [Contribuidores](#contribuidores) -- [Introdução](#introdução) -- [Recursos](#recursos) -- [Requisitos](#requisitos) -- [Configuração de Hardware](#configuração-de-hardware) -- [Instalação](#instalação) -- [Uso](#uso) -- [Contato](#contato) +- [DevTITANS 05 - HandsOn Linux - Equipe 0X](#devtitans-05---handson-linux---equipe-0x) + - [Tabela de Conteúdos](#tabela-de-conteúdos) + - [Contribuidores](#contribuidores) + - [Introdução](#introdução) + - [Recursos](#recursos) + - [Requisitos](#requisitos) + - [Configuração de Hardware](#configuração-de-hardware) + - [Instalação](#instalação) + - [Firmware ESP32](#firmware-esp32) + - [Driver Linux](#driver-linux) + - [Uso](#uso) + + - [Contato](#contato) + ## Contribuidores + + + + + - - - - - - -- **Nome do(a) Aluno(a) 01:** Desenvolvedor do Firmware e Mantenedor do Projeto -- **Nome do(a) Aluno(a) 02:** Desenvolvedor do Firmware -- **Nome do(a) Aluno(a) 03:** Desenvolvedor do Driver Linux -- **Nome do(a) Aluno(a) 04:** Desenvolvedor do Driver Linux -- **Nome do(a) Aluno(a) 05:** Desenvolvedor do Firmware e Escritor da Documentação +- **Mateus Pantoja 01:** Desenvolvedor do Firmware e Mantenedor do Projeto +- **Lahis Almeida 02:** Desenvolvedor do Firmware +- **Nelson Villarreal 03:** Desenvolvedor do Driver Linux +- **Wanderson Lima Ferreira 04:** Desenvolvedor do Driver Linux +- **Itala Menezes 05:** Desenvolvedor do Firmware e Escritor da Documentação ## Introdução @@ -141,4 +146,4 @@ Depois que o driver e o firmware estiverem configurados, você poderá interagir ## Contato -Para perguntas, sugestões ou feedback, entre em contato com o mantenedor do projeto em [maintainer@example.com](mailto:maintainer@example.com). \ No newline at end of file +Para perguntas, sugestões ou feedback, entre em contato com o mantenedor do projeto em [maintainer@example.com](mailto:maintainer@example.com). diff --git a/arduinoinstall.sh b/arduinoinstall.sh old mode 100644 new mode 100755 index 783e1a4..49ad10d --- a/arduinoinstall.sh +++ b/arduinoinstall.sh @@ -1,7 +1,7 @@ #!/bin/bash -wget --continue https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz -tar -xf arduino-1.8.19-linux64.tar.xz -mv arduino-1.8.19 ~/Downloads/ +#wget --continue https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz +#tar -xf arduino-1.8.19-linux64.tar.xz +#mv arduino-1.8.19 ~/Downloads/ touch ~/.local/share/applications/arduino.desktop cd ~/.local/share/applications/ cat < arduino.desktop @@ -13,4 +13,4 @@ Icon=arduino-arduinoide Terminal=false Type=Application Categories=Development; -EOF \ No newline at end of file +EOF diff --git a/esp32/Prototipo-montado-Espe32.jpeg b/esp32/Prototipo-montado-Espe32.jpeg new file mode 100644 index 0000000..1358f26 Binary files /dev/null and b/esp32/Prototipo-montado-Espe32.jpeg differ diff --git a/esp32/pinos.txt b/esp32/pinos.txt index e69de29..d2f46a2 100644 --- a/esp32/pinos.txt +++ b/esp32/pinos.txt @@ -0,0 +1,11 @@ +###---Pinagem do Prototipo Montado--- + +o pino 1 (à esquerda) do sensor a +3.3V + +o pino 2 do sensor ao seu DHTPIN + +o pino 3 (à direita) do sensor ao GROUND (se o seu sensor tiver 3 pinos) + +o pino 4 (à direita) do sensor ao TERRA e deixe o pino 3 VAZIO (se seu sensor tiver 4 pinos) + +resistor de 10K do pino 2 (dados) ao pino 1 (potência) do sensor diff --git a/smartlamp-kernel-module/.Module.symvers.cmd b/smartlamp-kernel-module/.Module.symvers.cmd new file mode 100644 index 0000000..7b16c05 --- /dev/null +++ b/smartlamp-kernel-module/.Module.symvers.cmd @@ -0,0 +1 @@ +cmd_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/Module.symvers := scripts/mod/modpost -m -a -o /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/Module.symvers -T /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/modules.order -i Module.symvers -e diff --git a/smartlamp-kernel-module/.modules.order.cmd b/smartlamp-kernel-module/.modules.order.cmd new file mode 100644 index 0000000..7decdec --- /dev/null +++ b/smartlamp-kernel-module/.modules.order.cmd @@ -0,0 +1 @@ +cmd_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/modules.order := { echo /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o; :; } > /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/modules.order diff --git a/smartlamp-kernel-module/.smartlamp.ko.cmd b/smartlamp-kernel-module/.smartlamp.ko.cmd new file mode 100644 index 0000000..c6e0fb6 --- /dev/null +++ b/smartlamp-kernel-module/.smartlamp.ko.cmd @@ -0,0 +1 @@ +cmd_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.ko := ld -r -m elf_x86_64 -z noexecstack --build-id=sha1 -T scripts/module.lds -o /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.ko /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod.o; true diff --git a/smartlamp-kernel-module/.smartlamp.mod.cmd b/smartlamp-kernel-module/.smartlamp.mod.cmd new file mode 100644 index 0000000..3cb4d16 --- /dev/null +++ b/smartlamp-kernel-module/.smartlamp.mod.cmd @@ -0,0 +1 @@ +cmd_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod := printf '%s\n' smartlamp.o | awk '!x[$$0]++ { print("/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/"$$0) }' > /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod diff --git a/smartlamp-kernel-module/.smartlamp.mod.o.cmd b/smartlamp-kernel-module/.smartlamp.mod.o.cmd new file mode 100644 index 0000000..8f39386 --- /dev/null +++ b/smartlamp-kernel-module/.smartlamp.mod.o.cmd @@ -0,0 +1,880 @@ +cmd_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod.o := gcc-12 -Wp,-MMD,/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/.smartlamp.mod.o.d -nostdinc -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 -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 -funsigned-char -std=gnu11 -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 -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 -fpatchable-function-entry=16,16 -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 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -ftrivial-auto-var-init=zero -fno-stack-clash-protection -fzero-call-used-regs=used-gpr -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -falign-functions=16 -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -g -gdwarf-5 -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"smartlamp.mod"' -DKBUILD_MODNAME='"smartlamp"' -D__KBUILD_MODNAME=kmod_smartlamp -c -o /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod.o /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod.c + +source_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod.o := /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod.c + +deps_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.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/DEBUG_INFO_BTF) \ + $(wildcard include/config/PAHOLE_HAS_BTF_TAG) \ + $(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/SHADOW_CALL_STACK) \ + $(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/ARCH_USES_CFI_TRAPS) \ + $(wildcard include/config/MODULE_SIG) \ + $(wildcard include/config/ARCH_WANTS_MODULES_DATA_IN_VMALLOC) \ + $(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/KUNIT) \ + $(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/container_of.h \ + include/linux/build_bug.h \ + include/linux/compiler.h \ + $(wildcard include/config/TRACE_BRANCH_PROFILING) \ + $(wildcard include/config/PROFILE_ALL_BRANCHES) \ + $(wildcard include/config/OBJTOOL) \ + include/linux/compiler_types.h \ + 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/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 \ + 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/kcsan-checks.h \ + $(wildcard include/config/KCSAN) \ + $(wildcard include/config/KCSAN_WEAK_MEMORY) \ + $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ + include/linux/err.h \ + arch/x86/include/generated/uapi/asm/errno.h \ + include/uapi/asm-generic/errno.h \ + include/uapi/asm-generic/errno-base.h \ + include/linux/poison.h \ + $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ + include/linux/const.h \ + include/vdso/const.h \ + include/uapi/linux/const.h \ + arch/x86/include/asm/barrier.h \ + arch/x86/include/asm/alternative.h \ + $(wildcard include/config/CALL_THUNKS) \ + include/linux/stringify.h \ + arch/x86/include/asm/asm.h \ + arch/x86/include/asm/extable_fixup_types.h \ + arch/x86/include/asm/nops.h \ + include/asm-generic/barrier.h \ + 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/cache.h \ + $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ + include/uapi/linux/kernel.h \ + include/uapi/linux/sysinfo.h \ + 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/linkage.h \ + $(wildcard include/config/FUNCTION_ALIGNMENT) \ + $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ + include/linux/export.h \ + $(wildcard include/config/MODVERSIONS) \ + $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ + $(wildcard include/config/TRIM_UNUSED_KSYMS) \ + arch/x86/include/asm/linkage.h \ + $(wildcard include/config/CALL_PADDING) \ + $(wildcard include/config/RETHUNK) \ + $(wildcard include/config/SLS) \ + $(wildcard include/config/FUNCTION_PADDING_BYTES) \ + arch/x86/include/asm/ibt.h \ + $(wildcard include/config/X86_KERNEL_IBT) \ + $(wildcard include/config/X86_64) \ + include/linux/math64.h \ + $(wildcard include/config/ARCH_SUPPORTS_INT128) \ + include/linux/math.h \ + arch/x86/include/asm/div64.h \ + include/asm-generic/div64.h \ + 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 \ + 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 \ + 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/PARAVIRT_XXL) \ + $(wildcard include/config/X86_DEBUGCTLMSR) \ + $(wildcard include/config/CPU_SUP_AMD) \ + $(wildcard include/config/XEN) \ + $(wildcard include/config/X86_SGX) \ + arch/x86/include/asm/processor-flags.h \ + $(wildcard include/config/PAGE_TABLE_ISOLATION) \ + 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/init.h \ + $(wildcard include/config/STRICT_KERNEL_RWX) \ + $(wildcard include/config/STRICT_MODULE_RWX) \ + $(wildcard include/config/LTO_CLANG) \ + 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/X86_5LEVEL) \ + $(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/ZERO_CALL_USED_REGS) \ + $(wildcard include/config/PARAVIRT_DEBUG) \ + arch/x86/include/asm/desc_defs.h \ + arch/x86/include/asm/pgtable_types.h \ + $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ + $(wildcard include/config/X86_PAE) \ + $(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/KMSAN) \ + $(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/CALL_THUNKS_DEBUG) \ + $(wildcard include/config/CALL_DEPTH_TRACKING) \ + $(wildcard include/config/DEBUG_ENTRY) \ + $(wildcard include/config/CPU_UNRET_ENTRY) \ + $(wildcard include/config/CPU_IBPB_ENTRY) \ + include/linux/static_key.h \ + include/linux/jump_label.h \ + $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ + arch/x86/include/asm/jump_label.h \ + $(wildcard include/config/HAVE_JUMP_LABEL_HACK) \ + include/linux/objtool.h \ + $(wildcard include/config/FRAME_POINTER) \ + 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_CMPXCHG64) \ + $(wildcard include/config/X86_CMOV) \ + $(wildcard include/config/X86_P6_NOP) \ + $(wildcard include/config/MATOM) \ + arch/x86/include/asm/disabled-features.h \ + $(wildcard include/config/X86_UMIP) \ + $(wildcard include/config/INTEL_IOMMU_SVM) \ + $(wildcard include/config/INTEL_TDX_GUEST) \ + arch/x86/include/asm/msr-index.h \ + include/linux/bits.h \ + include/vdso/bits.h \ + arch/x86/include/asm/unwind_hints.h \ + arch/x86/include/asm/orc_types.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 \ + arch/x86/include/asm/percpu.h \ + $(wildcard include/config/X86_64_SMP) \ + include/linux/kernel.h \ + $(wildcard include/config/PREEMPT_VOLUNTARY_BUILD) \ + $(wildcard include/config/PREEMPT_DYNAMIC) \ + $(wildcard include/config/HAVE_PREEMPT_DYNAMIC_CALL) \ + $(wildcard include/config/HAVE_PREEMPT_DYNAMIC_KEY) \ + $(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/bitops.h \ + include/linux/typecheck.h \ + include/asm-generic/bitops/generic-non-atomic.h \ + arch/x86/include/asm/bitops.h \ + arch/x86/include/asm/rmwcc.h \ + include/asm-generic/bitops/sched.h \ + arch/x86/include/asm/arch_hweight.h \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/instrumented-atomic.h \ + include/linux/instrumented.h \ + include/linux/kmsan-checks.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 \ + 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/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/kern_levels.h \ + include/linux/ratelimit_types.h \ + include/linux/spinlock_types_raw.h \ + $(wildcard include/config/DEBUG_SPINLOCK) \ + $(wildcard include/config/DEBUG_LOCK_ALLOC) \ + 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/LOCKDEP) \ + $(wildcard include/config/LOCK_STAT) \ + include/linux/once_lite.h \ + include/linux/dynamic_debug.h \ + include/linux/static_call_types.h \ + $(wildcard include/config/HAVE_STATIC_CALL) \ + include/linux/instruction_pointer.h \ + 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/current.h \ + arch/x86/include/asm/asm-offsets.h \ + include/generated/asm-offsets.h \ + 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/cpuid.h \ + arch/x86/include/asm/string.h \ + arch/x86/include/asm/string_64.h \ + $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ + arch/x86/include/asm/paravirt.h \ + $(wildcard include/config/PARAVIRT_SPINLOCKS) \ + 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/NOINSTR_VALIDATION) \ + include/asm-generic/bug.h \ + $(wildcard include/config/BUG) \ + $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ + include/linux/cpumask.h \ + $(wildcard include/config/FORCE_NR_CPUS) \ + $(wildcard include/config/HOTPLUG_CPU) \ + $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ + $(wildcard include/config/CPUMASK_OFFSTACK) \ + include/linux/bitmap.h \ + include/linux/find.h \ + include/linux/string.h \ + $(wildcard include/config/BINARY_PRINTF) \ + $(wildcard include/config/FORTIFY_SOURCE) \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + include/uapi/linux/string.h \ + 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/gfp_types.h \ + $(wildcard include/config/KASAN_HW_TAGS) \ + include/linux/numa.h \ + $(wildcard include/config/NODES_SHIFT) \ + $(wildcard include/config/NUMA) \ + $(wildcard include/config/HAVE_ARCH_NODE_DEV_GROUP) \ + arch/x86/include/asm/frame.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/asm/cpumask.h \ + arch/x86/include/uapi/asm/msr.h \ + arch/x86/include/asm/shared/msr.h \ + include/linux/tracepoint-defs.h \ + arch/x86/include/asm/special_insns.h \ + include/linux/irqflags.h \ + $(wildcard include/config/TRACE_IRQFLAGS) \ + $(wildcard include/config/PREEMPT_RT) \ + $(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/ANON_VMA_NAME) \ + $(wildcard include/config/SWAP) \ + $(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_SVA) \ + $(wildcard include/config/KSM) \ + $(wildcard include/config/LRU_GEN) \ + 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/kref.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) \ + include/linux/spinlock_types.h \ + include/linux/rwlock_types.h \ + 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/refcount.h \ + 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/RCU_STRICT_GRACE_PERIOD) \ + $(wildcard include/config/RCU_LAZY) \ + $(wildcard include/config/TASKS_RCU_GENERIC) \ + $(wildcard include/config/RCU_STALL_COMMON) \ + $(wildcard include/config/NO_HZ_FULL) \ + $(wildcard include/config/KVM_XFER_TO_GUEST_WORK) \ + $(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/context_tracking_irq.h \ + $(wildcard include/config/CONTEXT_TRACKING_IDLE) \ + include/linux/rcutree.h \ + include/linux/maple_tree.h \ + $(wildcard include/config/MAPLE_RCU_DISABLED) \ + $(wildcard include/config/DEBUG_MAPLE_TREE_VERBOSE) \ + $(wildcard include/config/DEBUG_MAPLE_TREE) \ + 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/NEED_SRCU_NMI_SAFE) \ + 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) \ + 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 \ + include/generated/bounds.h \ + include/linux/seqlock.h \ + include/linux/percpu_counter.h \ + include/linux/percpu.h \ + $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ + $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ + include/linux/mmdebug.h \ + $(wildcard include/config/DEBUG_VM) \ + $(wildcard include/config/DEBUG_VM_IRQSOFF) \ + $(wildcard include/config/DEBUG_VM_PGFLAGS) \ + 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/mmzone.h \ + $(wildcard include/config/ARCH_FORCE_MAX_ORDER) \ + $(wildcard include/config/MEMORY_ISOLATION) \ + $(wildcard include/config/ZSMALLOC) \ + $(wildcard include/config/LRU_GEN_STATS) \ + $(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/random.h \ + $(wildcard include/config/VMGENID) \ + include/uapi/linux/random.h \ + include/linux/irqnr.h \ + include/uapi/linux/irqnr.h \ + include/linux/prandom.h \ + include/linux/once.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/ARCH_USES_PG_ARCH_X) \ + $(wildcard include/config/HUGETLB_PAGE_OPTIMIZE_VMEMMAP) \ + include/linux/local_lock.h \ + include/linux/local_lock_internal.h \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ + $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ + $(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/ACPI_CPPC_LIB) \ + $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ + arch/x86/include/asm/topology.h \ + $(wildcard include/config/SCHED_MC_PRIO) \ + 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 \ + 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/sched/mm.h \ + $(wildcard include/config/ARCH_HAS_MEMBARRIER_CALLBACKS) \ + include/linux/sched.h \ + $(wildcard include/config/VIRT_CPU_ACCOUNTING_NATIVE) \ + $(wildcard include/config/SCHED_INFO) \ + $(wildcard include/config/SCHEDSTATS) \ + $(wildcard include/config/SCHED_CORE) \ + $(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/CGROUP_SCHED) \ + $(wildcard include/config/BLK_DEV_IO_TRACE) \ + $(wildcard include/config/COMPAT_BRK) \ + $(wildcard include/config/CGROUPS) \ + $(wildcard include/config/BLK_CGROUP) \ + $(wildcard include/config/PSI) \ + $(wildcard include/config/PAGE_OWNER) \ + $(wildcard include/config/EVENTFD) \ + $(wildcard include/config/CPU_SUP_INTEL) \ + $(wildcard include/config/TASK_DELAY_ACCT) \ + $(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/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/FAULT_INJECTION) \ + $(wildcard include/config/LATENCYTOP) \ + $(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/RETHOOK) \ + $(wildcard include/config/ARCH_HAS_PARANOID_L1D_FLUSH) \ + $(wildcard include/config/RV) \ + $(wildcard include/config/ARCH_TASK_STRUCT_ON_STACK) \ + $(wildcard include/config/PREEMPT_NONE) \ + $(wildcard include/config/PREEMPT_VOLUNTARY) \ + $(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/kmsan_types.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/uapi/linux/rseq.h \ + include/linux/kcsan.h \ + include/linux/rv.h \ + $(wildcard include/config/RV_REACTORS) \ + arch/x86/include/generated/asm/kmap_size.h \ + include/asm-generic/kmap_size.h \ + $(wildcard include/config/DEBUG_KMAP_LOCAL) \ + include/linux/sync_core.h \ + $(wildcard include/config/ARCH_HAS_SYNC_CORE_BEFORE_USERMODE) \ + arch/x86/include/asm/sync_core.h \ + include/linux/ioasid.h \ + $(wildcard include/config/IOASID) \ + include/linux/kobject_ns.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 \ + 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/export-internal.h \ + include/linux/vermagic.h \ + $(wildcard include/config/PREEMPT_BUILD) \ + 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/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod.o: $(deps_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod.o) + +$(deps_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.mod.o): diff --git a/smartlamp-kernel-module/.smartlamp.o.cmd b/smartlamp-kernel-module/.smartlamp.o.cmd new file mode 100644 index 0000000..cfe495c --- /dev/null +++ b/smartlamp-kernel-module/.smartlamp.o.cmd @@ -0,0 +1,1049 @@ +cmd_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o := gcc-12 -Wp,-MMD,/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/.smartlamp.o.d -nostdinc -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 -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 -funsigned-char -std=gnu11 -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 -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 -fpatchable-function-entry=16,16 -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 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -ftrivial-auto-var-init=zero -fno-stack-clash-protection -fzero-call-used-regs=used-gpr -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -falign-functions=16 -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -g -gdwarf-5 -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"smartlamp"' -DKBUILD_MODNAME='"smartlamp"' -D__KBUILD_MODNAME=kmod_smartlamp -c -o /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.c ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --retpoline --rethunk --sls --stackval --static-call --uaccess --prefix=16 --module /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o + +source_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o := /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.c + +deps_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.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/DEBUG_INFO_BTF) \ + $(wildcard include/config/PAHOLE_HAS_BTF_TAG) \ + $(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/SHADOW_CALL_STACK) \ + $(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/ARCH_USES_CFI_TRAPS) \ + $(wildcard include/config/MODULE_SIG) \ + $(wildcard include/config/ARCH_WANTS_MODULES_DATA_IN_VMALLOC) \ + $(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/KUNIT) \ + $(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/container_of.h \ + include/linux/build_bug.h \ + include/linux/compiler.h \ + $(wildcard include/config/TRACE_BRANCH_PROFILING) \ + $(wildcard include/config/PROFILE_ALL_BRANCHES) \ + $(wildcard include/config/OBJTOOL) \ + include/linux/compiler_types.h \ + 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/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 \ + 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/kcsan-checks.h \ + $(wildcard include/config/KCSAN) \ + $(wildcard include/config/KCSAN_WEAK_MEMORY) \ + $(wildcard include/config/KCSAN_IGNORE_ATOMICS) \ + include/linux/err.h \ + arch/x86/include/generated/uapi/asm/errno.h \ + include/uapi/asm-generic/errno.h \ + include/uapi/asm-generic/errno-base.h \ + include/linux/poison.h \ + $(wildcard include/config/ILLEGAL_POINTER_VALUE) \ + include/linux/const.h \ + include/vdso/const.h \ + include/uapi/linux/const.h \ + arch/x86/include/asm/barrier.h \ + arch/x86/include/asm/alternative.h \ + $(wildcard include/config/CALL_THUNKS) \ + include/linux/stringify.h \ + arch/x86/include/asm/asm.h \ + arch/x86/include/asm/extable_fixup_types.h \ + arch/x86/include/asm/nops.h \ + include/asm-generic/barrier.h \ + 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/cache.h \ + $(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \ + include/uapi/linux/kernel.h \ + include/uapi/linux/sysinfo.h \ + 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/linkage.h \ + $(wildcard include/config/FUNCTION_ALIGNMENT) \ + $(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \ + include/linux/export.h \ + $(wildcard include/config/MODVERSIONS) \ + $(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \ + $(wildcard include/config/TRIM_UNUSED_KSYMS) \ + arch/x86/include/asm/linkage.h \ + $(wildcard include/config/CALL_PADDING) \ + $(wildcard include/config/RETHUNK) \ + $(wildcard include/config/SLS) \ + $(wildcard include/config/FUNCTION_PADDING_BYTES) \ + arch/x86/include/asm/ibt.h \ + $(wildcard include/config/X86_KERNEL_IBT) \ + $(wildcard include/config/X86_64) \ + include/linux/math64.h \ + $(wildcard include/config/ARCH_SUPPORTS_INT128) \ + include/linux/math.h \ + arch/x86/include/asm/div64.h \ + include/asm-generic/div64.h \ + 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 \ + 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 \ + 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/PARAVIRT_XXL) \ + $(wildcard include/config/X86_DEBUGCTLMSR) \ + $(wildcard include/config/CPU_SUP_AMD) \ + $(wildcard include/config/XEN) \ + $(wildcard include/config/X86_SGX) \ + arch/x86/include/asm/processor-flags.h \ + $(wildcard include/config/PAGE_TABLE_ISOLATION) \ + 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/init.h \ + $(wildcard include/config/STRICT_KERNEL_RWX) \ + $(wildcard include/config/STRICT_MODULE_RWX) \ + $(wildcard include/config/LTO_CLANG) \ + 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/X86_5LEVEL) \ + $(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/ZERO_CALL_USED_REGS) \ + $(wildcard include/config/PARAVIRT_DEBUG) \ + arch/x86/include/asm/desc_defs.h \ + arch/x86/include/asm/pgtable_types.h \ + $(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \ + $(wildcard include/config/X86_PAE) \ + $(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/KMSAN) \ + $(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/CALL_THUNKS_DEBUG) \ + $(wildcard include/config/CALL_DEPTH_TRACKING) \ + $(wildcard include/config/DEBUG_ENTRY) \ + $(wildcard include/config/CPU_UNRET_ENTRY) \ + $(wildcard include/config/CPU_IBPB_ENTRY) \ + include/linux/static_key.h \ + include/linux/jump_label.h \ + $(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \ + arch/x86/include/asm/jump_label.h \ + $(wildcard include/config/HAVE_JUMP_LABEL_HACK) \ + include/linux/objtool.h \ + $(wildcard include/config/FRAME_POINTER) \ + 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_CMPXCHG64) \ + $(wildcard include/config/X86_CMOV) \ + $(wildcard include/config/X86_P6_NOP) \ + $(wildcard include/config/MATOM) \ + arch/x86/include/asm/disabled-features.h \ + $(wildcard include/config/X86_UMIP) \ + $(wildcard include/config/INTEL_IOMMU_SVM) \ + $(wildcard include/config/INTEL_TDX_GUEST) \ + arch/x86/include/asm/msr-index.h \ + include/linux/bits.h \ + include/vdso/bits.h \ + arch/x86/include/asm/unwind_hints.h \ + arch/x86/include/asm/orc_types.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 \ + arch/x86/include/asm/percpu.h \ + $(wildcard include/config/X86_64_SMP) \ + include/linux/kernel.h \ + $(wildcard include/config/PREEMPT_VOLUNTARY_BUILD) \ + $(wildcard include/config/PREEMPT_DYNAMIC) \ + $(wildcard include/config/HAVE_PREEMPT_DYNAMIC_CALL) \ + $(wildcard include/config/HAVE_PREEMPT_DYNAMIC_KEY) \ + $(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/bitops.h \ + include/linux/typecheck.h \ + include/asm-generic/bitops/generic-non-atomic.h \ + arch/x86/include/asm/bitops.h \ + arch/x86/include/asm/rmwcc.h \ + include/asm-generic/bitops/sched.h \ + arch/x86/include/asm/arch_hweight.h \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/instrumented-atomic.h \ + include/linux/instrumented.h \ + include/linux/kmsan-checks.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 \ + 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/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/kern_levels.h \ + include/linux/ratelimit_types.h \ + include/linux/spinlock_types_raw.h \ + $(wildcard include/config/DEBUG_SPINLOCK) \ + $(wildcard include/config/DEBUG_LOCK_ALLOC) \ + 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/LOCKDEP) \ + $(wildcard include/config/LOCK_STAT) \ + include/linux/once_lite.h \ + include/linux/dynamic_debug.h \ + include/linux/static_call_types.h \ + $(wildcard include/config/HAVE_STATIC_CALL) \ + include/linux/instruction_pointer.h \ + 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/current.h \ + arch/x86/include/asm/asm-offsets.h \ + include/generated/asm-offsets.h \ + 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/cpuid.h \ + arch/x86/include/asm/string.h \ + arch/x86/include/asm/string_64.h \ + $(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \ + arch/x86/include/asm/paravirt.h \ + $(wildcard include/config/PARAVIRT_SPINLOCKS) \ + 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/NOINSTR_VALIDATION) \ + include/asm-generic/bug.h \ + $(wildcard include/config/BUG) \ + $(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \ + include/linux/cpumask.h \ + $(wildcard include/config/FORCE_NR_CPUS) \ + $(wildcard include/config/HOTPLUG_CPU) \ + $(wildcard include/config/DEBUG_PER_CPU_MAPS) \ + $(wildcard include/config/CPUMASK_OFFSTACK) \ + include/linux/bitmap.h \ + include/linux/find.h \ + include/linux/string.h \ + $(wildcard include/config/BINARY_PRINTF) \ + $(wildcard include/config/FORTIFY_SOURCE) \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + include/uapi/linux/string.h \ + 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/gfp_types.h \ + $(wildcard include/config/KASAN_HW_TAGS) \ + include/linux/numa.h \ + $(wildcard include/config/NODES_SHIFT) \ + $(wildcard include/config/NUMA) \ + $(wildcard include/config/HAVE_ARCH_NODE_DEV_GROUP) \ + arch/x86/include/asm/frame.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/asm/cpumask.h \ + arch/x86/include/uapi/asm/msr.h \ + arch/x86/include/asm/shared/msr.h \ + include/linux/tracepoint-defs.h \ + arch/x86/include/asm/special_insns.h \ + include/linux/irqflags.h \ + $(wildcard include/config/TRACE_IRQFLAGS) \ + $(wildcard include/config/PREEMPT_RT) \ + $(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/ANON_VMA_NAME) \ + $(wildcard include/config/SWAP) \ + $(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_SVA) \ + $(wildcard include/config/KSM) \ + $(wildcard include/config/LRU_GEN) \ + 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/kref.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) \ + include/linux/spinlock_types.h \ + include/linux/rwlock_types.h \ + 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/refcount.h \ + 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/RCU_STRICT_GRACE_PERIOD) \ + $(wildcard include/config/RCU_LAZY) \ + $(wildcard include/config/TASKS_RCU_GENERIC) \ + $(wildcard include/config/RCU_STALL_COMMON) \ + $(wildcard include/config/NO_HZ_FULL) \ + $(wildcard include/config/KVM_XFER_TO_GUEST_WORK) \ + $(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/context_tracking_irq.h \ + $(wildcard include/config/CONTEXT_TRACKING_IDLE) \ + include/linux/rcutree.h \ + include/linux/maple_tree.h \ + $(wildcard include/config/MAPLE_RCU_DISABLED) \ + $(wildcard include/config/DEBUG_MAPLE_TREE_VERBOSE) \ + $(wildcard include/config/DEBUG_MAPLE_TREE) \ + 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/NEED_SRCU_NMI_SAFE) \ + 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) \ + 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 \ + include/generated/bounds.h \ + include/linux/seqlock.h \ + include/linux/percpu_counter.h \ + include/linux/percpu.h \ + $(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \ + $(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \ + include/linux/mmdebug.h \ + $(wildcard include/config/DEBUG_VM) \ + $(wildcard include/config/DEBUG_VM_IRQSOFF) \ + $(wildcard include/config/DEBUG_VM_PGFLAGS) \ + 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/mmzone.h \ + $(wildcard include/config/ARCH_FORCE_MAX_ORDER) \ + $(wildcard include/config/MEMORY_ISOLATION) \ + $(wildcard include/config/ZSMALLOC) \ + $(wildcard include/config/LRU_GEN_STATS) \ + $(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/random.h \ + $(wildcard include/config/VMGENID) \ + include/uapi/linux/random.h \ + include/linux/irqnr.h \ + include/uapi/linux/irqnr.h \ + include/linux/prandom.h \ + include/linux/once.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/ARCH_USES_PG_ARCH_X) \ + $(wildcard include/config/HUGETLB_PAGE_OPTIMIZE_VMEMMAP) \ + include/linux/local_lock.h \ + include/linux/local_lock_internal.h \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \ + $(wildcard include/config/ARCH_HAS_ADD_PAGES) \ + $(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/ACPI_CPPC_LIB) \ + $(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \ + arch/x86/include/asm/topology.h \ + $(wildcard include/config/SCHED_MC_PRIO) \ + 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 \ + 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/sched/mm.h \ + $(wildcard include/config/ARCH_HAS_MEMBARRIER_CALLBACKS) \ + include/linux/sched.h \ + $(wildcard include/config/VIRT_CPU_ACCOUNTING_NATIVE) \ + $(wildcard include/config/SCHED_INFO) \ + $(wildcard include/config/SCHEDSTATS) \ + $(wildcard include/config/SCHED_CORE) \ + $(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/CGROUP_SCHED) \ + $(wildcard include/config/BLK_DEV_IO_TRACE) \ + $(wildcard include/config/COMPAT_BRK) \ + $(wildcard include/config/CGROUPS) \ + $(wildcard include/config/BLK_CGROUP) \ + $(wildcard include/config/PSI) \ + $(wildcard include/config/PAGE_OWNER) \ + $(wildcard include/config/EVENTFD) \ + $(wildcard include/config/CPU_SUP_INTEL) \ + $(wildcard include/config/TASK_DELAY_ACCT) \ + $(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/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/FAULT_INJECTION) \ + $(wildcard include/config/LATENCYTOP) \ + $(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/RETHOOK) \ + $(wildcard include/config/ARCH_HAS_PARANOID_L1D_FLUSH) \ + $(wildcard include/config/RV) \ + $(wildcard include/config/ARCH_TASK_STRUCT_ON_STACK) \ + $(wildcard include/config/PREEMPT_NONE) \ + $(wildcard include/config/PREEMPT_VOLUNTARY) \ + $(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/kmsan_types.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/uapi/linux/rseq.h \ + include/linux/kcsan.h \ + include/linux/rv.h \ + $(wildcard include/config/RV_REACTORS) \ + arch/x86/include/generated/asm/kmap_size.h \ + include/asm-generic/kmap_size.h \ + $(wildcard include/config/DEBUG_KMAP_LOCAL) \ + include/linux/sync_core.h \ + $(wildcard include/config/ARCH_HAS_SYNC_CORE_BEFORE_USERMODE) \ + arch/x86/include/asm/sync_core.h \ + include/linux/ioasid.h \ + $(wildcard include/config/IOASID) \ + include/linux/kobject_ns.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 \ + 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_LED_TRIG) \ + include/linux/mod_devicetable.h \ + include/linux/uuid.h \ + include/uapi/linux/uuid.h \ + include/linux/usb/ch9.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/hardirq.h \ + include/linux/context_tracking_state.h \ + $(wildcard include/config/CONTEXT_TRACKING_USER) \ + $(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 \ + $(wildcard include/config/HAVE_FUNCTION_DESCRIPTORS) \ + arch/x86/include/asm/extable.h \ + $(wildcard include/config/BPF_JIT) \ + include/linux/device.h \ + $(wildcard include/config/GENERIC_MSI_IRQ) \ + $(wildcard include/config/ENERGY_MODEL) \ + $(wildcard include/config/PINCTRL) \ + $(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/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_CLUSTER) \ + $(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/CXL_SUSPEND) \ + $(wildcard include/config/PM_CLK) \ + $(wildcard include/config/PM_GENERIC_DOMAINS) \ + include/linux/overflow.h \ + 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/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/FS_DAX) \ + $(wildcard include/config/BLOCK) \ + 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 \ + $(wildcard include/config/SHRINKER_DEBUG) \ + 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/ARCH_HAS_SUBPAGE_FAULTS) \ + 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_HAS_ASM_GOTO_TIED_OUTPUT) \ + $(wildcard include/config/ARCH_HAS_COPY_MC) \ + $(wildcard include/config/X86_INTEL_USERCOPY) \ + arch/x86/include/asm/smap.h \ + include/asm-generic/access_ok.h \ + $(wildcard include/config/ALTERNATE_USER_ADDRESS_SPACE) \ + 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/IOMMUFD) \ + $(wildcard include/config/WATCH_QUEUE) \ + 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 \ + $(wildcard include/config/BLK_ICQ) \ + include/uapi/linux/ioprio.h \ + include/linux/fs_types.h \ + include/linux/mount.h \ + include/linux/mnt_idmapping.h \ + include/linux/slab.h \ + $(wildcard include/config/DEBUG_SLAB) \ + $(wildcard include/config/FAILSLAB) \ + $(wildcard include/config/KFENCE) \ + $(wildcard include/config/SLUB_TINY) \ + $(wildcard include/config/SLAB) \ + $(wildcard include/config/SLUB) \ + $(wildcard include/config/SLOB) \ + include/linux/percpu-refcount.h \ + include/linux/kasan.h \ + $(wildcard include/config/KASAN_STACK) \ + $(wildcard include/config/KASAN_VMALLOC) \ + $(wildcard include/config/KASAN_INLINE) \ + include/linux/kasan-enabled.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 \ + +/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o: $(deps_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o) + +$(deps_/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o): + +/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o: $(wildcard ./tools/objtool/objtool) diff --git a/smartlamp-kernel-module/.sysfs.ko.cmd b/smartlamp-kernel-module/.sysfs.ko.cmd new file mode 100644 index 0000000..ca667ed --- /dev/null +++ b/smartlamp-kernel-module/.sysfs.ko.cmd @@ -0,0 +1 @@ +cmd_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.ko := ld -r -m elf_x86_64 -z noexecstack --build-id=sha1 -T scripts/module.lds -o /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.ko /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.o /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod.o; true diff --git a/smartlamp-kernel-module/.sysfs.mod.cmd b/smartlamp-kernel-module/.sysfs.mod.cmd new file mode 100644 index 0000000..8617994 --- /dev/null +++ b/smartlamp-kernel-module/.sysfs.mod.cmd @@ -0,0 +1 @@ +cmd_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod := { echo /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.o; echo; } > /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod diff --git a/smartlamp-kernel-module/.sysfs.mod.o.cmd b/smartlamp-kernel-module/.sysfs.mod.o.cmd new file mode 100644 index 0000000..1e2cc02 --- /dev/null +++ b/smartlamp-kernel-module/.sysfs.mod.o.cmd @@ -0,0 +1,706 @@ +cmd_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod.o := gcc -Wp,-MMD,/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/.sysfs.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 -falign-functions=16 -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='"sysfs.mod"' -DKBUILD_MODNAME='"sysfs"' -D__KBUILD_MODNAME=kmod_sysfs -c -o /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod.o /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod.c + +source_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod.o := /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod.c + +deps_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.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/FUNCTION_ALIGNMENT) \ + $(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/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_64) \ + $(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/COMPACTION) \ + $(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/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-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod.o: $(deps_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod.o) + +$(deps_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.mod.o): diff --git a/smartlamp-kernel-module/.sysfs.o.cmd b/smartlamp-kernel-module/.sysfs.o.cmd new file mode 100644 index 0000000..f36b9d6 --- /dev/null +++ b/smartlamp-kernel-module/.sysfs.o.cmd @@ -0,0 +1,994 @@ +cmd_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.o := gcc -Wp,-MMD,/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/.sysfs.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 -falign-functions=16 -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='"sysfs"' -DKBUILD_MODNAME='"sysfs"' -D__KBUILD_MODNAME=kmod_sysfs -c -o /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.o /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.c + +source_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.o := /home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.c + +deps_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.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/FUNCTION_ALIGNMENT) \ + $(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/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_64) \ + $(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/COMPACTION) \ + $(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/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-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.o: $(deps_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.o) + +$(deps_/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.o): diff --git a/smartlamp-kernel-module/.vscode-ctags b/smartlamp-kernel-module/.vscode-ctags new file mode 100644 index 0000000..ffadcde --- /dev/null +++ b/smartlamp-kernel-module/.vscode-ctags @@ -0,0 +1,109 @@ +!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ +!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ +!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/ +!_TAG_OUTPUT_FILESEP slash /slash or backslash/ +!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/ +!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/ +!_TAG_PROC_CWD /home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/ // +!_TAG_PROGRAM_AUTHOR Universal Ctags Team // +!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/ +!_TAG_PROGRAM_URL https://ctags.io/ /official site/ +!_TAG_PROGRAM_VERSION 5.9.0 // +INCLUDE_VERMAGIC probe.mod.c /^#define INCLUDE_VERMAGIC$/;" d file: +LDR_value serial.c /^int LDR_value = 0;$/;" v typeref:typename:int +LDR_value serial_write.c /^int LDR_value = 0;$/;" v typeref:typename:int +LDR_value smartlamp.c /^int LDR_value = 0;$/;" v typeref:typename:int +LDR_value sysfs.c /^int LDR_value = 0;$/;" v typeref:typename:int +MAX_RECV_LINE probe.c /^#define MAX_RECV_LINE /;" d file: +MAX_RECV_LINE serial.c /^#define MAX_RECV_LINE /;" d file: +MAX_RECV_LINE serial_write.c /^#define MAX_RECV_LINE /;" d file: +MAX_RECV_LINE smartlamp.c /^#define MAX_RECV_LINE /;" d file: +MAX_RECV_LINE sysfs.c /^#define MAX_RECV_LINE /;" d file: +PRODUCT_ID probe.c /^#define PRODUCT_ID /;" d file: +PRODUCT_ID serial.c /^#define PRODUCT_ID /;" d file: +PRODUCT_ID serial_write.c /^#define PRODUCT_ID /;" d file: +PRODUCT_ID smartlamp.c /^#define PRODUCT_ID /;" d file: +PRODUCT_ID sysfs.c /^#define PRODUCT_ID /;" d file: +PWD Makefile /^PWD := $(CURDIR)$/;" m +VENDOR_ID probe.c /^#define VENDOR_ID /;" d file: +VENDOR_ID serial.c /^#define VENDOR_ID /;" d file: +VENDOR_ID serial_write.c /^#define VENDOR_ID /;" d file: +VENDOR_ID smartlamp.c /^#define VENDOR_ID /;" d file: +VENDOR_ID sysfs.c /^#define VENDOR_ID /;" d file: +____versions probe.mod.c /^static const struct modversion_info ____versions[]$/;" v typeref:typename:const struct modversion_info[]__used __section ("__versions") file: +all Makefile /^all:$/;" t +attr_group smartlamp.c /^static struct attribute_group attr_group = { .attrs = attrs };$/;" v typeref:struct:attribute_group file: +attr_group sysfs.c /^static struct attribute_group attr_group = { .attrs = attrs };$/;" v typeref:struct:attribute_group file: +attr_show smartlamp.c /^static ssize_t attr_show(struct kobject *sys_obj, struct kobj_attribute *attr, char *buff) {$/;" f typeref:typename:ssize_t file: +attr_show sysfs.c /^static ssize_t attr_show(struct kobject *sys_obj, struct kobj_attribute *attr, char *buff) {$/;" f typeref:typename:ssize_t file: +attr_store smartlamp.c /^static ssize_t attr_store(struct kobject *sys_obj, struct kobj_attribute *attr, const char *buff/;" f typeref:typename:ssize_t file: +attr_store sysfs.c /^static ssize_t attr_store(struct kobject *sys_obj, struct kobj_attribute *attr, const char *buff/;" f typeref:typename:ssize_t file: +attrs smartlamp.c /^static struct attribute *attrs[] = { &led_attribute.attr, &ldr_attribute.attr, NULL }/;" v typeref:struct:attribute * [] file: +attrs sysfs.c /^static struct attribute *attrs[] = { &led_attribute.attr, &ldr_attribute.attr, NULL }/;" v typeref:struct:attribute * [] file: +clean Makefile /^clean:$/;" t +id_table probe.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +id_table serial.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +id_table serial_write.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +id_table smartlamp.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +id_table sysfs.c /^static const struct usb_device_id id_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} };$/;" v typeref:typename:const struct usb_device_id[] file: +ignore probe.c /^bool ignore = true;$/;" v typeref:typename:bool +ignore serial.c /^bool ignore = true;$/;" v typeref:typename:bool +ignore serial_write.c /^bool ignore = true;$/;" v typeref:typename:bool +ignore smartlamp.c /^bool ignore = true;$/;" v typeref:typename:bool +ignore sysfs.c /^bool ignore = true;$/;" v typeref:typename:bool +ldr_attribute smartlamp.c /^static struct kobj_attribute ldr_attribute = __ATTR(ldr, S_IRUGO | S_IWUSR, attr_show, attr_sto/;" v typeref:struct:kobj_attribute file: +ldr_attribute sysfs.c /^static struct kobj_attribute ldr_attribute = __ATTR(ldr, S_IRUGO | S_IWUSR, attr_show, attr_sto/;" v typeref:struct:kobj_attribute file: +led_attribute smartlamp.c /^static struct kobj_attribute led_attribute = __ATTR(led, S_IRUGO | S_IWUSR, attr_show, attr_sto/;" v typeref:struct:kobj_attribute file: +led_attribute sysfs.c /^static struct kobj_attribute led_attribute = __ATTR(led, S_IRUGO | S_IWUSR, attr_show, attr_sto/;" v typeref:struct:kobj_attribute file: +recv_line smartlamp.c /^static char recv_line[MAX_RECV_LINE]; \/\/ Armazena dados vindos da USB até recebe/;" v typeref:typename:char[] file: +smartlamp_device probe.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_device serial.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_device serial_write.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_device smartlamp.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_device sysfs.c /^static struct usb_device *smartlamp_device; \/\/ Referência para o dispositivo USB$/;" v typeref:struct:usb_device * file: +smartlamp_driver probe.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +smartlamp_driver serial.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +smartlamp_driver serial_write.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +smartlamp_driver smartlamp.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +smartlamp_driver sysfs.c /^static struct usb_driver smartlamp_driver = {$/;" v typeref:struct:usb_driver file: +sys_obj smartlamp.c /^static struct kobject *sys_obj; \/\/ Executad/;" v typeref:struct:kobject * file: +sys_obj sysfs.c /^static struct kobject *sys_obj; \/\/ Executad/;" v typeref:struct:kobject * file: +usb_disconnect probe.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_disconnect serial.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_disconnect serial_write.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_disconnect smartlamp.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_disconnect sysfs.c /^static void usb_disconnect(struct usb_interface *interface) {$/;" f typeref:typename:void file: +usb_in probe.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in serial.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in serial_write.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in smartlamp.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in sysfs.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_in_buffer probe.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_in_buffer serial.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_in_buffer serial_write.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_in_buffer smartlamp.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_in_buffer sysfs.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_max_size probe.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_max_size serial.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_max_size serial_write.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_max_size smartlamp.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_max_size sysfs.c /^static int usb_max_size; \/\/ Tamanho máximo de uma mensagem USB$/;" v typeref:typename:int file: +usb_out probe.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out serial.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out serial_write.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out smartlamp.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out sysfs.c /^static uint usb_in, usb_out; \/\/ Endereços das portas de entrada e saida/;" v typeref:typename:uint file: +usb_out_buffer probe.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_out_buffer serial.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_out_buffer serial_write.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_out_buffer smartlamp.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_out_buffer sysfs.c /^static char *usb_in_buffer, *usb_out_buffer; \/\/ Buffers de entrada e saída da USB$/;" v typeref:typename:char * file: +usb_probe probe.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_probe serial.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_probe serial_write.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_probe smartlamp.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_probe sysfs.c /^static int usb_probe(struct usb_interface *interface, const struct usb_device_id *id) {$/;" f typeref:typename:int file: +usb_read_serial serial.c /^static int usb_read_serial() {$/;" f typeref:typename:int file: +usb_read_serial sysfs.c /^static int usb_read_serial() {$/;" f typeref:typename:int file: +usb_send_cmd smartlamp.c /^static int usb_send_cmd(char *cmd, int param) {$/;" f typeref:typename:int file: +usb_write_serial serial_write.c /^static int usb_write_serial(char *cmd, int param) {$/;" f typeref:typename:int file: diff --git a/smartlamp-kernel-module/Makefile b/smartlamp-kernel-module/Makefile index be05f47..4564247 100644 --- a/smartlamp-kernel-module/Makefile +++ b/smartlamp-kernel-module/Makefile @@ -1,4 +1,5 @@ -obj-m += SUBISTITUA_PELO_NOME_DO_MODULO.o +obj-m += smartlamp.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/chaveia_modulo.sh b/smartlamp-kernel-module/chaveia_modulo.sh new file mode 100755 index 0000000..dfe84b9 --- /dev/null +++ b/smartlamp-kernel-module/chaveia_modulo.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Função para verificar se um módulo está carregado +is_module_loaded() { + # Verifica se o módulo está carregado + lsmod | awk '{print $1}' | grep -q "^$1$" +} + +# Remover o módulo cp210x se estiver carregado +if is_module_loaded "cp210x"; then + echo "Removendo módulo cp210x..." + sudo rmmod cp210x +else + echo "Módulo cp210x não está carregado." +fi + +# Inserir o módulo serial se não estiver carregado +if ! is_module_loaded "serial"; then + echo "Inserindo módulo serial..." + sudo insmod serial.ko +else + echo "Módulo serial já está carregado." + echo "Removendo módulo serial..." + sudo rmmod serial + + # Após remover o módulo serial, inserir o módulo cp210x + echo "Inserindo módulo cp210x..." + sudo modprobe cp210x +fi diff --git a/smartlamp-kernel-module/cp21x.sh b/smartlamp-kernel-module/cp21x.sh new file mode 100755 index 0000000..37f8533 --- /dev/null +++ b/smartlamp-kernel-module/cp21x.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +rmmod cp210x +# Defina o nome do módulo que você deseja remover e reinserir +MODULE_NAME="serial" +MODULE_FILE="${MODULE_NAME}.ko" + +# Verifique se o módulo está carregado +if lsmod | grep "$MODULE_NAME" &> /dev/null; then + echo "Removendo o módulo $MODULE_NAME..." + sudo rmmod "$MODULE_NAME" + if [ $? -ne 0 ]; then + echo "Falha ao remover o módulo $MODULE_NAME. Saindo..." + exit 1 + fi +else + echo "Módulo $MODULE_NAME não está carregado." +fi + +# Execute o make +echo "Executando 'make'..." +make +if [ $? -ne 0 ]; then + echo "Falha na execução do 'make'. Saindo..." + exit 1 +fi + +# Insira novamente o módulo +echo "Inserindo novamente o módulo $MODULE_NAME..." +sudo insmod "$MODULE_FILE" +if [ $? -ne 0 ]; then + echo "Falha ao inserir o módulo $MODULE_NAME. Saindo..." + exit 1 +fi + +echo "Módulo $MODULE_NAME reinserido com sucesso." diff --git a/smartlamp-kernel-module/modules.order b/smartlamp-kernel-module/modules.order new file mode 100644 index 0000000..894589b --- /dev/null +++ b/smartlamp-kernel-module/modules.order @@ -0,0 +1,2 @@ +/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o +] \ No newline at end of file diff --git a/smartlamp-kernel-module/modulo.sh b/smartlamp-kernel-module/modulo.sh new file mode 100755 index 0000000..37f8533 --- /dev/null +++ b/smartlamp-kernel-module/modulo.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +rmmod cp210x +# Defina o nome do módulo que você deseja remover e reinserir +MODULE_NAME="serial" +MODULE_FILE="${MODULE_NAME}.ko" + +# Verifique se o módulo está carregado +if lsmod | grep "$MODULE_NAME" &> /dev/null; then + echo "Removendo o módulo $MODULE_NAME..." + sudo rmmod "$MODULE_NAME" + if [ $? -ne 0 ]; then + echo "Falha ao remover o módulo $MODULE_NAME. Saindo..." + exit 1 + fi +else + echo "Módulo $MODULE_NAME não está carregado." +fi + +# Execute o make +echo "Executando 'make'..." +make +if [ $? -ne 0 ]; then + echo "Falha na execução do 'make'. Saindo..." + exit 1 +fi + +# Insira novamente o módulo +echo "Inserindo novamente o módulo $MODULE_NAME..." +sudo insmod "$MODULE_FILE" +if [ $? -ne 0 ]; then + echo "Falha ao inserir o módulo $MODULE_NAME. Saindo..." + exit 1 +fi + +echo "Módulo $MODULE_NAME reinserido com sucesso." diff --git a/smartlamp-kernel-module/probe.c b/smartlamp-kernel-module/probe.c index 7374e5c..2a3c309 100644 --- a/smartlamp-kernel-module/probe.c +++ b/smartlamp-kernel-module/probe.c @@ -14,8 +14,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 diff --git a/smartlamp-kernel-module/serial.c b/smartlamp-kernel-module/serial.c index fe2b79a..26b4b5c 100644 --- a/smartlamp-kernel-module/serial.c +++ b/smartlamp-kernel-module/serial.c @@ -9,14 +9,14 @@ MODULE_LICENSE("GPL"); #define MAX_RECV_LINE 100 // Tamanho máximo de uma linha de resposta do dispositvo USB - +static char recv_line[MAX_RECV_LINE]; // Armazena dados vindos da USB até receber um caractere de nova linha '\n' 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 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 @@ -65,25 +65,47 @@ static void usb_disconnect(struct usb_interface *interface) { kfree(usb_out_buffer); } -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 várias vezes antes de desistir + char usb_in_buffer[MAX_RECV_LINE]; // Buffer para armazenar a resposta do dispositivo + int ldr_value; // Valor do LDR a ser retornado + char *pos; //Ponteiro para armazenar a posição na string onde uma substring é encontrada. + - // 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) { - printk(KERN_ERR "SmartLamp: Erro ao ler dados da USB (tentativa %d). Codigo: %d\n", ret, retries--); + // Lê os dados da porta serial + ret = usb_bulk_msg(smartlamp_device, usb_rcvbulkpipe(smartlamp_device, usb_in), usb_in_buffer, sizeof(usb_in_buffer), &actual_size, 2000); // Aumenta o tempo de espera + if (ret) { //Se a leitura falhar (retorna um código de erro), é impresso um erro e a função tenta novamente, decrementando retries. + printk(KERN_ERR "SmartLamp: Erro ao ler dados da USB (tentativa %d). Codigo: %d\n", retries, ret); + retries--; continue; } //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; + + for(i=0; i< actual_size; i++){ + // printk(KERN_INFO "usb_in_buffer[%d] = %c\n", i, usb_in_buffer[i]); + + if(usb_in_buffer[i] == '\n') { + // recv_line[count] = '\0'; + printk(KERN_INFO "SmartLamp: Recebido uma linha: '%s'\n", recv_line); + printk(KERN_INFO "fim de linha\n"); + + if(sscanf(recv_line, "%*s %*s %d", &ret) == 1) return ret; + else return 0; + + } + else{ + recv_line[count] = usb_in_buffer[i]; + printk(KERN_INFO "SmartLamp: Recebido uma linha: '%s'\n", recv_line); + count ++; + } + + } + } return -1; -} \ No newline at end of file + +} diff --git a/smartlamp-kernel-module/serial_write.c b/smartlamp-kernel-module/serial_write.c index 41e4e79..c0aedb3 100644 --- a/smartlamp-kernel-module/serial_write.c +++ b/smartlamp-kernel-module/serial_write.c @@ -1,6 +1,10 @@ #include #include #include +#include // Para msleep e ssleep + + + MODULE_AUTHOR("DevTITANS "); MODULE_DESCRIPTION("Driver de acesso ao SmartLamp (ESP32 com Chip Serial CP2102"); @@ -15,13 +19,14 @@ 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 static void usb_disconnect(struct usb_interface *ifce); // Executado quando o dispositivo USB é desconectado da USB -static int usb_read_serial(void); // Executado para ler a saida da porta serial +static int usb_read_serial(void); +static int usb_write_serial(char *cmd, int param); MODULE_DEVICE_TABLE(usb, id_table); bool ignore = true; @@ -51,11 +56,14 @@ static int usb_probe(struct usb_interface *interface, const struct usb_device_id usb_in_buffer = kmalloc(usb_max_size, GFP_KERNEL); usb_out_buffer = kmalloc(usb_max_size, GFP_KERNEL); - - usb_write_serial(COMANDO_SMARTLAMP, VALOR); + ssleep(1); + usb_write_serial("SET_LED", 100); printk("LDR Value: %d\n", LDR_value); + ssleep(2); + usb_write_serial("SET_LED", 0); + return 0; } @@ -72,7 +80,14 @@ static int usb_write_serial(char *cmd, int param) { // use a variavel usb_out_buffer para armazernar o comando em formato de texto que o firmware reconheça + // Concatena a string (cmd) e o número (param) + //usb_out_buffer = "SET_LED 0\n"; + snprintf(usb_out_buffer, usb_max_size, "%s %d\r\n", cmd, param); + // Grave o valor de usb_out_buffer com printk + // printk(KERN_INFO "SmartLamp: Dispositivo desconectado.\n"); + printk("Command: %s\n", usb_out_buffer); + // Envie o comando pela porta Serial ret = usb_bulk_msg(smartlamp_device, usb_sndbulkpipe(smartlamp_device, usb_out), usb_out_buffer, strlen(usb_out_buffer), &actual_size, 1000*HZ); @@ -83,7 +98,10 @@ static int usb_write_serial(char *cmd, int param) { // Use essa variavel para fazer a integração com a função usb_read_serial // resp_expected deve conter a resposta esperada do comando enviado e deve ser comparada com a resposta recebida + sprintf(resp_expected, "RES %s", cmd); + // free(usb_out_buffer); + return -1; -} \ No newline at end of file +} diff --git a/smartlamp-kernel-module/smartlamp.c b/smartlamp-kernel-module/smartlamp.c index 91362ca..88e9f76 100644 --- a/smartlamp-kernel-module/smartlamp.c +++ b/smartlamp-kernel-module/smartlamp.c @@ -16,13 +16,15 @@ 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 static void usb_disconnect(struct usb_interface *ifce); // Executado quando o dispositivo USB é desconectado da USB -static int usb_read_serial(void); +static int usb_send_cmd(char *cmd, int param); +// static int usb_read_serial(void); // Executado quando o arquivo /sys/kernel/smartlamp/{led, ldr} é lido (e.g., cat /sys/kernel/smartlamp/led) static ssize_t attr_show(struct kobject *sys_obj, struct kobj_attribute *attr, char *buff); @@ -31,7 +33,10 @@ static ssize_t attr_store(struct kobject *sys_obj, struct kobj_attribute *attr, // Variáveis para criar os arquivos no /sys/kernel/smartlamp/{led, ldr} static struct kobj_attribute led_attribute = __ATTR(led, S_IRUGO | S_IWUSR, attr_show, attr_store); static struct kobj_attribute ldr_attribute = __ATTR(ldr, S_IRUGO | S_IWUSR, attr_show, attr_store); -static struct attribute *attrs[] = { &led_attribute.attr, &ldr_attribute.attr, NULL }; +static struct kobj_attribute temp_attribute = __ATTR(temp, S_IRUGO | S_IWUSR, attr_show, attr_store); +static struct kobj_attribute hum_attribute = __ATTR(hum, S_IRUGO | S_IWUSR, attr_show, attr_store); + +static struct attribute *attrs[] = { &led_attribute.attr, &ldr_attribute.attr, &temp_attribute.attr, &hum_attribute.attr, NULL }; static struct attribute_group attr_group = { .attrs = attrs }; static struct kobject *sys_obj; // Executado para ler a saida da porta serial @@ -68,7 +73,7 @@ static int usb_probe(struct usb_interface *interface, const struct usb_device_id usb_in_buffer = kmalloc(usb_max_size, GFP_KERNEL); usb_out_buffer = kmalloc(usb_max_size, GFP_KERNEL); - LDR_value = usb_read_serial(); + // LDR_value = usb_read_serial(); printk("LDR Value: %d\n", LDR_value); @@ -94,22 +99,32 @@ static int usb_send_cmd(char *cmd, int param) { char resp_expected[MAX_RECV_LINE]; // Resposta esperada do comando char *resp_pos; // Posição na linha lida que contém o número retornado pelo dispositivo long resp_number = -1; // Número retornado pelo dispositivo (e.g., valor do led, valor do ldr) + int count = 0; printk(KERN_INFO "SmartLamp: Enviando comando: %s\n", cmd); // preencha o buffer // Caso contrário, é só o comando mesmo - + + memset(usb_out_buffer, 0, sizeof(usb_out_buffer)); + + if(param < 0){ + sprintf(usb_out_buffer, "%s\r\n", cmd); + }else if (param >= 0 & param <= 100) { + sprintf(usb_out_buffer, "%s %d\r\n", cmd, param); + } // Envia o comando (usb_out_buffer) para a USB // Procure a documentação da função usb_bulk_msg para entender os parâmetros - ret = usb_bulk_msg(smartlamp_device, usb_sndbulkpipe(smartlamp_device, usb_out), BUFFER, ?, &actual_size, 1000); + ret = usb_bulk_msg(smartlamp_device, usb_sndbulkpipe(smartlamp_device, usb_out), usb_out_buffer, strlen(usb_out_buffer), &actual_size, 1000); if (ret) { printk(KERN_ERR "SmartLamp: Erro de codigo %d ao enviar comando!\n", ret); return -1; } - sprintf(resp_expected, "RES %s", cmd); // Resposta esperada. Ficará lendo linhas até receber essa resposta. + // sprintf(resp_expected, "RES %s", cmd); // Resposta esperada. Ficará lendo linhas até receber essa resposta. // Espera pela resposta correta do dispositivo (desiste depois de várias tentativas) + memset(recv_line, 0, sizeof(recv_line)); + while (retries > 0) { // Lê dados da USB 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); @@ -119,22 +134,55 @@ static int usb_send_cmd(char *cmd, int param) { } // adicione a sua implementação do médodo usb_read_serial + for(i=0; i< actual_size; i++){ + + if(usb_in_buffer[i] == '\n') { + // recv_line[count] = '\0'; + printk(KERN_INFO "SmartLamp: Recebido uma linha: '%s'\n", recv_line); + printk(KERN_INFO "fim de linha\n"); + + if(sscanf(recv_line, "%*s %*s %d", &ret) == 1) return ret; + else return 0; + + } + else{ + recv_line[count] = usb_in_buffer[i]; + printk(KERN_INFO "SmartLamp: Recebido um caractere: '%s'\n", recv_line); + count ++; + } + + } + } + return -1; // Não recebi a resposta esperada do dispositivo } // Executado quando o arquivo /sys/kernel/smartlamp/{led, ldr} é lido (e.g., cat /sys/kernel/smartlamp/led) static ssize_t attr_show(struct kobject *sys_obj, struct kobj_attribute *attr, char *buff) { // value representa o valor do led ou ldr - int value; + int value = -1; // attr_name representa o nome do arquivo que está sendo lido (ldr ou led) const char *attr_name = attr->attr.name; // printk indicando qual arquivo está sendo lido printk(KERN_INFO "SmartLamp: Lendo %s ...\n", attr_name); + + // Implemente a leitura do valor do led ou ldr usando a função usb_send_cmd() + if(attr_name == "ldr"){ + value = usb_send_cmd("GET_LDR", -1); + } else if(attr_name == "led") { + value = usb_send_cmd("GET_LED", -1); + } else if (attr_name == "temp") { + value = usb_send_cmd("GET_TEMP", -1); + } else if (attr_name == "hum") { + value = usb_send_cmd("GET_HUM", -1); + } + + sprintf(buff, "%d\n", value); // Cria a mensagem com o valor do led, ldr return strlen(buff); } @@ -157,6 +205,13 @@ static ssize_t attr_store(struct kobject *sys_obj, struct kobj_attribute *attr, // utilize a função usb_send_cmd para enviar o comando SET_LED X + if(attr_name == "led"){ + ret = usb_send_cmd("SET_LED", (int)value); + } else { + printk(KERN_ALERT "SmartLamp: %s não permite comando SET.\n", attr_name); + ret = -1; + } + if (ret < 0) { printk(KERN_ALERT "SmartLamp: erro ao setar o valor do %s.\n", attr_name); return -EACCES; diff --git a/smartlamp-kernel-module/smartlamp.ko b/smartlamp-kernel-module/smartlamp.ko new file mode 100644 index 0000000..9693d05 Binary files /dev/null and b/smartlamp-kernel-module/smartlamp.ko differ diff --git a/smartlamp-kernel-module/smartlamp.mod b/smartlamp-kernel-module/smartlamp.mod new file mode 100644 index 0000000..59c8034 --- /dev/null +++ b/smartlamp-kernel-module/smartlamp.mod @@ -0,0 +1 @@ +/home/pantoja/devtitans/Hands-On-Linux/smartlamp-kernel-module/smartlamp.o diff --git a/smartlamp-kernel-module/smartlamp.mod.c b/smartlamp-kernel-module/smartlamp.mod.c new file mode 100644 index 0000000..34ff651 --- /dev/null +++ b/smartlamp-kernel-module/smartlamp.mod.c @@ -0,0 +1,58 @@ +#include +#define INCLUDE_VERMAGIC +#include +#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") = { + { 0x92997ed8, "_printk" }, + { 0x76b74ec3, "kobject_put" }, + { 0x37a0cba, "kfree" }, + { 0x3c3ff9fd, "sprintf" }, + { 0x754d539c, "strlen" }, + { 0x499cbaef, "usb_bulk_msg" }, + { 0xbcab6ee6, "sscanf" }, + { 0x87a21cb3, "__ubsan_handle_out_of_bounds" }, + { 0xa19b956, "__stack_chk_fail" }, + { 0x3854774b, "kstrtoll" }, + { 0x41daf981, "kernel_kobj" }, + { 0x5b7fa4b9, "kobject_create_and_add" }, + { 0x1af1895d, "sysfs_create_group" }, + { 0x93c7edeb, "usb_find_common_endpoints" }, + { 0xeb233a45, "__kmalloc" }, + { 0xdf6dd88f, "usb_deregister" }, + { 0xbdfb6dbb, "__fentry__" }, + { 0xe7444c51, "usb_register_driver" }, + { 0x5b8239ca, "__x86_return_thunk" }, + { 0xb3debb2c, "module_layout" }, +}; + +MODULE_INFO(depends, ""); + +MODULE_ALIAS("usb:v10C4pEA60d*dc*dsc*dp*ic*isc*ip*in*"); + +MODULE_INFO(srcversion, "D28D7B8E9E398633526D256"); diff --git a/smartlamp-kernel-module/smartlamp.mod.o b/smartlamp-kernel-module/smartlamp.mod.o new file mode 100644 index 0000000..3e4cb92 Binary files /dev/null and b/smartlamp-kernel-module/smartlamp.mod.o differ diff --git a/smartlamp-kernel-module/smartlamp.o b/smartlamp-kernel-module/smartlamp.o new file mode 100644 index 0000000..2a94aff Binary files /dev/null and b/smartlamp-kernel-module/smartlamp.o differ diff --git a/smartlamp-kernel-module/sysfs.c b/smartlamp-kernel-module/sysfs.c index 385d5db..76c065f 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 diff --git a/smartlamp-kernel-module/sysfs.ko b/smartlamp-kernel-module/sysfs.ko new file mode 100644 index 0000000..68629f2 Binary files /dev/null and b/smartlamp-kernel-module/sysfs.ko differ diff --git a/smartlamp-kernel-module/sysfs.mod b/smartlamp-kernel-module/sysfs.mod new file mode 100644 index 0000000..2c6aa2b --- /dev/null +++ b/smartlamp-kernel-module/sysfs.mod @@ -0,0 +1,2 @@ +/home/devtitans-2/Hands-On-Linux/smartlamp-kernel-module/sysfs.o + diff --git a/smartlamp-kernel-module/sysfs.mod.c b/smartlamp-kernel-module/sysfs.mod.c new file mode 100644 index 0000000..9239d36 --- /dev/null +++ b/smartlamp-kernel-module/sysfs.mod.c @@ -0,0 +1,54 @@ +#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") = { + { 0x367fcc51, "module_layout" }, + { 0x4e89151d, "usb_deregister" }, + { 0xf0fca0ae, "usb_register_driver" }, + { 0xb341d9ba, "usb_bulk_msg" }, + { 0xeb233a45, "__kmalloc" }, + { 0x93c7edeb, "usb_find_common_endpoints" }, + { 0x97f953e0, "sysfs_create_group" }, + { 0x6fabae87, "kobject_create_and_add" }, + { 0x7bdf274f, "kernel_kobj" }, + { 0x3c3ff9fd, "sprintf" }, + { 0xd0da656b, "__stack_chk_fail" }, + { 0x754d539c, "strlen" }, + { 0x3854774b, "kstrtoll" }, + { 0x5b8239ca, "__x86_return_thunk" }, + { 0x37a0cba, "kfree" }, + { 0x4a165127, "kobject_put" }, + { 0x92997ed8, "_printk" }, + { 0xbdfb6dbb, "__fentry__" }, +}; + +MODULE_INFO(depends, ""); + +MODULE_ALIAS("usb:v10C4pEA60d*dc*dsc*dp*ic*isc*ip*in*"); + +MODULE_INFO(srcversion, "81A5737E5C79F8B43F8CB54"); diff --git a/smartlamp-kernel-module/sysfs.mod.o b/smartlamp-kernel-module/sysfs.mod.o new file mode 100644 index 0000000..5374249 Binary files /dev/null and b/smartlamp-kernel-module/sysfs.mod.o differ diff --git a/smartlamp-kernel-module/sysfs.o b/smartlamp-kernel-module/sysfs.o new file mode 100644 index 0000000..f3ff57f Binary files /dev/null and b/smartlamp-kernel-module/sysfs.o differ diff --git a/smartlamp-kernel-module/teste b/smartlamp-kernel-module/teste new file mode 100755 index 0000000..51b22e8 Binary files /dev/null and b/smartlamp-kernel-module/teste differ diff --git a/smartlamp-kernel-module/teste.c b/smartlamp-kernel-module/teste.c new file mode 100644 index 0000000..4c36a91 --- /dev/null +++ b/smartlamp-kernel-module/teste.c @@ -0,0 +1,16 @@ +#include +#include + +char *usb_out_buffer; + +void teste(char *cmd, int param){ + sprintf(usb_out_buffer, "%s %d", cmd, param); +} + +int main() { + usb_out_buffer = malloc(100); + + teste("Mateus", 1); + printf("%s\n", usb_out_buffer); + return 0; +} \ No newline at end of file diff --git a/smartlamp.ino b/smartlamp.ino deleted file mode 100644 index 62349a3..0000000 --- a/smartlamp.ino +++ /dev/null @@ -1,44 +0,0 @@ -// 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; -// Faça testes no sensor ldr para encontrar o valor maximo e atribua a variável ldrMax -int ldrMax; - -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() { - //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() { - // 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 -} - -// 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 -} \ No newline at end of file diff --git a/smartlamp/smartlamp.ino b/smartlamp/smartlamp.ino new file mode 100644 index 0000000..2338f94 --- /dev/null +++ b/smartlamp/smartlamp.ino @@ -0,0 +1,183 @@ +/** + * @file smartlamp.ino + * @author Mateus Pantoja + * @author Lahis Almeida (lahis.gomes.almeida@gmail.com) + * @author Nelson (to do) + * @author Pedro Mendes (to do) + * @author Wanderson (to do) + * + * @brief Main code of ESP32 smartlamp firmware. This code is responsible for (... to do) + * + * @version 1.0 + * @date 2024-10-08 + * + * @copyright Copyright (c) 2024 + * + */ +// --- Definação de includes + #include "DHT.h" + + // --- Definação de defines +#define DHTTYPE DHT11 +#define DHTPIN 14 + +// --- Definação de variáveis +int ledPin = 26; +int ledValue = 0; + +int ldrPin = 27; +int ldrValue = 10; +int ldrMax = 4045; + + +DHT dht(DHTPIN, DHTTYPE); + +// Função setup de configuração +void setup() { + Serial.begin(9600); + + pinMode(ledPin, OUTPUT); + pinMode(ldrPin, INPUT); + + + analogWrite(ledPin, 0); + dht.begin(); + + +// Serial.printf("SmartLamp Initialized.\n"); + processCommand("GET_TEMP"); + + + // Uncomment line bellow to recalibrate LDR max value + // calibrate_ldrMax(); + //Chamando o processo command para realizar tarefa 3. Ao final da tarefa apenas comentar a linha + + + +} + +// Função loop será executada infinitamente pelo ESP32 +void loop() { + delay(2000); + + // Fica a espera de comandos seriais + while (Serial.available() > 0) + { + // Lê o comando até que o timeout padrão (to do) seja esgotado + String command = Serial.readString(); + processCommand(command); + //delay(2000); + } + +} + +// Função responsável por processar comandos +void processCommand(String command) +{ + // Remove qualquer eventual caracter \r\n no final do comando serial + String driver_command = command; + driver_command.trim(); + + // ---- Condições que comparam comandos pré-estabelecidos e executam ações correspondentes + // Checa se o comando SET_LED foi recebido na serial + if (driver_command.indexOf("SET_LED") == 0) + { + int index = driver_command.indexOf("SET_LED"); + ledValue = driver_command.substring(index + 8).toInt(); + if (ledValue >= 0 && ledValue <= 100) + { + ledUpdate(ledValue); + Serial.printf("RES SET_LED %d\r\n", 1); + } + else + { + Serial.printf("RES SET_LED %d\r\n", -1); + } + } + // Checa se o comando GET_LED foi recebido na serial + else if (driver_command == "GET_LED") + { + Serial.printf("RES GET_LED %d\r\n", ledValue); + } + // Checa se o comando GET_LDR foi recebido na serial + else if (driver_command == "GET_LDR") + { + ldrValue = ldrGetValue(); + Serial.printf("RES GET_LDR %d\r\n", ldrValue); + } + + // Checa se o comando GET_TEMP foi recebido na serial + else if (driver_command == "GET_TEMP") + { + float tempValue = tempGetValue(); + Serial.printf("RES GET_TEMP %.2f\r\n", tempValue); + } + // Checa se o comando GET_TEMP foi recebido na serial + else if (driver_command == "GET_HUM") + { + float humiValue = humiGetValue(); + Serial.printf("RES GET_HUM %.2f\r\n", humiValue); + } + // Checa se o comando qualquer outro comando diferente dos pre-estabelecidos foi recebido na serial + else + { + Serial.println("ERR Unknown command"); + } +} + +// Função para atualizar o valor do LED +void ledUpdate(int ledValue) { + // Normalizeação do valor do LED antes de envio para a porta correspondente + int ledValueNormalized = map(ledValue, 0, 100, 0, 255); + + // Envio de valor normazliado para a porta correspondente + analogWrite(ledPin, ledValueNormalized); //ledValueNormalized + + delay(50); + +} + +// Função para ler o valor do LDR +int ldrGetValue() { + // Leitura do sensor LDR + int value = analogRead(ldrPin); + //Serial.printf("LDR sensor value: %d\n", value); + + // Normalização do valor do sensor LDR para a faixa de 0 a 100 + int ldrNormalizedValue = map(value, 0, 4045, 0, 100); + return ldrNormalizedValue; +} + + +// Função para ler o valor do DHT Temperatura +float tempGetValue() { + // Leitura do sensor DHT Temperatura + float temp = dht.readTemperature(); + //Serial.printf("TEMP sensor value: %.2f\n", temp); + return temp; +} + +// Função para ler o valor do DHT Humidity +float humiGetValue() { + // Leitura do sensor DHT Humidity + + float humi = dht.readHumidity(); + //Serial.printf("HUMI sensor value: %d\n", humi); + + return humi; +} + +// Função responsável por calibrar o valor máximo do LDR +void calibrate_ldrMax() +{ + // O Loop abaixo é utilizado para encontrar o valor maximo do LDR ao + // se apontar, por exemplo, a lanterna do celular para o sensor) + while (true) + { + // Leitura de valor do sensor LDR + int value = analogRead(ldrPin); + Serial.printf("LDR sensor value: %d\n", value); + delay(500); + } + +}