У меня есть модуль ядра, который я добавил спасибо Modprobe:Как связать модуль ядра с их функцией?
sudo modprobe mymodule
В этом модуле у меня есть некоторые функции, которые я хочу позвонить.
#include <stdio.h>
int main() {
int f = my_foo();
printf("%d", f);
return 0;
}
Как мне нужно связать mymodule, чтобы сделать эту работу. Помоги пожалуйста.
Вы не можете вообще вызывать произвольные внутренние функции ядра из пользовательского пространства. Вместо этого вы должны пройти через какой-то существующий интерфейс, например, создать устройство, открыть его и использовать собственный вызов ioctl() в своем файловом дескрипторе или (более предпочтительные) узлы в sysfs или procfs. Функции ядра, вызываемые из пользовательского пространства, называются syscalls, и добавление/изменение этих параметров рассматривает довольно существенное изменение, что требует должной перекомпиляции не просто нового модуля. –
Является ли ваш модуль блоком или устройством char? Как он регистрируется? –