| 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: add basic paging infra from x86_64 crate | Tianhao Wang | 2024-06-11 |
| | | | | | | | | | | | the x86_64 crate is pretty solid and has a permissive license (Apache/MIT), but I want to make this myself in the future to "experience" the unsafe rust further....Also it has too many abstractions, which is justified as a library, but not ideal for a from sctrach toy OS as it hides the lower end. 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 |
| | | |||
| * | rename wraper -> vector | Tianhao Wang | 2024-06-11 |
| | | |||
| * | chore | Tianhao Wang | 2024-06-11 |
| | | |||
| * | linker: "optimize" section arrangements | Tianhao Wang | 2024-06-11 |
| | | | | | | | | 1. throw vectors in a custom ".reserved" section 2. throw idt in a NOLOAD ".reserved_0" section: save some binary size (like .bss) since we don't care for its initial value. 3. squash all ".data.*" sections from rust into ".data" | ||
| * | interrupt: add rust binding for idt | Tianhao Wang | 2024-06-11 |
| | | |||
| * | formatting code | Tianhao Wang | 2024-06-11 |
| | | |||
| * | split idt and vectors from startup code | Tianhao Wang | 2024-06-11 |
| | | |||
| * | interrupt: rename `guardian` to `interrupt_gate` | Tianhao Wang | 2024-06-11 |
| | | |||
| * | mask interrupt during handler routine | Tianhao Wang | 2024-06-11 |
| | | |||
| * | pic: initialize with rust code | Tianhao Wang | 2024-06-11 |
| | | |||
| * | re-organize code | Tianhao Wang | 2024-06-11 |
| | | |||
| * | thredding 1/? | Tianhao Wang | 2024-06-11 |
| | | |||
| * | chore: make clippy happy | Tianhao Wang | 2024-06-11 |
| | | |||
| * | define memory layout (if there was a layout) | Tianhao Wang | 2024-06-11 |
| | | |||
| * | MM: add modules for memory management | Tianhao Wang | 2024-06-11 |
| | | |||
| * | add IOPort struct | Tianhao Wang | 2024-06-11 |
| | | | | | So that device IO can be be synchronized. | ||
| * | basic interrupt/PIC support | Tianhao Wang | 2024-06-11 |
| | | |||
| * | use inline asm for x86 IO instr | Tianhao Wang | 2024-02-01 |
| | | |||
| * | formatting code, use tab identation -- before it's too late | Tianhao Wang | 2024-01-30 |
| | | |||
| * | add delay between IOs | Tianhao Wang | 2023-03-14 |
| | | |||
| * | CGA cursor location | Tianhao Wang | 2023-03-14 |
| | | |||
| * | rework makefile, include other asm sources | Tianhao Wang | 2023-03-14 |
| | | |||
| * | adding io port | Tianhao Wang | 2023-03-11 |
| | | |||
| * | a minimal working demo on bare metal | Tianhao Wang | 2023-03-10 |
| | | |||
| * | basic project structure | Tianhao Wang | 2023-03-10 |
