summaryrefslogtreecommitdiff
path: root/sys/kern
AgeCommit message (Collapse)Author
4 dayskernel: Deprecate kern_instl for /usr/sbin/installIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: syscall: Add SYS_lseekIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: filedesc: Add fd_seek() as kernel lseek()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: vfs: Add SYS_access syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: vfs: Release vnode in vfs_dostat()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: vfs: Use pathbuf in vfs_dostat()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: vfs: Remove unused includeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: spawn: Wait on both PROC_SLEEP + PROC_ZOMBIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: spawn: Set PROC_WAITED before td enqueueIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: exit: Ensure PROC_WAITED is unset on exitIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: sched: No yield on wait + intoff on yieldIan Moffett
Temporary workaround for issue relating to hangs on process yield with a sleeping parent Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: spawn: Ensure pathbuf is zeroedIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: stat: Fix getattr result pointerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: spawn: Improve wait sleep handlingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: sched: Skip sleeping threads and get nextIan Moffett
If a thread is sleeping, skip it and try the next thread. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: sched: Allow sleeping TDs to be enqueuedIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: exit: Handle stack VA/PA in proc_reap()Ian Moffett
User stacks are identity mapped and kernel stacks are not. Handle this properly or else suffer the consequences. Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: spawn: Return process exit status on failIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: exit: Wake up parent *only* if asleepIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: stub: Always show exceptions in userlandIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskernel: syscall: Add SYS_mmap and SYS_munmapIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: spawn: Fix fmt argIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: spawn: Add support for SPAWN_WAIT flagIan Moffett
Add SPAWN_WAIT flag that causes spawn() to wait until the child process completes. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: exec: Initially disable intr in execve()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: sched: Implement better sched_yield()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: proc: Add proc_reap() for zombies, etcIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: sched: Enable interrupts in sched_enter()Ian Moffett
Ensure interrupts will go through once sched_enter() is called. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: proc: Add PROC_SLEEP to pause threadsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: sched: Add sched_switch_to()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: proc: `spawn_data' -> `data'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: spawn: Add missing includeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-31kernel: descrip: Lock filedes during r/w operationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-29kernel: syslog: Add kernel message bufferIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-29kernel: descrip: Increment fd offset per read()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-29kernel: Schedule drivers after AP bootstrapIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-28kernel: drivers: Add DRIVER_DEFER() macroIan Moffett
- Add DRIVER_DEFER() macro to schedule initialization for lower priority drivers - Expose `proc0' to the rest of the kernel Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-28kernel: syslog: Handle userspace kmsg loggingIan Moffett
- Add USER_KMSG option to configure if kernel messages should be logged in user contexts - Add syslog_silence() to silence kernel messages in user contexts if USER_KMSG is "yes" Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-28kernel: proc: Store kernel thread flag in `proc'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-28kernel: exit: Ensure curtd is NULL if killedIan Moffett
If the current process is killed, make sure that we set the pointer to the currently running process to NULL. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-28kernel: exit: Handle killings of kernel threadsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-27kernel: Add initial installer implIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-27kernel: sched: Don't switch on PID 0Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-26kernel: init_main: Fix sizeof arg on proc0 memsetIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-26kernel: devfs: Add callback to request block sizeIan Moffett
Add bsize() callback within the bdevsw structure. This returns the number of blocks a block device supports at maximum. This result is *not* in bytes. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-24project: Build Hyra with ./hyra-install.shIan Moffett
- Deprecate *direct* use of 'make' for building world - Add hyra-build.sh to replace direct use of 'make' - Remove make vars that will no longer be used - Update workflow script for GitHub mirror - Add install media detection define (_INSTALL_MEDIA) - Add install media detection logs - Update build instructions within README.md Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-22kernel: Optimize console & loggingQuinn Stephens
* Modified draw loops to use `fbdev_get_index()` less often. * Created `cons_fast_putch()`, then used it to implement `cons_putch()` and `cons_putstr()`. This way, when printing an entire string, the lock acquire/release and cursor hide/show will only happen once, instead of once per character. * Modified `syslog_write()` to use `cons_putstr()`. Signed-off-by: Quinn Stephens <quinn@osmora.org> Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-21kernel: Enable interrupts before driversIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel: syscall: Add SYS_reboot syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel: sched: Rewrite context switch logicIan Moffett
Simplify and improve context switch logic, also stops the LAPIC from being spammed with register accesses. This also updates the default quantum to 9000 us to avoid cache thrashing and all kinds of other nasty things. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: acpi: Add uACPI portIan Moffett
See https://github.com/uACPI/uACPI/ Signed-off-by: Ian Moffett <ian@osmora.org>