Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-08-19 | kern/thread: fix typoHEADmaster | Richard Braun | |
2019-08-16 | kern/thread: rename thread_boot_barrier | Richard Braun | |
2019-08-16 | kern/latomic: implement fences as atomic signal fences | Richard Braun | |
2019-07-11 | kern/types: add TODO entry about cpu_flags_t | Richard Braun | |
2019-06-08 | kern/sref: remove left-over macro | Richard Braun | |
2019-06-08 | kern/log: add printf-specific warnings to log_printf_fn_t | Richard Braun | |
2019-06-08 | kern/sref: track epoch durations | Richard Braun | |
2019-06-05 | kern/sref: reduce minimum epoch duration | Richard Braun | |
2019-05-29 | kern/sref: schedule noref works with a high priority | Richard Braun | |
2019-05-29 | kern/sref: fix when to process review queues | Richard Braun | |
2019-05-28 | kern/sref: add optional debugging | Richard Braun | |
2019-05-26 | kern/log: fix bulletin publication | Richard Braun | |
2019-05-22 | Add a log print function type for information reporting | Richard Braun | |
This type allows the use of either printf-based or log-based functions when reporting information. | |||
2019-05-19 | kern/{log,shell}: use a bulletin for initial log dump notification | Richard Braun | |
2019-05-19 | kern/sref: rework | Richard Braun | |
Remove CPU registration, optimize manager weak-ups, replace the global review queue with local review queues. CPU registration and the global review queue were motivated by low power consumption, but considering how the kernel is evolving, this was likely overengineering. | |||
2019-05-05 | kern/log: fix log writes | Richard Braun | |
Erase old messages when the message buffer gets full. | |||
2019-05-05 | kern/timer: fix high priority work scheduling flags | Richard Braun | |
2019-04-24 | kern/log: rework with a message buffer | Richard Braun | |
2019-04-24 | kern/mbuf: new module | Richard Braun | |
2019-04-23 | New EMSGSIZE error code | Richard Braun | |
2019-01-25 | kern/log: fix overrun handling | Richard Braun | |
2019-01-17 | Replace "awaken" with "awoken" | Richard Braun | |
See https://www.merriam-webster.com/words-at-play/usage-awaken-awoken-awakened. | |||
2019-01-17 | kern/sleepq: fix wake-up chaining | Richard Braun | |
Thanks to Simon Venken for reporting this issue. | |||
2019-01-10 | kern/semaphore: rework | Richard Braun | |
The previous implementation, which uses a combination of fast and slow paths around accessing an atomic integer, suffers from a bug triggered when two or more posts are performed back-to-back, without a waiter decrementing the semaphore value in between. The first post would be the only one signalling a waiter. In addition, having a fast path that expects the absence of waiters probably doesn't make sense, as semaphores are expected to be used for signalling threads. As a result, it was decided to remove the fast path altogether, and protect the semaphore value with sleep queues. Finally, as part of the rework, semaphores now have a user-defined maximum value, in order to make the implementation of, e.g. wrappers for binary semaphores, convenient. Thanks to Simon Venken for reporting the bug. | |||
2019-01-10 | kern/sleepq: update acquire/lend documentation | Richard Braun | |
2019-01-10 | New EOVERFLOW error code | Richard Braun | |
2019-01-07 | kern/cbuf: update from upstream | Richard Braun | |
2018-11-21 | kern/turnstile: fix assertion | Richard Braun | |
Commit 5f202c9f744a5d9c5b751038edd2379b3d244227 reworked the way some assertions were performed, and introduced a mistake in an assertion in the turnstile module. | |||
2018-11-17 | kern/thread: fix suspend on dead threads | Richard Braun | |
2018-11-17 | kern/turnstile: improve comments | Richard Braun | |
2018-11-12 | kern/rdxtree: fix warning when assertions are disabled | Richard Braun | |
2018-11-05 | kern/thread: implement suspend/resume operations | Agustina Arzille | |
2018-08-12 | kern/thread: make thread-specific data optional | Richard Braun | |
2018-08-12 | kern/mutex/mutex_plain: fix macro names | Richard Braun | |
2018-08-12 | kern/rcu: explain the need for separate work/reader window flips | Richard Braun | |
2018-07-31 | kern/rcu: add TODO entry | Richard Braun | |
2018-07-30 | kern/symbol: work around clang aggressive optimization behavior | Richard Braun | |
2018-07-30 | kern/log: minor change | Richard Braun | |
Insignificant coding style fix. | |||
2018-07-30 | Rework assertive functions | Richard Braun | |
Instead of combining assertions and checking into single functions, rework those into pure checking functions usable with assert(). Those functions were introduced because of warnings about unused functions/variables caused by an earlier implementation of assert(). | |||
2018-07-25 | kern/{fmt,shell}: update from upstream | Richard Braun | |
The shell module has been "objectified" and now supports multiple instances with shareable command sets. | |||
2018-07-10 | kern/sleepq: make disabling interrupts optional | Richard Braun | |
Commit d2a89f7f6e976d022527c2a5a1c75268aab8cd49 changed sleep queues to allow semaphores to be signalled from interrupt handlers, but this implied disabling interrupts for all synchronization objects, and most of them do not require interrupts to be disabled. The sleep queue interface is augmented with interrupt-related versions. | |||
2018-07-10 | kern/panic: remove initialization operation | Richard Braun | |
Maintaining correct dependencies for the panic function is too complicated. It may be used very early, but would depend on the console, which is normally available quite late during initialization. Instead, the behavior of panic is now "best effort", i.e. if called at a time where it works, good, otherwise, the behavior is undefined, but should result in a freeze or a reset most of the time. | |||
2018-07-08 | kern/latomic: fix circular inclusions | Richard Braun | |
2018-07-07 | kern/thread: add thread name accessor | Richard Braun | |
2018-07-07 | x86: refactor interrupt/exception handling | Richard Braun | |
This commit merges the trap module into the cpu module in order to solve interface problems caused by the degree to which those two modules are actually coupled, i.e. it just makes a lot more sense to not separate them at all. The cpu module is also internally reworked with improved object and method definitions, that clarify the double fault handling code, among other things. | |||
2018-06-26 | Merge branch 'symtab' | Richard Braun | |
2018-06-26 | x86/strace: rework to use the embedded symbol table | Richard Braun | |
2018-06-26 | Add support for an embedded symbol table | Richard Braun | |
2018-06-26 | kern/macros: new __weak macro | Richard Braun | |
2018-06-26 | kern/perfmon: fix PMC ID allocation description | Richard Braun | |