Skip to content

Conflict with Asahi Ubuntu ARM #5

@Victorvkk38596

Description

@Victorvkk38596

I am trying to install the module in Asahi Ubuntu ARM however I am encountering issues while making the module

EXTRA_CFLAGS="-O0 -g" make -C /lib/modules/uname -r/build M=/home/ubuntu/Desktop/system-register-tools/msr-arm modules make[1]: Entering directory '/usr/src/linux-headers-6.8.0-1008-apple-arm' warning: the compiler differs from the one used to build the kernel The kernel was built by: aarch64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0 You are using: gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0 CC [M] /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_insn.o In file included from /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_insn.c:6: /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:104:37: warning: ‘struct undef_hook’ declared inside parameter list will not be visible outside of this definition or declaration 104 | void register_undef_hook_el1(struct undef_hook *hook); | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:105:39: warning: ‘struct undef_hook’ declared inside parameter list will not be visible outside of this definition or declaration 105 | void unregister_undef_hook_el1(struct undef_hook *hook); | ^~~~~~~~~~ CC [M] /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.o In file included from /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:37: /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:104:37: warning: ‘struct undef_hook’ declared inside parameter list will not be visible outside of this definition or declaration 104 | void register_undef_hook_el1(struct undef_hook *hook); | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:105:39: warning: ‘struct undef_hook’ declared inside parameter list will not be visible outside of this definition or declaration 105 | void unregister_undef_hook_el1(struct undef_hook *hook); | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:78:15: error: variable ‘mrs_hook’ has initializer but incomplete type 78 | static struct undef_hook mrs_hook = { | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:79:10: error: ‘struct undef_hook’ has no member named ‘instr_mask’ 79 | .instr_mask = 0xfff00000, | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:79:23: warning: excess elements in struct initializer 79 | .instr_mask = 0xfff00000, | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:79:23: note: (near initialization for ‘mrs_hook’) /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:80:10: error: ‘struct undef_hook’ has no member named ‘instr_val’ 80 | .instr_val = 0xd5300000, | ^~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:80:23: warning: excess elements in struct initializer 80 | .instr_val = 0xd5300000, | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:80:23: note: (near initialization for ‘mrs_hook’) /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:81:10: error: ‘struct undef_hook’ has no member named ‘pstate_mask’ 81 | .pstate_mask = PSR_MODE_MASK_ALL, | ^~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:35:27: warning: excess elements in struct initializer 35 | #define PSR_MODE_MASK_ALL (0x0) | ^ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:81:24: note: in expansion of macro ‘PSR_MODE_MASK_ALL’ 81 | .pstate_mask = PSR_MODE_MASK_ALL, | ^~~~~~~~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:35:27: note: (near initialization for ‘mrs_hook’) 35 | #define PSR_MODE_MASK_ALL (0x0) | ^ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:81:24: note: in expansion of macro ‘PSR_MODE_MASK_ALL’ 81 | .pstate_mask = PSR_MODE_MASK_ALL, | ^~~~~~~~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:82:10: error: ‘struct undef_hook’ has no member named ‘pstate_val’ 82 | .pstate_val = PSR_MODE_ALL_EL, | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:36:25: warning: excess elements in struct initializer 36 | #define PSR_MODE_ALL_EL (0x0) | ^ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:82:23: note: in expansion of macro ‘PSR_MODE_ALL_EL’ 82 | .pstate_val = PSR_MODE_ALL_EL, | ^~~~~~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:36:25: note: (near initialization for ‘mrs_hook’) 36 | #define PSR_MODE_ALL_EL (0x0) | ^ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:82:23: note: in expansion of macro ‘PSR_MODE_ALL_EL’ 82 | .pstate_val = PSR_MODE_ALL_EL, | ^~~~~~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:83:10: error: ‘struct undef_hook’ has no member named ‘fn’ 83 | .fn = hookers_mrs, | ^~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:83:15: warning: excess elements in struct initializer 83 | .fn = hookers_mrs, | ^~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:83:15: note: (near initialization for ‘mrs_hook’) /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:86:15: error: variable ‘msr_hook’ has initializer but incomplete type 86 | static struct undef_hook msr_hook = { | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:87:10: error: ‘struct undef_hook’ has no member named ‘instr_mask’ 87 | .instr_mask = 0xfff00000, | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:87:23: warning: excess elements in struct initializer 87 | .instr_mask = 0xfff00000, | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:87:23: note: (near initialization for ‘msr_hook’) /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:88:10: error: ‘struct undef_hook’ has no member named ‘instr_val’ 88 | .instr_val = 0xd5100000, | ^~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:88:23: warning: excess elements in struct initializer 88 | .instr_val = 0xd5100000, | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:88:23: note: (near initialization for ‘msr_hook’) /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:89:10: error: ‘struct undef_hook’ has no member named ‘pstate_mask’ 89 | .pstate_mask = PSR_MODE_MASK_ALL, | ^~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:35:27: warning: excess elements in struct initializer 35 | #define PSR_MODE_MASK_ALL (0x0) | ^ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:89:24: note: in expansion of macro ‘PSR_MODE_MASK_ALL’ 89 | .pstate_mask = PSR_MODE_MASK_ALL, | ^~~~~~~~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:35:27: note: (near initialization for ‘msr_hook’) 35 | #define PSR_MODE_MASK_ALL (0x0) | ^ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:89:24: note: in expansion of macro ‘PSR_MODE_MASK_ALL’ 89 | .pstate_mask = PSR_MODE_MASK_ALL, | ^~~~~~~~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:90:10: error: ‘struct undef_hook’ has no member named ‘pstate_val’ 90 | .pstate_val = PSR_MODE_ALL_EL, | ^~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:36:25: warning: excess elements in struct initializer 36 | #define PSR_MODE_ALL_EL (0x0) | ^ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:90:23: note: in expansion of macro ‘PSR_MODE_ALL_EL’ 90 | .pstate_val = PSR_MODE_ALL_EL, | ^~~~~~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:36:25: note: (near initialization for ‘msr_hook’) 36 | #define PSR_MODE_ALL_EL (0x0) | ^ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:90:23: note: in expansion of macro ‘PSR_MODE_ALL_EL’ 90 | .pstate_val = PSR_MODE_ALL_EL, | ^~~~~~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:91:10: error: ‘struct undef_hook’ has no member named ‘fn’ 91 | .fn = hookers_msr, | ^~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:91:15: warning: excess elements in struct initializer 91 | .fn = hookers_msr, | ^~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:91:15: note: (near initialization for ‘msr_hook’) In file included from ./arch/arm64/include/asm/alternative.h:9, from ./arch/arm64/include/asm/lse.h:14, from ./arch/arm64/include/asm/cmpxchg.h:14, from ./arch/arm64/include/asm/atomic.h:16, from ./include/linux/atomic.h:7, from ./include/asm-generic/bitops/atomic.h:5, from ./arch/arm64/include/asm/bitops.h:25, from ./include/linux/bitops.h:68, from ./arch/arm64/include/asm/cache.h:40, from ./include/linux/cache.h:6, from ./include/linux/time.h:5, from ./arch/arm64/include/asm/stat.h:12, from ./include/linux/stat.h:6, from ./include/linux/module.h:13, from /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:15: /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c: In function ‘msr_init’: ./include/linux/init.h:184:22: error: passing argument 1 of ‘class_create’ from incompatible pointer type [-Werror=incompatible-pointer-types] 184 | #define THIS_MODULE (&__this_module) | ~^~~~~~~~~~~~~~~ | | | struct module * /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:325:34: note: in expansion of macro ‘THIS_MODULE’ 325 | msr_class = class_create(THIS_MODULE, "msr"); | ^~~~~~~~~~~ In file included from ./include/linux/device.h:31, from /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:23: ./include/linux/device/class.h:228:54: note: expected ‘const char *’ but argument is of type ‘struct module *’ 228 | struct class * __must_check class_create(const char *name); | ~~~~~~~~~~~~^~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:325:21: error: too many arguments to function ‘class_create’ 325 | msr_class = class_create(THIS_MODULE, "msr"); | ^~~~~~~~~~~~ ./include/linux/device/class.h:228:29: note: declared here 228 | struct class * __must_check class_create(const char *name); | ^~~~~~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:330:28: error: assignment to ‘char * (*)(const struct device *, umode_t *)’ {aka ‘char * (*)(const struct device *, short unsigned int *)’} from incompatible pointer type ‘char * (*)(struct device *, umode_t *)’ {aka ‘char * (*)(struct device *, short unsigned int *)’} [-Werror=incompatible-pointer-types] 330 | msr_class->devnode = msr_devnode; | ^ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:343:33: error: passing argument 1 of ‘register_undef_hook_el1’ from incompatible pointer type [-Werror=incompatible-pointer-types] 343 | register_undef_hook_el1(&mrs_hook); | ^~~~~~~~~ | | | struct undef_hook * /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:104:49: note: expected ‘struct undef_hook *’ but argument is of type ‘struct undef_hook *’ 104 | void register_undef_hook_el1(struct undef_hook *hook); | ~~~~~~~~~~~~~~~~~~~^~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:344:33: error: passing argument 1 of ‘register_undef_hook_el1’ from incompatible pointer type [-Werror=incompatible-pointer-types] 344 | register_undef_hook_el1(&msr_hook); | ^~~~~~~~~ | | | struct undef_hook * /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:104:49: note: expected ‘struct undef_hook *’ but argument is of type ‘struct undef_hook *’ 104 | void register_undef_hook_el1(struct undef_hook *hook); | ~~~~~~~~~~~~~~~~~~~^~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c: In function ‘msr_exit’: /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:365:35: error: passing argument 1 of ‘unregister_undef_hook_el1’ from incompatible pointer type [-Werror=incompatible-pointer-types] 365 | unregister_undef_hook_el1(&mrs_hook); | ^~~~~~~~~ | | | struct undef_hook * /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:105:51: note: expected ‘struct undef_hook *’ but argument is of type ‘struct undef_hook *’ 105 | void unregister_undef_hook_el1(struct undef_hook *hook); | ~~~~~~~~~~~~~~~~~~~^~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:366:35: error: passing argument 1 of ‘unregister_undef_hook_el1’ from incompatible pointer type [-Werror=incompatible-pointer-types] 366 | unregister_undef_hook_el1(&msr_hook); | ^~~~~~~~~ | | | struct undef_hook * /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.h:105:51: note: expected ‘struct undef_hook *’ but argument is of type ‘struct undef_hook *’ 105 | void unregister_undef_hook_el1(struct undef_hook *hook); | ~~~~~~~~~~~~~~~~~~~^~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c: At top level: /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:78:26: error: storage size of ‘mrs_hook’ isn’t known 78 | static struct undef_hook mrs_hook = { | ^~~~~~~~ /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.c:86:26: error: storage size of ‘msr_hook’ isn’t known 86 | static struct undef_hook msr_hook = { | ^~~~~~~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: /home/ubuntu/Desktop/system-register-tools/msr-arm/msr_arm.o] Error 1 make[2]: *** [/usr/src/linux-headers-6.8.0-1008-apple-arm/Makefile:1925: /home/ubuntu/Desktop/system-register-tools/msr-arm] Error 2 make[1]: *** [Makefile:240: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-1008-apple-arm' make: *** [Makefile:10: all] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions