diff options
| author | Aleksa Vučković <aleksav013@gmail.com> | 2021-10-25 22:41:21 +0200 |
|---|---|---|
| committer | Aleksa Vučković <aleksav013@gmail.com> | 2021-10-25 22:41:21 +0200 |
| commit | 39822cdb0acdd1eec66c2e18e0711fd3cd6f033d (patch) | |
| tree | 313eb08002f6e6e1c6564f2d411287745079da22 /src/c/gdt.c | |
| parent | 20dd72e40dc2728d3c5335d860e4b8ab8da14fcc (diff) | |
Adding first 32 IRQs; PIT finally working
Diffstat (limited to 'src/c/gdt.c')
| -rw-r--r-- | src/c/gdt.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/c/gdt.c b/src/c/gdt.c index 8fcda3a..32d070b 100644 --- a/src/c/gdt.c +++ b/src/c/gdt.c @@ -19,7 +19,7 @@ struct gdt_pointer // asm function extern void load_gdt(struct gdt_pointer *gdtp); -struct gdt_entry gdt[3]; +struct gdt_entry gdt[5]; struct gdt_pointer gdtp; void init_gdt_entry(size_t num, uint32_t limit, uint32_t base, uint8_t access, uint8_t limit_flags) @@ -37,12 +37,11 @@ void init_gdt_table() gdtp.size=sizeof(gdt)-1; gdtp.offset=(uint32_t)&gdt; - //null - init_gdt_entry(0,0,0,0,0); - //code - init_gdt_entry(1,0xffffffff,0,0b10011010,0b11001111); - //data - init_gdt_entry(2,0xffffffff,0,0b10010010,0b11001111); + init_gdt_entry(0,0,0,0,0); // null segment + init_gdt_entry(1,0xffffffff,0,0b10011010,0b11001111); // code segment + init_gdt_entry(2,0xffffffff,0,0b10010010,0b11001111); // data segment + init_gdt_entry(3,0xffffffff,0,0b11111010,0b11001111); // user mode code segment + init_gdt_entry(4,0xffffffff,0,0b11110010,0b11001111); // user mode data segment load_gdt(&gdtp); } |
