summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
26 hoursusr: osh: Only write printable charactersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr: nerve: Add 'peek' verb to nerve(1)Ian Moffett
While poking at a nerve can be very useful, there are times where we need to peek at them to see their current state. This commit introduces the 'peek' verb to do exactly that. Here is how one may peek at the console features: -- [chloe::osmora]~ nerve peek consfeat ansi_esc=1 show_curs=1 -- Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysman: nerve: List 'consfeat' nerve endingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr: nerve: Convert nerve name in nerve_to_def()Ian Moffett
Add helper to convert nerve name into numeric nerve type so that peek_nerve() may be implemented while keeping things clean. Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr: nerve: Ensure nerve packet does not overflowIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr: nerve: Use 32 bit datum rather than 8 bitIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr: Add 'whoami' programIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr: nerve: Add 'consfeat' nerveIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr: nerve: Write 'c' directlyIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysdocs: man: Add nerve(1)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysusr.bin: Add 'nerve' program to poke ctlfsIan Moffett
The 'nerve' program allows users to poke at a ctlfs entry and write their own data. Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskernel/amd64: mp: Pin one idle thread to each coremainIan Moffett
Each core on the CPU gets one idle thread so that it is always up to something. To ensure these threads are not bouncing wildly between cores and are always ready for their respective processor to take when they have no threads to grab. We must call proc_pin() on each for every processor. Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysdocs: man: Add cat(1)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysdocs: man: Add exit(2)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysdocs: man: Add mex(1)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysdocs: man: Add echo(1)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysdocs: man: Add beep(1)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskernel: sched: Add support for CPU pinningIan Moffett
This commit introduces support for pinning processes to specific cores which can be useful for things like, keeping core-specific workthreads running on their respective processors as well as mitigating very specific cases of false-sharing and performance degradation caused by a thread jumping between cores which requires cache-line entries to be thrashed around between them. Threads pinned to a specific core will always see their cached data in the same L1, L2, etc. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: spawn: Deprecate SPAWN_WAITIan Moffett
Deprecate SPAWN_WAIT in favor of waitpid() Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayslib: libc: Add waitpid()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: spawn: Add waitpid()Ian Moffett
Add waitpid() in preparation of deprecating SPAWN_WAIT. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel/amd64: Set up seperate syscall stackIan Moffett
It is a good idea to have a completely different stack during syscalls. This commit implements a TSS IST entry for syscalls. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: exit: Reassign children to init on exitIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: init_main: Store 'init' as g_initIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: spawn: Continue if procp NULLIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysusr: Add 'kstat' program for system infoIan Moffett
The 'kstat' program provides kernel statistics and accounting information Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: accnt: Keep track of per-cpu statsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: Sort out switch MI/MD switch logicIan Moffett
Certain operations dealing with context switches are better off being implemented as machine dependent routines which allows us to be flexible with what we can do, as well as the extra benefit of requiring less workarounds to keep things MI. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: Move 'g_nthreads' to kern_accnt.cIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: Add initial accounting logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: proc: Decrement proc count on exitIan Moffett
Previously, our process counter was monotonic (wuh oh!). We want to be sure that it decrements when a process exits. - Rename nthreads to g_nthreads as a global - Atomically increment on enter and decrement on exit Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayssys: atomic: Add 64-bit operationsIan Moffett
- Add atomic_inc_64() - Add atomic_dec_64() - Add atomic_load_64() - Add atomic_store_64() Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: filedesc: Ensure 'fd' is valid during r/wIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: et131x: Initialize internal RX/TX buffersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: et131x: Disable loopbacks and watchdogIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 daysusr: libc: Add math.h + musl math impl portIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: Add initial MII register defsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: et131x: Add initial MAC initializationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: et131x: Create netcard state structIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 daysdocs: et131x: Add MAC.hfdp bit definitionsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 daysdocs: et131x: Add information about MAC regsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: phy: Give more control over LED stateIan Moffett
Allow finer control over which LEDs to toggle and how they should be toggled. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel: phy: Add initial et131x sourcesIan Moffett
Refer to share/docs/hw/et131x.txt Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysdocs: Begin ET131X NIC reverse engineering workIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel/amd64: Track interrupt countIan Moffett
Keep track of how many times an interrupt fires, this can be used for interrupt statistics later on. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel/amd64: Get CPU family + modelIan Moffett
The CPU family ID and model number are sometimes useful in order to detect the presence of certain CPU features as well as detecting CPU specific quirks. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel/amd64: cpu_check_feat() -> cpu_get_info()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskernel/amd64: Add I8042_POLL kconf(9) optionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: Move crypto specifics to sys/crypto/*Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: sched: Ensure 'ci' is not NULLIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>