summaryrefslogtreecommitdiff
path: root/sys/include
AgeCommit message (Collapse)Author
32 hourskernel: proc: Do not introduce fork()mainIan Moffett
Simplicity is divine, fork() may be powerful but is no longer simple. It became a thing in the late 70s during the early days of UNIX when computing was simple, when CPUs were only 16-bits, MMUs were not prevalent and RAM was only 512 KB. However it isn't 1971 anymore, process management, CPUs and memory architecture has advanced significantly since. This commit ceases work on the fork() syscall as implementing it would only introduce unnecessary complexity, security issues, hefty processing overhead and would perpetuate what should now be considered legacy. The current best alternative would be providing a form of process spawning as well as a mechanism to wait for the child process to complete. Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskernel: syscall: Check for _OLIBC or _KERNELIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskernel: mach: Add TF_IP() macroIan Moffett
Add TF_IP() to extract the instruction pointer from a trapframe between architectures. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: ahci: Add /ctl/sdx/bsize control fileIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: ahci: Include sys/device.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: ctlfs: Include sys/sio.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: fs: Introduce ctlfsIan Moffett
ctlfs (Control FS) is a filesystem aimed to provide configuration of devices separate from their respective devices files. Most UNIX-like systems rely on the ioctl() mechanism for sending commands to device drivers, while this certainly works, it is important to realize how messy it can get doing all of this through a single interface. ctlfs fixes this by giving each device a "node" in ctlfs that contains several control files. For example, imagine we have a SCSI device (/dev/sd1). Its ctlfs counterpart would be a directory at /ctl/sd1/. For an hdd this may contain files such as: /ctl/sd1/bsize # Block size if read (mode [rwx]: -w-) /ctl/sd1/cmd # Command if written, status if read (mode [rwx]: rw-) ... et cetera Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Store major in HBA descriptorIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Handle AHCI interface/HBA errorsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Define ATA identity structureIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Detect staggered spin upIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Add command table + PRD definitionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: ahci: Initialize each HBA portIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: ahci: Split CLB/FB into lower/upper bitsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: ahci: Add basic AHCI constantsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: achi: Define command header and H2D FISIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: ahci: Implement initial HBA port logicIan Moffett
- Implement logic to scan the HBA for ports - Implement logic to stop HBA ports - Add ahci_init_port() stub Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayssys: Add popcnt() implementationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 dayskernel/amd64: gdt: Fix indentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskernel: rt8139: Autoload 93C46 + read MAC addressIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskernel: net: Add initial net_if headersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskernel: xhci: Workaround Dell USBLEGSUP quirkIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-18kernel: syscall: Fix conditional includesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-18kernel/aarch64: Add missing machdep headersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-18Merge branch 'expt' into aarch64Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-18kernel: cons: Add console buffer frameworkIan Moffett
Major console improvements - Add console buffer framework for managing console input/output in a more smooth and elegant manner - Fix cursor bugs Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-18kernel: video: Add bpp field to fbdevIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel: atoimc -> atomicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel/amd64: isa: Add i8042 keyboard supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel/amd64: cpu: Add IRQ maskIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel: synch: Add system-wide lockingIan Moffett
Add system-wide locking for critical code sections. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel: sched: Adjust default quantum to 500 usecIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel/amd64: cdefs: Add more md_* macrosIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel: Enable interrupts upon sched entryIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel/amd64: isa: Add support for pcspkrIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel: acpi: Add acpi_oemid()Ian Moffett
acpi_oemid() can be useful for knowing the vendor of the current machine. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-17kernel: synch: Add lazy spinlock acquireIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-16sys: atomic: Add atomic load/store operationsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-15kernel: sched: Run oneshots foreverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-15kernel: Add per-arch cdefs.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-13Merge branch 'expt' into aarch64Ian Moffett
2025-04-12kernel: rt8139: Add initial implIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-12cdefs: Add __isr defineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-12kernel/amd64: pio: Add _MACHINE_HAVE_PIO defineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-12aarch64/pio: Add PIO stubsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-02kernel/aarch64: Add initial AARCH64 portIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-04-02kernel: syscall: Add machdep syscall headerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-03-28sys: Make proper sys/types.h + add clang nostdincIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-03-28sys: limits: Add CHAR_BITIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-03-27kernel: vm: Add munmap() implIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>