diff options
author | Benji Dial <benji6283@gmail.com> | 2021-03-03 22:43:17 -0500 |
---|---|---|
committer | Benji Dial <benji6283@gmail.com> | 2021-03-03 22:43:17 -0500 |
commit | 81df4702c424f91cca5570ab2554d1d4cbae534d (patch) | |
tree | aa8704b2fdf7a4bd79d85f480dc9fd8f8db02547 /src/kernel/paging.c | |
parent | 43693f88c79467b741b3f899799082e791656d1b (diff) | |
download | portland-os-81df4702c424f91cca5570ab2554d1d4cbae534d.tar.gz |
64kiB kernel area, ps/2 mouse support, signed decimals in knob format
Diffstat (limited to 'src/kernel/paging.c')
-rw-r--r-- | src/kernel/paging.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kernel/paging.c b/src/kernel/paging.c index 0432ab6..dc7ca27 100644 --- a/src/kernel/paging.c +++ b/src/kernel/paging.c @@ -115,11 +115,15 @@ void init_paging() { for (uint32_t i = 0; i < 1048576; ++i) KPAGE_TABLE_0[i] = (i * 4096) | PE_WRITABLE | PE_PRESENT; + KPAGE_TABLE_0[0x00020] &= ~PE_PRESENT; + KPAGE_TABLE_0[0x0002f] &= ~PE_PRESENT; for (uint16_t i = 0; i < 1024; ++i) KPAGE_DIR[i] = (uint32_t)(KPAGE_TABLE_0 + i * 1024) | PE_WRITABLE | PE_PRESENT; for (uint16_t i = 0; i < KERNEL_END / 4096; ++i) kmap[i] = (i * 4096) | PE_USER | PE_PRESENT; + kmap[0x00020] &= ~PE_PRESENT; + kmap[0x0002f] &= ~PE_PRESENT; asm volatile ( "mov $0x00005000, %%eax\n" |