| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2026-09-04 | x86_64/cpu: isolate kernel and IST1 stack | Felix Morgner | 1 | -1/+13 | |
| Previously, the kernel stack was allocated inside the .kernel_bss section, along other uninitialized data. While this works, it assumes that the section will always be laid out with the kernel stack at the top. If that is not the case, the allocated guard page before .kernel_bss would not trigger a #PF since out-of-bounds (overflow) access would quietly overwrite other data in the section, thus potentially corrupting global kernel data. At the same time, there was no separate section (and guard page) for the future #DF exception stack (IST1 in our case). Thus we allocate a section, and a guard page, while we are already modifying the linker script. | |||||
| 2026-08-26 | kernel/fs: rework filesystem probing | Felix Morgner | 1 | -3/+3 | |
| 2026-08-01 | kapi: add automatic driver registration | Felix Morgner | 1 | -0/+11 | |
| 2026-06-02 | kernel/vfs: extract fs type registry | Felix Morgner | 1 | -3/+4 | |
| 2026-06-02 | kernel/vfs: rename type descriptor section | Felix Morgner | 1 | -3/+3 | |
| 2026-06-02 | kernel/vfs: prepare fs type registration support | Felix Morgner | 1 | -0/+5 | |
| 2026-03-16 | x86_64: remove stl_* sections for now | Felix Morgner | 1 | -12/+8 | |
| We currently don't really support user mode anymore, since it doesn't integrate well within the architecture. We therefore need no special handling of STL and kstd anymore. | |||||
| 2025-12-29 | x86_64/boot: fix section assignments in ld script | Felix Morgner | 1 | -67/+66 | |
| 2025-07-24 | x86_64: implement robust C++ global initialization | Felix Morgner | 1 | -31/+9 | |
| Implement a comprehensive mechanism to ensure correct C++ runtime initialization before the kernel main function is called. This replaces the previous, incomplete reliance on an `_init` function. The new design robustly handles both legacy `.ctors` and modern `.init_array` initialization schemes used by the GNU toolchain. A single C++ function, `invoke_global_constructors`, now iterates through both arrays of function pointers to ensure all types of global initializers are executed. | |||||
| 2025-07-24 | x86_64: implement high/low split | Felix Morgner | 1 | -15/+20 | |
| 2025-07-23 | x86_64: rename _*_linear to _*_physical | Felix Morgner | 1 | -4/+4 | |
| 2025-05-30 | Clean up files | Matteo Gmür | 1 | -6/+0 | |
| 2025-05-20 | Improve syscalls and user heap allocator | Matteo Gmür | 1 | -0/+6 | |
| 2025-05-18 | update linker file and improve section parsing | Fabian Imhof | 1 | -4/+3 | |
| 2025-05-16 | Fix bug where level 4 to level 2 entries are not mapped user accesible. | Matteo Gmür | 1 | -1/+1 | |
| 2025-05-16 | Attempt to move atomic into stl text as well | Matteo Gmür | 1 | -8/+8 | |
| 2025-05-15 | add cpp standard library to .stl_text section (which is user accessible) | Fabian Imhof | 1 | -0/+2 | |
| 2025-05-10 | experiment with globally available linker sections and page table entry flags | Fabian Imhof | 1 | -0/+5 | |
| 2025-05-09 | Move necessary code into user text | Matteo Gmür | 1 | -0/+5 | |
| 2025-05-04 | add user_text linker section and temporarily add elf_sections.txt | Fabian Imhof | 1 | -2/+2 | |
| 2025-04-02 | fix interrupt handler and idt | Fabian Imhof | 1 | -0/+5 | |
| 2024-12-01 | Fix guard page and ensure it crashes even if guard page is skipped altogether | Matteo Gmür | 1 | -10/+10 | |
| 2024-11-24 | implement basic heap and remap it | Fabian Imhof | 1 | -3/+2 | |
| 2024-11-03 | align elf sections to 4kb | Fabian Imhof | 1 | -7/+4 | |
| 2024-10-26 | wip | Fabian Imhof | 1 | -5/+3 | |
| 2024-10-26 | move paging alignment | Fabian Imhof | 1 | -3/+3 | |
| 2024-10-26 | fix mmap type, adjust linker, use std::array | Fabian Imhof | 1 | -0/+3 | |
| 2024-10-06 | Remove high memory kernel and needless prints | Matteo Gmür | 1 | -12/+10 | |
| 2024-09-17 | build: fix CRT code linking | Felix Morgner | 1 | -6/+6 | |
| CMake used to generate object files with a .obj extension. This appears to no longer be the case. As a fallback, we now match on 'o*' for the CRT code in the linker script. As of now, it is unclear when this change happened. | |||||
| 2024-09-17 | build: migrate away from conan | Felix Morgner | 1 | -0/+139 | |
