summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
34 hoursproject: Bump version to 2.3mainIan Moffett
- [kernel: ahci]: Improve AHCI driver startup time [0] - [kernel: nvme]: Add NVMe write support [1] - [kernel]: Do not defer storage driver init [2] - [kernel: ansi]: Implement screen clearing sequence [3, 4] - [kernel: cons]: Add /ctl/console/attr [5] - [kernel: nvme]: Add logpage + SMART support [6] - [kernel]: Add initial multi-user support [7, 8, 9] - [kernel]: Add crypto /dev/random [10] - [kernel]: Add 'login' program [11, 12] - [kernel: initramfs]: Use OMAR rev 2 [13] Commits referenced: [0]: 4f3ff976f5fd90f2401eddf2c81d3226c7de45ed [1]: 37b755d8592dcb6b669bb5b9696b012ba0a07e50 [2]: 8a96646bdd6d5f91b2288cca68f3e552229e1b21 [3]: 7ca4b1c0537ec41f4b7b05ad61b48ff0bb29af8b [4]: 7c509b9edc1ab8fbf36f586182042331868ac11e [5]: 7f7535710b23ec984f1f0fa3dab8ea4a081a0bab [6]: 45c3cbf482005e430e4d207410c7b5bc398cd87a [7]: 020a6fe2a92d06f42b2ff2b0a7c919d7341923fe [8]: ac46a8f0dfb4d303d75a43cff4994b724fd4cf4d [9]: fc8c9bc5029d006d531341c5306b49fc081bcfd7 [10]: 252c90732709447ad33bbf329fc47d584cd23f37 [11]: f49ab9ebefb9d1e707ee568fe2837f24de046f68 [12]: 0a400811f9c85584e7897a822dc70b5c9c38192d [13]: 76144f33cb68efe347a26384c1cf69ec8351fbb0 ... Signed-off-by: Ian Moffett <ian@osmora.org>
34 hoursdocs: Add 'programs' section to READMEIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
34 hoursusr.bin: Add 'sleep' programIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
35 hoursusr: getconf: Add NAME_MAX, PATH_MAX and SSIZE_MAXIan Moffett
- Add additional limit defines - Expand 'val' to 32-bits Signed-off-by: Ian Moffett <ian@osmora.org>
35 hourskernel: limits: Add NAME_MAXIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
35 hourskernel: vnode: Refactor definitionsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
35 hourskernel: initramfs: Set file mode to OMAR modeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
36 hourskernel: initramfs: Use OMAR rev 2 (latest)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
36 hoursbuild: Update wallpaperIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
47 hoursusr: date: Allow time-setting by userIan Moffett
If the user believes the system time is off, they may now invoke 'date' with a time string "hh:mm:ss" to write it to the clock. Signed-off-by: Ian Moffett <ian@osmora.org>
47 hourskernel/amd64: i8042: Decode ESCAPE keyIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr: login: Parse custom shell pathIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr: login: Clean up check_user() logicIan Moffett
- Rely on have_* state vars - Duplicate 'p' after creation Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskernel/sched: Undo sched_yield() changesIan Moffett
- Keep old sched_yield() logic as newer logic caused issues on QEMU - TODO: Actually fix and test Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysusr: login: Remove default 'USERNAME' defineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysusr: login: Only rely on default shell for nowIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: exit: Clear out file descriptors on reapIan Moffett
Ensure all file descriptors are freed and their respective vnodes released. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: sched: Greatly simplify yield logicIan Moffett
The purpose of yielding to the scheduler is to tell it you want to preempt early in order to not starve processes while waiting for I/O. We can trigger the timer earlier on for stability as a ~10 usec delay should not be too terrible. Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysusr: login: Re-allow char echoing after bad loginIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysusr: login: Implement 'password' input/hashingIan Moffett
- Update /etc/passwd to contain the hash for 'root' - Implement password checking login in the 'login' program - Add information about default credentials in the README Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysusr: libc: Duplicate cached username with strdup()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysusr: osh: Write current user to promptIan Moffett
Previosuly, this was fixed to "root" but now that we allow multiple users it would be best to make this dynamic. Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysusr: libc: Add strdup()Ian Moffett
- Implement the strdup() string routine to duplicate strings in a new buffer. Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysuser: libc: Add crypto/sha256 supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: cons: Remove problematic lockIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayslib: libc: Introduce POSIX getlogin()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: ucred: Add SYS_getuidIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: dev: Add /dev/randomAlex Funo
Introduce a prototype cryptographically secure (?) random number generator. The RNG uses ChaCha20 seeded with a SipHash-processed entropy pool. Entropy is collected only at read time and is mixed into the internal pool before each ChaCha20 reseed. The design is still experimental. Signed-off-by: Alex Funo <frost@osmora.org> Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysusr.sbin: init: Startup login programIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysusr.bin: login: Add initial auth logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: proc: Add cred per processaIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysusr: libc: Add setuid()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: cred: Introduce SYS_setuid syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: proc: Add initial setuid()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysusr: libc: Introduce POSIX fseek()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysusr: bin: Make 's' const within atoi()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysusr.bin: Add initial /etc/passwd parsingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: Add uid_t in sys/types.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysbase: Add etc/passwd + base/etc/Ian Moffett
- Introduce the etc directory within the sysroot - Add an etc/passwd Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: Add sys/ucred.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysusr: libc: Add strtok()Ian Moffett
Ported from OpenBSD Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: exit: Panic if PID 1 diesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: cons: Use glyph relative pos in cons attrIan Moffett
- Make curs_col/curs_row reference console_attr.cursor_x/cursor_y - Console cursor x/y attributes reflect x/y multiplied by glyph dimensions Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: nvme: Pack nvme_smart_data structIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: nvme: Add SMART + logpage supportIan Moffett
- Implement nvme_get_logpage() routine - Add SMART data structure - Implement basic controller + namespace temperature detection Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: string: Escape '%' with "%%"Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: dmi: Ensure header base is virtualIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: cons: Introduce /ctl/console/attrIan Moffett
In a lot of existing systems, ANSI escape sequences are used to control console attributes such as cursor position, style, etc. However, too many sequences for too many things are implemented at once. If a program has neglected to properly sanitize input coming in (e.g., from a network). Stray sequences may be injected into the receiving console. One may disable the ANSI state machine using the 'ansi_esc' bit within /ctl/console/feat, completely eradicating such issues, while being able to still control various console attributes through /ctl/console/attr. This commit also keeps the builtin ANSI escape sequence parser as simple as possible. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: ansi: Remove stray newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysusr.bin: osh: Use "\033[2J" to clear screenIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>