Несмотря на то, что функция init_descriptor_tables вызывает инциализацию как init_gdt так и init_idt, в самом файле gdt.c есть только init_gdt и те функции что ее обслуживают.
Я решил исправить это, добавив в файл gdt.c еще и функцию init_idt, а также те функции что ее обслуживают. В будущем стоит переименовать файл, но пока я воздерживаюсь от этого, чтобы diff был более понятным.
Интересно что файл, с описанием всех структур, которые понадобятся уже есть, это файл descriptor_tables.h и в нем есть необходимые структуры как для init_gdt так и для init_idt. Из чего можно сделать вывод, что разбиение инициализаций idt и gdt - это результат не до конца проведеденного рефакторинга, возможно, вызванного тем, что инициализация idt существенно более "развесистая", чем gdt. Однако они сцеплены вместе и я считаю что разделять их нельзя.
Я приложил схему чтобы работа системными таблицами стала более понятна.
Я также объединил весь контент из README_REALMD.MD и перенес его в README, добавив картинок про запуск в виртуалбоксе, и раздел про настройку запуска в виртуалбоксе и QEMU
Несмотря на то, что функция init_descriptor_tables вызывает инциализацию как init_gdt так и init_idt, в самом файле gdt.c есть только init_gdt и те функции что ее обслуживают.
Я решил исправить это, добавив в файл gdt.c еще и функцию init_idt, а также те функции что ее обслуживают. В будущем стоит переименовать файл, но пока я воздерживаюсь от этого, чтобы diff был более понятным.
Интересно что файл, с описанием всех структур, которые понадобятся уже есть, это файл descriptor_tables.h и в нем есть необходимые структуры как для init_gdt так и для init_idt. Из чего можно сделать вывод, что разбиение инициализаций idt и gdt - это результат не до конца проведеденного рефакторинга, возможно, вызванного тем, что инициализация idt существенно более "развесистая", чем gdt. Однако они сцеплены вместе и я считаю что разделять их нельзя.
Я приложил схему чтобы работа системными таблицами стала более понятна.
Я также объединил весь контент из README_REALMD.MD и перенес его в README, добавив картинок про запуск в виртуалбоксе, и раздел про настройку запуска в виртуалбоксе и QEMU