aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* chore: cleanup startup codeTianhao Wang2024-06-11
|
* mm: add basic paging infra from x86_64 crateTianhao Wang2024-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>
* mm: fix Range type and addr roundingTianhao Wang2024-06-11
| | | | Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
* mm: explicitly clear unused entries in init tableTianhao Wang2024-06-11
|
* mm: add stack based PMATianhao Wang2024-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>
* makefile: default to cargo debug buildTianhao Wang2024-06-11
| | | | | | | we should define debug and release targets, but hardcoding in makefile for now. Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
* multiboot: docs and cleanupTianhao Wang2024-06-11
| | | | Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
* multiboot: parse mmap blocksTianhao Wang2024-06-11
| | | | Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
* multiboot: get memory info from MB infoTianhao Wang2024-06-11
| | | | Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
* multiboot: basic support for multiboot infoTianhao Wang2024-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>
* keyboard: pad key translation tableTianhao Wang2024-06-11
| | | | | | | | some keys such as the Win key has larger scancode, causing out-of-bound read in the translation table. As a temp fix pad the tables with 0 up to 100 chars. Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
* update attributionsTianhao Wang2024-06-11
|
* fix io blocking bug in kbdctlTianhao Wang2024-06-11
|
* choreTianhao Wang2024-06-11
|
* doc: notes on x86 gdt and segmentationTianhao Wang2024-06-11
|
* cgascr: refactoringTianhao Wang2024-06-11
|
* readme: bulk updateTianhao Wang2024-06-11
| | | | | | | - update regarding contributing - fix typo - update roadmap - fix toc link
* refine ATTRIBUTIONS and LICENSE textTianhao Wang2024-06-11
|
* add contributing guidelinesTianhao Wang2024-06-11
|
* readme: update regarding licenseTianhao Wang2024-06-11
|
* fix readmeTianhao Wang2024-06-11
|
* update readme for troubleshootingTianhao Wang2024-06-11
|
* move io.rs into submoduleTianhao Wang2024-06-11
|
* update readmeTianhao Wang2024-06-11
|
* license: update readmeTianhao Wang2024-06-11
|
* license: use EUPLTianhao Wang2024-06-11
|
* makefile: mute ld RWX warningTianhao Wang2024-06-11
|
* choreTianhao Wang2024-06-11
|
* rename wraper -> vectorTianhao Wang2024-06-11
|
* startup: define multiboot headers in linker scriptTianhao Wang2024-06-11
|
* nasm: ignore zeroing warningTianhao Wang2024-06-11
| | | | | | When using `resb` outside of a BSS section, nasm will yell at you. But we know what we are doing! We never expect zero-init for such reserved spaces!
* startup: flatten control flowTianhao Wang2024-06-11
|
* choreTianhao Wang2024-06-11
|
* linker: "optimize" section arrangementsTianhao Wang2024-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 idtTianhao Wang2024-06-11
|
* check formatting in make scriptTianhao Wang2024-06-11
|
* formatting codeTianhao Wang2024-06-11
|
* misc: add full rustfmt configTianhao Wang2024-06-11
|
* split idt and vectors from startup codeTianhao Wang2024-06-11
|
* choreTianhao Wang2024-06-11
|
* linker: explicitly provide ___BSS* symbolsTianhao Wang2024-06-11
|
* interrupt: rename `guardian` to `interrupt_gate`Tianhao Wang2024-06-11
|
* mask keyboard interrupt while polling keyTianhao Wang2024-06-11
|
* mask interrupt during handler routineTianhao Wang2024-06-11
|
* remove plugbox moduleTianhao Wang2024-06-11
|
* pic: initialize with rust codeTianhao Wang2024-06-11
|
* add ATTRIBUTIONSTianhao Wang2024-06-11
|
* chore lintingTianhao Wang2024-06-11
|
* readme: add referenceTianhao Wang2024-06-11
|
* cgascr: init cursor in rust codeTianhao Wang2024-06-11
|