| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2025-07-24 | x86_64: provide a clean slate on entry to long mode | Felix Morgner | 2 | -2/+16 | |
| 2025-07-24 | x86_64: implement robust C++ global initialization | Felix Morgner | 4 | -24/+26 | |
| 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 | -36/+66 | |
| 2025-07-23 | x86_64: rename _*_linear to _*_physical | Felix Morgner | 1 | -1/+1 | |
| 2025-07-23 | x86_64: extract linker script interface header | Felix Morgner | 1 | -6/+19 | |
| 2025-07-23 | libs: move asm_ptr to kstd | Felix Morgner | 1 | -5/+4 | |
| 2025-07-22 | x86_64: split bootstrap code along mode lines | Felix Morgner | 2 | -19/+25 | |
| 2025-07-22 | x86_64: extract constants from bootstrap code | Felix Morgner | 2 | -17/+7 | |
| 2025-07-22 | x86_64: clean up bootstrap code | Felix Morgner | 1 | -247/+265 | |
| 2025-07-18 | x86_64: set GDT entries as accessed. | Felix Morgner | 1 | -2/+3 | |
| 2025-07-18 | x86_64: add data segment to boot GDT | Felix Morgner | 1 | -6/+9 | |
| 2025-07-18 | x86_64: don't lose multi boot information pointer | Felix Morgner | 1 | -2/+2 | |
| Since the transition to a PIE, more registers are required to perform the relative lookups of data references. As part of that change, a subtle mistake was introduced in _start, overwriting the multiboot information pointer that gets handed to kernel by the boot loader in %ebx. | |||||
| 2025-07-18 | x86-64: prepare new architecture | Felix Morgner | 4 | -74/+137 | |
| 2025-07-18 | kernel: turn into a PIE | Felix Morgner | 1 | -30/+82 | |
| 2025-07-14 | build: reintroduce bootable ISO | Felix Morgner | 3 | -7/+11 | |
| 2025-07-14 | x86_64: move basic text output implementation | Felix Morgner | 3 | -80/+80 | |
| 2025-07-14 | arch: prepare interfaces | Felix Morgner | 4 | -1/+97 | |
| 2025-07-14 | libs: begin extraction of kernel std | Felix Morgner | 3 | -140/+128 | |
| 2025-07-14 | x86_64: fix syscall error code reading | Felix Morgner | 1 | -1/+1 | |
| 2025-07-13 | build: update toolchain | Felix Morgner | 1 | -1/+2 | |
| 2025-06-09 | Add constexpr to create segment descriptor | Matteo Gmür | 1 | -5/+5 | |
| 2025-05-30 | Clean up files | Matteo Gmür | 1 | -105/+0 | |
| 2025-05-27 | Readd text kernels ection with explanation | Matteo Gmür | 1 | -2/+2 | |
| 2025-05-20 | Improve syscalls and user heap allocator | Matteo Gmür | 2 | -44/+42 | |
| 2025-05-18 | Make new usable for both kernel and user calls | Matteo Gmür | 4 | -19/+61 | |
| 2025-05-18 | update linker file and improve section parsing | Fabian Imhof | 1 | -5/+12 | |
| 2025-05-16 | Fix bug where level 4 to level 2 entries are not mapped user accesible. | Matteo Gmür | 2 | -18/+0 | |
| 2025-05-16 | Attempt to move atomic into stl text as well | Matteo Gmür | 1 | -0/+9 | |
| 2025-05-12 | Fix crashes because of are frame allocator copy | Matteo Gmür | 5 | -37/+48 | |
| 2025-05-12 | Adjust user heap to lazy allocate heap | Matteo Gmür | 6 | -29/+9 | |
| 2025-05-11 | make frame_allocator and active_page_table statically available | Fabian Imhof | 3 | -23/+43 | |
| 2025-05-11 | Adjust user heap allocator with expanding heap functionality | Matteo Gmür | 3 | -5/+70 | |
| 2025-05-11 | rename page table entry function | Fabian Imhof | 1 | -1/+1 | |
| 2025-05-10 | experiment with globally available linker sections and page table entry flags | Fabian Imhof | 1 | -0/+2 | |
| 2025-05-09 | Switch uer heap to linked list allocator | Matteo Gmür | 1 | -32/+154 | |
| 2025-05-09 | Move necessary code into user text | Matteo Gmür | 2 | -1/+7 | |
| 2025-05-08 | wip allocating heap memory in user mode | Fabian Imhof | 5 | -19/+81 | |
| 2025-05-07 | wip custom heap allocation functions for user mode | Fabian Imhof | 3 | -31/+55 | |
| 2025-05-06 | Remove user Mode Access to VGA / Heap and Kernel Methods. | Matteo Gmür | 5 | -5/+15 | |
| 2025-05-05 | Remove the addition of USER_ACCESSIBLE flag to every entry created | Matteo Gmür | 5 | -25/+12 | |
| 2025-05-05 | Add comments to syscall components | Matteo Gmür | 4 | -5/+5 | |
| 2025-05-05 | Fix recursive include using extra file | Matteo Gmür | 5 | -45/+47 | |
| 2025-05-04 | move user-mode code into own namespace and linker section | Fabian Imhof | 2 | -25/+38 | |
| 2025-05-04 | fix returning from syscall | Fabian Imhof | 2 | -2/+5 | |
| 2025-05-03 | rename syscall result variable | Fabian Imhof | 1 | -3/+3 | |
| 2025-05-03 | write wrapper function for syscall | Fabian Imhof | 6 | -100/+133 | |
| 2025-05-03 | Remove zomby code and fix 32-bit compability crash | Matteo Gmür | 2 | -31/+8 | |
| 2025-05-02 | Finish implementing 8-byte GDT entries and syscall arg loads. | Matteo Gmür | 9 | -121/+127 | |
| 2025-05-01 | WIP experiment with converting GDT to 8-Byte entries | Fabian Imhof | 7 | -39/+90 | |
| 2025-04-30 | Note linux calling contract for implementation | Matteo Gmür | 1 | -1/+11 | |
