summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
42 hoursproject: Bump version to 2.2mainIan 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>
43 hoursusr.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>
43 hourskernel/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>
43 hourskernel: lib: Add CRC32 supportIan Moffett
- Add support for 32-bit cyclic redundancy checks Signed-off-by: Ian Moffett <ian@osmora.org>
46 hourskernel/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>
46 hourskernel/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>
46 hourskernel/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>
47 hourskernel: 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>
47 hourskernel: tmpfs: Do not NULL np->data during reclaimIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: Ensure mutually exclusive console accessIan Moffett
If multiple processes try to write to the console, a race condition of sorts may occur. Similarly, if multiple processes try to read from the console and contend with the console input buffer. One process may steal keys from the other. Prevent this by implementing a mutex within the console descriptor. Each time a process reads or writes the console, it attaches itself. Any other processes attempting to read or write the console while another is attached will be yielded to the scheduler until the resource is free. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: devfs: Add block device stat mechanismIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: synch: Use md_pause() in spinwait loopIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: synch: Add mutual exclusion locksIan Moffett
Add mutex locks, these differ from spinlocks as they are named and also yield to the scheduler instead of just spinning if the lock is acquired. Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysusr: libc: Add POSIX getpid() and getppid()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: proc: Add getpid() and getppid()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: driver: Implement driver blacklistIan Moffett
Sometimes one may not want *all* of the drivers to start up during system boot. The driver blacklist allows one to mark a driver to be ignored during startup. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: driver: Assign names to all driversIan Moffett
Assign a name to each driver through the DRIVER_EXPORT() or DRIVER_DEFER() macros. This can be used for blacklisting driver startups. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel/aarch64: Add 'board_info' structureIan Moffett
Introduce a 'board_info' structure as well as an md_get_board() routine to get information about the host Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: console: Add 'show_curs' feat flagIan Moffett
Add 'show_curs' feat flag to enable/disable whether or not the cursor should be drawn Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: console: Remove extra newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: console: Introduce /ctl/console/featIan Moffett
Introduce a ctlfs entry for configuring various console features such as the ability to parse ANSI escape codes. Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: ctlfs: Implement ctlfs write() operationsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: ctlfs: Add ctlfs_get_ops() to fetch ctlopsIan Moffett
This commit cleans up the read routine by creating a helper that fetches common fields from the ctlfs entry while checking things such as its magic number. Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: console: Introduce cons_screen featuresIan Moffett
Introduce a 'feat' field in the cons_screen structure to allow certain console features to be turned on or off. Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: cons_ansi: Use `scr' var for console callsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 daysdev: uacpi: Always include machine/intr.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysusr: libc: Implement ftell()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: tmpfs: Add tmpfs getattr callbackIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: tmpfs: Add 'mode' field to tmpfs nodesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: descrip: Return new offset in fd_seek()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: tmpfs: Store the *real* size in a nodeIan Moffett
The 'len' field within the tmpfs node stores the buffer length which is relative to the tmpfs block size. Introduce a real size which returns the amount of data actually present within those buffers. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: tmpfs: Remove debugging kprintf()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: vnode: Only include vm/*.h ifdef _KERNELIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: driver: Only init non-deferred driversIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: syslog: Remove unused variableIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysrc: Execute /usr/sbin/inject on initIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysusr.sbin: Add 'inject' program for loading KRQsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysusr: libc: Add inject() implementationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysusr.bin: osh: Allow execution of direct pathsIan Moffett
This commit allows the end-user to supply a path (e.g., /usr/bin/mrow) straight to the shell to be interpreted as a binary executable path. Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysusr: Add 'echo' program to replace osh builtinIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysusr.bin: osh: Rename 'i' to 'buf_i'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: Introduce SYS_inject syscallIan Moffett
The SYS_inject syscall will allow the user to inject Kernel Runtime Quantums (KRQs) into the running kernel. As of now, set paths are not supported and the initial implementation includes a NULL path used to load all deferrable drivers. Previously during kernel startup, all deferrable drivers were loaded automatically. This commit makes it so that they are only loaded when sys_inject() is called with a NULL path. Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysusr.sbin: init: Allow start path to be overriddenIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysbuild: Rename hyra-kernel to hyra.krqIan Moffett
This commit prepares for Hyra Kernel Runtime Quantums (KRQs) which allows one to make the kernel more modular Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysusr.bin: osh: Ensure argv is zerored per commandIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: panic: Implement fresh panic screenIan Moffett
Clear the screen and tweak console foreground/background to urgent looking colors during a system panic Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: panic: Remove redundant newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: syslog: Remove problematic lockIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel/amd64: trap: Wrap regdump into a panic()Ian Moffett
- Rename regdump() to trap_fatal() - Use panic() rather than kprintf() Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel/amd64: trap: Restore IPL during user trapsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>