Age | Commit message (Collapse) | Author |
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
- [kernel]: Avoid make panic screen configurable [0]
- [kernel]: Avoid using kprintf() during panic [1]
- [kernel]: Add sys/crypto/* [2]
- [kernel/amd64]: Get CPU family and model number [3]
- [kernel/amd64]: Track interrupt count [4]
- [usr: libc]: Add math.h + musl math impl port [5]
- [sys]: Add 64-bit atomic operations in sys/atomic.h [6]
- [kernel: sched]: Sort out MI/MD context switch logic [7]
- [kernel]: Add kernel accounting information [8]
- [usr]: Add 'kstat' program [9]
- [kernel: sched]: Add support for CPU pinning [10]
Commits referenced:
[0]: 85ddd63bddfa20bedce3a387c69dcf66f882a8ea
[1]: a789a2d36560f64952dcfc25d330f1ac04206c14
[2]: 2a93cf52e5386eb1b3586565af6a06ade4d32a66
[3]: 2f1902f6e554f6bc36b5a3e4cf8add8c3e5197cc
[4]: 25d4aca4bf49bdbee6a7a35ef5d63ae45138ddf5
[5]: 30634165980deaeead9f4e71e0ff6a5c9d897776
[6]: a66c3f8d3d1f70beb3147999db21229803eb7021
[7]: f6900b5c3b4832f48359fd761b80f8693a6735e8
[8]: 8a3973e46941b6a8c88a49594364a04ee4b1d84e
[9]: d6bd4640721867f59d89c68fddb15098524c56c8
[10]: 3c9e0969840d47a812f5e65fa43f694f2e7f3ff3
...
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Implement the initial encoding logic for INC/DEC instructions.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
In order to have more control over the flow at which we grab the next
tokens, we should roll our own loop by hand using TAILQ_FIRST() and
TAILQ_NEXT()
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
When validating memory addresses coming from userspace, we currently
only check if it is within range of the program stack or data. However,
data may also be allocated in the heap which involves addresses stored
in the memory map ledger. In order for user programs to be able to pass
references to that kind of memory to syscalls, we must be able to check the
addresses against ledger entries as well.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Keep track of the last token type (for parser) and keep track of the
current line number for debugging.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Previously, when running programs from the shell. The execution must
finish before anything else can be done. This commit allows users to add
an ampersand ('&') after the command in order to run it in the
background. This is an example of its usage:
--
@ beep at 400 Hz for 9000ms (to annoy people for fun).
@ We will be running it in the background and do a 'kstat'
@ to see that the number of tasks have increased.
beep 400 9000 &
kstat
..
--
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
- Add parse_line() to simplify parsing user input
- Fixup style
...
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
The 'nerve' program allows users to poke at a ctlfs entry and write
their own data.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Deprecate SPAWN_WAIT in favor of waitpid()
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add waitpid() in preparation of deprecating SPAWN_WAIT.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|