Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-07-30 | tools/gen_symtab.py: fix input parsing | Richard Braun | |
2018-07-30 | kern/symbol: work around clang aggressive optimization behavior | Richard Braun | |
2018-07-30 | tools/gen_symtab.py: put symbol names in the symbol table section | Richard Braun | |
GCC apparently reserves memory for all symbol names in the .rodata section which meant adding symbol names would reuse those without changing the size of the .rodata section. That's not the case with Clang. | |||
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 | Makefile: print architecture-specific help | Richard Braun | |
2018-07-10 | x86/lapic: fix compiler warnings | Richard Braun | |
2018-07-10 | x86: add portable architecture-specific qemu make target | Richard Braun | |
This target makes running QEMU simpler on non-x86 hosts. | |||
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-10 | x86/cpu: optimize interrupt handling | Richard Braun | |
Now that exceptions and interrupts are clearly separated, stack switching on an interrupt is unconditional. | |||
2018-07-10 | x86/cpu: fix excetpion handling on i386 | Richard Braun | |
2018-07-08 | x86/pmu_intel: use the compiler popcount built-in | Richard Braun | |
2018-07-08 | Make linking against libgcc a global requirement | Richard Braun | |
Linking against libgcc was made a per-architecture option for convenience reasons, an in particular because the kernel didn't have support for the red zone required by the AMD64 ABI. But lacking the compiler companion library proved to be problematic early after, so red zone support was implemented, and libgcc is now unconditionnally linked again. | |||
2018-07-08 | x86/cpu: add red zone support | Richard Braun | |
Supporting the red zone is required for full ABI compliance, and in particular to safely link against libgcc. | |||
2018-07-08 | kern/latomic: fix circular inclusions | Richard Braun | |
2018-07-07 | x86/cpu: improve CPU flags handling | Richard Braun | |
2018-07-07 | x86/cpu: use atomic operations for CPU boot synchronization | Richard Braun | |
2018-07-07 | x86/{boot,cpu}: rework AP boot stack management | Richard Braun | |
2018-07-07 | x86/cpu: turn cpu_delay into a compiler barrier | Richard Braun | |
2018-07-07 | x86/boot: turn some far returns into far jumps | 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-07-07 | x86/cpu: add accessors | Richard Braun | |
The accessors provide access to the width of physical addresses and CPUID/vendor information. | |||
2018-06-27 | x86/boot: rename entry point | Richard Braun | |
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 | x86: update linker script to include 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 | Makefile: remove linker script dependency file when cleaning | Richard Braun | |
2018-06-26 | xbuild: minor changes | Richard Braun | |
Improve the naming of compiler-related variables as well as their description. | |||
2018-06-26 | kern/perfmon: fix PMC ID allocation description | Richard Braun | |
2018-06-26 | kern/thread: update comment | Richard Braun | |
2018-06-25 | Merge branch 'perfmon' | Richard Braun | |
2018-06-25 | x86: add performance monitoring support | Richard Braun | |
2018-06-25 | kern/perfmon: new module | Richard Braun | |
2018-06-25 | kern/thread: new thread_cpu function | Richard Braun | |
2018-06-25 | kern/thread: slightly rework thread state handling | Richard Braun | |
2018-06-25 | kern/timer: add comment about timer_schedule | Richard Braun | |
2018-06-25 | kern/percpu: introduce per-CPU operations | Richard Braun | |
2018-06-25 | x86/cpu: new cpu_get_freq function | Richard Braun | |
2018-06-25 | x86/cpu: new 64-bit MSR accessors | Richard Braun | |
2018-06-25 | x86/cpu: fix and improve MSR accessors | Richard Braun | |
2018-06-25 | x86/cpu: identify processor vendor | Richard Braun | |
2018-06-24 | kern/kmem: add option to disable the CPU layer | Richard Braun | |
2018-05-17 | kern/xcall: add missing dependency on syscnt_setup | Richard Braun | |
2018-05-14 | kern/thread: make thread_create slightly more convenient | Richard Braun | |
Don't require the caller to pass a pointer to the newly created thread. | |||
2018-05-08 | Makefile: fix out-of-tree builds | Richard Braun | |
Fix the path of the linker script dependency file so that it's generated in the build tree. |