aboutsummaryrefslogtreecommitdiff
path: root/src/arch/x86_64/asm
Commit message (Collapse)AuthorAge
* interrupt: better trampolines for interruptsTianhao Wang2024-06-11
| | | | | | | | | | | 1. define trampolines for both exceptions with error code (automatically pushed to stack) and those without. 2. do not repeat vectors for unused IRQ numbers: we need 48, no need to fill in 256. 3. also pass the pointer to trap frame (on the stack) to the handler code Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
* idt: mm: move idt and vectors also to upper memoryTianhao Wang2024-06-11
|
* chore: cleanupTianhao Wang2024-06-11
| | | | Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
* mm: fully map the kernel to high memoryTianhao Wang2024-06-11
|
* 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>
* rename wraper -> vectorTianhao 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
|
* split idt and vectors from startup codeTianhao Wang2024-06-11
|
* MM: add modules for memory managementTianhao Wang2024-06-11
|
* use inline asm for x86 IO instrTianhao Wang2024-02-01
|
* add delay between IOsTianhao Wang2023-03-14
|
* CGA cursor locationTianhao Wang2023-03-14
|
* rework makefile, include other asm sourcesTianhao Wang2023-03-14
|
* a minimal working demo on bare metalTianhao Wang2023-03-10
|
* basic project structureTianhao Wang2023-03-10