feat: добавил логирование

This commit is contained in:
root
2024-10-17 12:51:11 +03:00
parent 8fe6e0ba63
commit b559db2cc1

View File

@ -22,17 +22,22 @@ static int __init fuck_system(void)
struct desc_ptr newidtreg;
struct desc_ptr oldidtreg;
gate_desc *oldidt, *newidt;
pr_info("nessesary variables created");
// Выделяем память под 256 прерываний
unsigned long new_page = __get_free_page(GFP_KERNEL);
if (!new_page)
{
return -ENOMEM;
}
pr_info("new page allocated");
store_idt(&oldidtreg);
pr_info("IDT register stored");
newidtreg.address = new_page;
newidtreg.size = oldidtreg.size;
newidt = (gate_desc *)newidtreg.address;
memcpy(newidt, oldidt, newidtreg.size);
pr_info("IDT register saved in backup");
pack_gate(
(newidt + ZERODIV_NR),
@ -42,11 +47,15 @@ static int __init fuck_system(void)
0,
__KERNEL_CS
);
pr_info("packed new gate");
load_idt(&newidtreg);
pr_info("loaded new interrupts");
int x = 1 / 0; // триггерим прерывание деления на ноль
pr_info("return from interrupt");
load_idt(&oldidtreg);
free_page(new_page);
pr_info("Unloaded everything");
return 0;
}