leo понятно, т.е. на P4 на момент отставки инструкции происходит очередное "переименование регистра" из временного в перманентный и для этого...
а что, аппаратную синхронизацию уже отменили?
Black_mirror атомарность и не нужна, нужна достаточно большая задержка, чтобы каждый (все) процессор добавил 1. #8.
часть решения: add [0], 1 @wait: loop @wait ; достаточно "большой" отрезок времени, чтобы подсчитать количество процессоров mov reg, [0] ; =...
неа, "процессоры начинают выполнение общей для них программы".
пардон, из временных регистров? и чем тогда отличаются временные и перманентные регистры, кроме сохранения состояния регистра на момент отставки...
"JMP @B" и "RET" тоже сбрасывают?
kaspersky про отладчик вообще речь не идёт x) и не обязательно разбирать весь PE-формат (можно и не PE), для начала можно HEX-редактор...
ИМХО простейший способ, экспортировать и пересобрать ядро.
kaspersky лучше всего с утилит для отладки железа, или для работы со структурированными данными (например c PE форматом).
rei3er понятно. кстати сделал EXPORT_SYMBOL для __put_task_struct();
rei3er угу, подходящее решение. но почему?
kemodule.c #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/sched.h>...
insmod: error inserting, в /var/log/messages: Unknown symbol set_cpus_allowed. make проходит без ошибок и предупреждений, если в Makefile...
спасибо, про ядро вообще мало написано, исходники разве что 8) однако make ругается: WARNING: "__put_task_struct" [/root/...ko] undefined!
мм,
подскажите, при сборке ... #include <linux/sched.h> ... static int exec_on_proc(unsigned int CPUs) { cpu_set(CPUs, cpu_mask);...
Great опубликуйте статью ;)
из нового потока тоже не получает контекст главного потока. может структуру CONTEXT неправильно перекодил?
xor ecx, ecx push IdThread push ecx push ecx push ThreadFunc push ecx push ecx call [CreateThread] mov [hThread], eax ; mov eax, dword...
Имена участников (разделяйте запятой).