summaryrefslogtreecommitdiff
path: root/src/kernel/arch/i386/interrupts
AgeCommit message (Collapse)Author
2022-07-15i386/isr: don't use pushal; push registers manuallydzwdz
2022-06-30kernel/linker: rename .text.early to .shareddzwdz
It's not really just a text section, as it's writeable too. Makes gcc shut up about invalid section attributes.
2022-05-29kernel: fix overlapping interrupt / regular stacksdzwdz
2022-05-21kernel/i386: only map what's absolutely necessary in the userdzwdz
2022-04-14kernel: port init's `printf` implementationdzwdz
2022-04-11kernel: implement `cpu_pause()` in assembly, remove `irq_interrupt_flag()`dzwdz
2022-04-10kernel/i386: rewrite the serial driver to wait for IRQdzwdz
proper multiprocess support!
2022-03-30kernel: remove the keyboard driver, add a `/ps2` devicedzwdz
2022-03-27style: remove the semicolons after cases in ISRdzwdz
2022-03-27kernel/tty: poll only on IRQs, don't burn cyclesdzwdz
2022-03-26kernel: IRQs; PS/2 keyboard supportdzwdz
2021-10-15slightly clean up all the assembly codedzwdz
2021-10-05isr: simplify the exception handlerdzwdz
2021-10-05kill the process that caused an exception instead of panickingdzwdz
2021-10-02rename kernel/arch/log.h to io.hdzwdz
it's not related to logging but to general io, the old name didn't make sense
2021-09-21start using sparse's `-Wdecl`dzwdz
2021-09-20create a few specialized panic()sdzwdz
thanks to this i can tell which ones are placeholders, and which ones should stay
2021-09-12log cr2 on page faultsdzwdz
2021-08-24replace () with (void) in function definitionsdzwdz
`()` means that any amt of arguments will be accepted, which isn't what i want
2021-08-22kernel: implement assertdzwdz
2021-08-09rename `log_` to `tty_`, `tty_` to `vga_`dzwdz
2021-07-22disable paging when handling interruptsdzwdz
The kernel code assumes that paging is always disabled. I've also added a bit of comments to the assembly / ruined the git blame.
2021-07-21simplify the IDT generationdzwdz
2021-07-21create ISR stubs, which call a single main isr handlerdzwdz
quick explaination of how this even works: The `call` in each stub pushes its own address onto the stack before calling stage2. We can substract the address of the 0th ISR to get the offset, which we then divide by the size of each stub to get the index.
2021-07-19add a page fault handlerdzwdz
2021-07-18fix most current compiler warningsdzwdz
stack_top got changed into a char, because `extern void` isn't even valid. others are self-explanatory
2021-07-18move all kernel sources to src/kernel/dzwdz