summaryrefslogtreecommitdiff
path: root/src/kernel/arch
AgeCommit message (Collapse)Author
2022-07-16amd64: just enough paging support to map initdzwdz
2022-07-16amd64: barely boot into kernel codedzwdz
2022-07-15i686: stop using pushal/popal in sysenter/sysexitdzwdz
2022-07-15i386/isr: don't use pushal; push registers manuallydzwdz
2022-07-14kernel/driver/serial: allow writes even with pending readsdzwdz
2022-07-12remove the incorrect OPEN_CREATE guards in fs driversdzwdz
2022-07-08kernel/fsroot: use req_preprocess to calculate offsets everywheredzwdz
2022-07-08syscall/fs_respond: get the file id from the buf argumentdzwdz
Previously, file ids could only be positive integers, so their range was 31 bits - not enough to represent the entire memory. Now, pointers can be safely used as file ids.
2022-07-07kernel: add the vfsreq_finish_short shorthand functiondzwdz
2022-07-07kernel/vfs: delegate support in _syscall_fs_respond!dzwdz
this is big in terms of speed, it avoids a lot of unnecessary context switches
2022-07-01kernel/fsroot: respect offset when reading rootdzwdz
2022-06-30kernel: get lint to shut up about undeclared variablesdzwdz
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-06-29kernel/vfs: add the OPEN_CREATE flagdzwdz
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