rellermeyer / course_os

CS 439 course OS
BSD 3-Clause "New" or "Revised" License
38 stars 26 forks source link

Virtual Memory #25

Closed ghost closed 4 years ago

ghost commented 10 years ago

Implemented hardware translations so that it's easier to allocate and manage memory

ghost commented 10 years ago

So far I have mapped physical memory (exception stacks, memory mapped io et all), kernel code and kernel data into the virtual address space. Working on enabling the MMU to recognize the page tables, but not sure how to test if it's actually translating addresses correctly.

NULLx76 commented 4 years ago

Virtual memory kind of "works" but is in dire need of an overhaul.

The datastructures for the VAS overwrote the L1 page table, and the system only worked because we overwrote the L1 Page table after the VM did. We discovered this bug by adding page table entries before we initialized the VM, we have currently just limited the amount the VM allocates (1024 instead of 4096 VAS').

I would also propose to relocate the page table to physical address 0x4000 as there is space there anyways between the IVT and the kernel start.

NULLx76 commented 4 years ago

This is currently being worked on in the #45 branch

NULLx76 commented 4 years ago

Resolved by #45