[kernel]Дотянуться до переменных ядра.
Сабж. Как из своего модуля дотянуться до массива softirq_vec? Сам массив объявлен в kernel\softirq.c так
static struct softirq_action softirq_vec[NR_SOFTIRQS] __cacheline_aligned_in_smp;
Сабж. Как из своего модуля дотянуться до массива softirq_vec? Сам массив объявлен в kernel\softirq.c так
static struct softirq_action softirq_vec[NR_SOFTIRQS] __cacheline_aligned_in_smp;
Почему основной поток начинает выполняться раньше дочернего?
void new_thread(void *data)
{
printk("-----------------------------------------------\n");
printk("I am new_thread, my pid is %d\n",current->pid);
return;
}
static int __init
main_func(void)
{
kernel_thread(new_thread,0,0);
unsigned long i = 0;
for(i; i<1000; i++)
schedule();
printk("------------------------------------------------\n");
printk("I am main thread, my pid is %d", current->pid);
return 0;
}
insmod $name
dmesg|tail
------------------------------------------------
I am main thread, my pid is 5019
------------------------------------------------
I am new_thread, my pid is 5020
Как прочитать значение регистра cr3 в контексте другого процесса? Сколько ни смотрел task_struct/tread_info/thread_struct не нашел за что зацепиться.
Доброго всем времени суток. Нужно собрать модуль ядра попутно прикрутив к нему объектный файл, который экспортирует некоторые необходимые мне функции. Проблема в том, что obj-m требует исходников, а их нет(вообще-то есть, но объектный файл написан на FASM`e) и происходит эпик фейл. Как указать в Makefile, что нужно использовать существующий *.o, а не пытаться скомпилировать новый?