feature: print_stack working (dont use opti flags, else the stack is broken)

This commit is contained in:
2024-09-17 11:10:41 +02:00
parent 963bf46b62
commit a02931a165
10 changed files with 53 additions and 25 deletions

View File

@ -34,10 +34,10 @@ static void set_gdt_entry_value(uint8_t *target, uint32_t base, uint32_t limit,
target[6] |= (granularity << 4);
}
void initGdt(void)
void init_gdt(void)
{
gdtr->size = 8 * GDT_SIZE - 1;
gdtr->base = (uint32_t)&gdt_entries;
gdtr->base = (uint32_t)&gdt_entries[0];
set_gdt_entry_value(gdt_entries + 0x00, 0, 0, 0, 0); // Null segment
@ -58,7 +58,7 @@ void initGdt(void)
GDT_ACCESS_A_ACCESSED,
GDT_FLAG_32BIT_MODE | GDT_FLAG_PAGE_MODE); // Kernel data
set_gdt_entry_value(
gdt_entries + 0x18, 0, 0x0,
gdt_entries + 0x18, 0, 0xFFFFF,
GDT_ACCESS_P_VALID | GDT_ACCESS_DPL_KERNEL_MODE |
GDT_ACCESS_S_CODE_OR_DATA | GDT_ACCESS_E_NOT_EXECUTABLE |
GDT_ACCESS_DC_CONFORM |