| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
mostly fixing identation and tabstop:
0. line width is 80 chars
1. tab is 8 chars wide (tabstop = 8)
2. leading indentation and only leading indentations are __hard_tabs__
3. non-leading tabs are expanded into spaces
4. instrs are always indented 1 level, and only 1 level
5. the first operand (if any) starts at the next tabstop after the
instruction, but the tab inbetween is expanded to spaces (3)
Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
|
| |
|
|
|
|
|
| |
including task and scheduler wrapper, context swap assembly, and some
notes... The lifetime of task is tricky, I'll fix it later
Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| | |
|
| |
|
|
| |
Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
|
| | |
|
| |
|
|
|
|
|
|
| |
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>
|
| | |
|
| |
|
|
|
|
|
| |
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"
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|