summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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>
6 dayskernel: ansi: Clear screen with "\033[2J"Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: nvme: Add NVMe driver write hookIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: Do not defer storage driver initIan Moffett
Early userspace *may* rely on storage drivers. If they attempt to access them before they are set up, things can go south. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: ahci: Lower link wait time to 8 msIan Moffett
Section 3.3.11 of the AHCI spec states that software must leave the DET field set for a minimum of 1 milisecond. Most hardware conforms to this. Previously, our buffer time was way too high and would slow down the time it takes for the AHCI driver to finish initialization. If any SATA drive takes longer than this to start up, fuck it, something is wrong with it. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: tmpfs: Check NULL 'dirent', not 'res'Ian Moffett
When going through each node in the tmpfs namespace, 'dirent' will be NULL if nothing was found. This commit fixes a bad check where we were using the wrong pointer. Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysusr.bin: readcore: Add missing '\n'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysusr.bin: readcore: Make sure we close the dump fdIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysproject: Bump version to 2.2Ian Moffett
- [kernel: conf]: Update default console foreground to #B57614 [0] - [kernel]: Add support for SMBIOS/DMI [1] - [kernel/amd64]: Only use USER_DS in md_td_kick() [2] - [kernel/amd64: i8042]: Use DMI for quirk checking [3] - [kernel/amd64: mc1468xx]: Offset year by 2000 (century fixups) [4] - [kernel/amd64: mc1468xx]: Implement date setting [5] - [kernel/amd64]: Deprecate ALT key to reboot [6] - [kernel: namei]: Add NAMEI_WANTPARENT flag [7] - [kernel: vfs]: Add support for O_CREAT flag [8] - [kernel: cons]: Handle horizontal tabs ('\t') [9] - [kernel: exec_elf64]: Zero fill .bss section [10] - [kernel: panic]: Wipe screen for panic information [11] - [kernel]: Rename 'hyra-kernel' to 'hyra.krq' [12] - [kernel]: Introduce SYS_inject syscall [13] - [kernel]: Add tmpfs support [14] [15] [16] ... - [kernel]: Validate operations against file seal [17] - [kernel]: Add CRC32 support [18] - [kernel]: Add support for coredumps [19] - [usr: libc]: Store auxiliary vector tag/value [20] - [usr: libc]: Add POSIX sysconf() [21] - [usr: libc]: Add POSIX fileno() [22] - [usr: libc]: Add realloc() [23] - [usr: libc]: Implement fopen() and close [24] - [usr: osh]: Implement shell script parsing [25] - [usr: osh]: Add support for comments (denoted by '@') [26] - [usr: osh]: Allow execution of direct paths [27] - [usr]: Add POSIX getconf program [28] - [usr]: Add 'cat' program [29] - [usr]: Add 'echo' program [30] - [usr]: Add init.rc startup script [31] - [usr]: Add 'readcore' program [32] Commits referenced: [0]: 4a87b750d5203d933aedc2f48e0b1ccd1956d97f [1]: f725323f3fd14e5a1f3b091f7ef0dcbbf8bd9c23 [2]: 074ef7ccfadb6ae36a88fe300b44f16057f970d4 [3]: e4a3671633f2b7783123c5456aa0ab3c27d69cc4 [4]: 6b8e1e161069e8d1722a55442c081be2f30189a5 [5]: cb2cd8b2556239b462759c4c0b04aec253835bc1 [6]: 63ca633b1797cd8a1e33ce1ea93628e88d8e150d [7]: 8877f9b8a8992388b4f64d425a48b02a3229cf61 [8]: bbd861c0cd4c26e2699392fec3ae0ec7df8ab145 [9]: d8a8fa32fb988e91cce17b18e2b79d35793526b6 [10]: 228310e565d809e587cb0b8ab77353d6751a12e2 [11]: c1fa9c578fa6c6b329aeb7118afb55306134a301 [12]: 5920cf33f368b8de20919c44fa574fd6c69f69e8 [13]: 78fe4f99b6cb6c85be3d28fdb7ee8ac6de55575e [14]: eb829b70db46ad86a1c85740f5ca02b7ba29ce4f [15]: 35c6690e0b1611134de032c281976a62e4d2c9fd [16]: a64865a93fdb22dee230d57a0a3c684668545acd [17]: 5e4cf6049be6cf8bd8033295973c5aa8282995b8 [18]: 68e404c22776f547158aa8f1a88f29c757167591 [19]: 88285ca7d9ac11c99b01a44d3525acb82d35e1de [20]: 46190922e0fb42d27bc7c8ed85d9fd44664f50ef [21]: 8beb7f3ad581076f08e363b724488eaa27d089ac [22]: c12bb17d66fa58422a0d50b4242a7507852d0405 [23]: 56e6e20dbc29fd1906f8616a5eb1fafb9637a61c [24]: 0b3d95682de696f5691d24d29512783a4a0c0c9f [25]: 5d96b8559c0f506fe730afdd21c716787b4a1d1e [26]: 21d6805767f5b277e00409bf1c3b61c6e125c5f0 [27]: 655c43f4b8a2d42b2f7b9c85b8ad6d8de6e6a284 [28]: 66ec8765f305c7a5318d38a383e23b1280cd9186 [29]: 4e3351d4a75c02ac7a2a8c60cc6fa6579d95f08f [30]: 08dc44c415c63abd71524468afe26b42f2e23b69 [31]: 8ce4282e92455e9da19c9fc1f7d6bc313567717f [32]: d527cf1b1d8ddbfa79d9b912fe9a7943e19f6555 Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysusr.bin: Add 'readcore' programIan Moffett
This commit introduces a new program called 'readcore'. This program allows a user to debug crashed programs by passing in the path of a coredump file. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel/amd64: Add support for coredumpsIan Moffett
To make debugging userland program crashes easier, this commit introduces coredumps that store the last known process state into a temporary /tmp/core.X file (where X is the PID of the faulting process). Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: lib: Add CRC32 supportIan Moffett
- Add support for 32-bit cyclic redundancy checks Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel/amd64: conf: Add CPU_SMEP optionIan Moffett
Allow the user to configure if SMEP would be enabled for their build of the Hyra AMD64 port Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel/amd64: cpu: Support SMEPIan Moffett
Some CPUs support Supervisor Memory Execution Protection that prevent ring 3 code from being executed in a ring 0 context. Enable this on CPUs that support it. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel/amd64: Add 'feat' field in cpu_infoIan Moffett
Keep track of per-cpu features by using a 'feat' field which contains the results of various CPUIDs. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: tmpfs: Prevent read() on empty filesIan Moffett
If we have never written to a tmpfs file, the buffer for it will have never been allocated and that would lead to NULL pointer issues such as system-wide crashes. Return zero bytes read if nothing was ever written. Signed-off-by: Ian Moffett <ian@osmora.org>