| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | chore: cleanup | Tianhao Wang | 2024-06-11 |
| | | | | | Signed-off-by: Tianhao Wang <shrik3@mailbox.org> | ||
| * | mm: fully map the kernel to high memory | Tianhao Wang | 2024-06-11 |
| | | |||
| * | mm: provide high memory kernel mapping in asm code. | Tianhao Wang | 2024-06-11 |
| | | | | | | | | | | | | | | | | | | we use the first pml4 entry (+one pdp table) to map phy 0~512G to virt 0~512G for init code. This doesn't change. For the kernel to work in higher half memory, we also need to create mapping for it. We take the 256th entry of pml4 entry (hence one additional pdp table). Entry 0~63 are mapped to to the physical memory (with offset 0xffff_8000_0000_0000) Entry 64~127 are not used Entry 128~191 are mapped to the kernel image (text and code) (with offset 0xffff_8020_0000_0000) details in docs/mem_layout.txt | ||
| * | chore: cleanup startup code | Tianhao Wang | 2024-06-11 |
| | | |||
| * | mm: explicitly clear unused entries in init table | Tianhao Wang | 2024-06-11 |
| | | |||
| * | mm: add stack based PMA | Tianhao Wang | 2024-06-11 |
| | | | | | | | | use 8MiB reserved array to manage up to 4GiB of physical memory (4K Pages only) Signed-off-by: Tianhao Wang <shrik3@mailbox.org> | ||
| * | multiboot: basic support for multiboot info | Tianhao Wang | 2024-06-11 |
| | | | | | | | | | well, it's not trivial to use bios function because thanks to grub + multiboot, we are already in protected mode when the startup code takes control. Also the MB info is easier to play with than BIOS (or ACPI) Signed-off-by: Tianhao Wang <shrik3@mailbox.org> | ||
| * | chore | Tianhao Wang | 2024-06-11 |
| | | |||
| * | doc: notes on x86 gdt and segmentation | Tianhao Wang | 2024-06-11 |
| | | |||
| * | chore | Tianhao Wang | 2024-06-11 |
| | | |||
| * | startup: define multiboot headers in linker script | Tianhao Wang | 2024-06-11 |
| | | |||
| * | startup: flatten control flow | Tianhao Wang | 2024-06-11 |
| | | |||
| * | interrupt: add rust binding for idt | Tianhao Wang | 2024-06-11 |
| | | |||
| * | split idt and vectors from startup code | Tianhao Wang | 2024-06-11 |
| | | |||
| * | chore | Tianhao Wang | 2024-06-11 |
| | | |||
| * | interrupt: rename `guardian` to `interrupt_gate` | Tianhao Wang | 2024-06-11 |
| | | |||
| * | pic: initialize with rust code | Tianhao Wang | 2024-06-11 |
| | | |||
| * | cgascr: init cursor in rust code | Tianhao Wang | 2024-06-11 |
| | | |||
| * | re-organize code | Tianhao Wang | 2024-06-11 |
