summaryrefslogtreecommitdiff
path: root/src/kernel/arch
AgeCommit message (Collapse)Author
2022-05-29kernel: fix overlapping interrupt / regular stacksdzwdz
2022-05-26syscalls/memflag: FINDFREE flagdzwdz
2022-05-21kernel/i386: only map what's absolutely necessary in the userdzwdz
2022-05-21syscall/memflag: implement freeing memorydzwdz
2022-05-21kernel/pagedir: explicitly mark the pagedir user/write fields as unuseddzwdz
2022-05-05kernel/driver: clean up the ps2/serial driversdzwdz
2022-05-05kernel: fix a few minor compiler warningsdzwdz
2022-05-05kernel: move fsroot to kernel/arch/i386dzwdz
2022-05-05kernel: each driver registers its own mountsdzwdz
2022-05-05kernel: syscalls now have to explicitly save the return valuedzwdz
thus they can opt out of doing that so the calls which might return immediately but can return later don't have to both regs_savereturn and return to the caller. and because of that, the return values of a lot of VFS things have just got way saner
2022-05-05kernel: move the COM1 driver to a separate handlerdzwdz
2022-05-05kernel: ps2 driver is now a separate backenddzwdz
2022-05-03kernel: stacktraces on panic()dzwdz
2022-04-21kernel/proc: only expose `process_switch_any()`dzwdz
other parts of the kernel don't need to care about which process exactly gets switched into
2022-04-14kernel: port init's `printf` implementationdzwdz
2022-04-14kernel: basic page allocator, `process_free`dzwdz
2022-04-11kernel: implement `cpu_pause()` in assembly, remove `irq_interrupt_flag()`dzwdz
2022-04-11kernel/arch: only allow IRQs in the idle processdzwdz
2022-04-10kernel/driver: modify the ps2/serial drivers to use ring_tdzwdz
2022-04-10kernel/i386: rewrite the serial driver to wait for IRQdzwdz
proper multiprocess support!
2022-04-10kernel: idle processdzwdz
2022-04-09kernel/vfs: prevent the vfs functions from switching processesdzwdz
2022-04-07kernel: remove the `/tty` devicedzwdz
2022-04-07kernel: add a /com1 devicedzwdz
2022-04-05kernel/ps2: don't discard entire buffer on partial readsdzwdz
2022-03-30kernel: remove the keyboard driver, add a `/ps2` devicedzwdz
2022-03-27kernel/vfs: partial ATA drive supportdzwdz
2022-03-27style: remove the semicolons after cases in ISRdzwdz
2022-03-27kernel/tty: poll only on IRQs, don't burn cyclesdzwdz
2022-03-27kernel/i386: implement the ps/2 keymap as an arraydzwdz
2022-03-26kernel: IRQs; PS/2 keyboard supportdzwdz
2021-11-14shared: use a single implementation of mem* functions everywheredzwdz
2021-10-15slightly clean up all the assembly codedzwdz
2021-10-15kernel: quit QEMU once there are no running processes leftdzwdz
2021-10-08ATA: implement the IDENTIFY PACKET DEVICE commanddzwdz
2021-10-08remove return statements from void functiondzwdz
2021-10-08ata: proper drive type detection; soft reset; 400ns delay functiondzwdz
2021-10-07ATA: detect device typedzwdz
2021-10-07ATA: read identify data, detect drive sizedzwdz
2021-10-07kernel/i386: fix port_in16's return value sizedzwdz
2021-10-07kernel/i386: add 16bit port io functionsdzwdz
2021-10-07kernel/i386: rename the port io functions with their bit lengthdzwdz
2021-10-06kernel/i386: implement part of ATA IDENTIFYdzwdz
2021-10-05isr: simplify the exception handlerdzwdz
2021-10-05kill the process that caused an exception instead of panickingdzwdz
2021-10-02implement serial/tty inputdzwdz
2021-10-02serial: implement a selftestdzwdz
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 `-Wnon-pointer-null`dzwdz
While I personally don't see a reason to use NULL instead of 0, I assume that whoever made that a sparse default knew what they were doing.
2021-09-21start using sparse's `-Wdecl`dzwdz