summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
37 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>
3 dayskernel: vfs: Allow multi component lookupsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel/amd64: i8042: Flush console for reset logsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Improve COMRESET reset logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Expose to devfs @ /dev/sd<n>Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Implement disk I/O logicIan Moffett
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: Keep track of total portsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: nvme: Return -ENODEV instead of -EIOIan 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: Ensure bus mastering + MMIO is setIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Remove redundant newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Perform ATA IDENTIFYIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Initialize device link before initIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Cleanup identity dump logsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Implement ATA IDENTIFY commandIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Add HBA port reset logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Add command list helpersIan 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: Improve HBA port scan logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: ahci: Add sanity checks to port start/stopIan 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: Clear out PxSERR per portIan 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: Cleanup port count logIan 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>
10 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>
10 dayskernel: ahci: Remove stray newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 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>
10 dayskernel: ahci: Return 0 in ahci_poll_reg()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 daysusr: libc: Add memset() to string.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 daystools: Add mktap scriptIan Moffett
Add script to create TAP interface 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 daysdocs: Update README.mdIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 daysusr: osh: Rewrite console shellGon Namprasertkul
This commit makes the shell prototype more flexible Signed-off-by: Gon Namprasertkul <foresterblox@gmail.com> Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskernel: xhci: Workaround Dell USBLEGSUP quirkIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 daysMerge branch 'build-openbsd' into exptIan Moffett
2025-05-02share: man: Add square brackets in omar(1)Ian Moffett
Make types vs flags more clear Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-02share: man: Add omar(1)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>