aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2025-10-30chore: fix header groupingFelix Morgner2-0/+2
2025-10-29chore: configure clang-tidyFelix Morgner7-24/+40
2025-10-29chore: reformat source codeFelix Morgner43-121/+247
2025-10-29x86_64/boot: add missing linker script symbolsFelix Morgner1-23/+43
2025-10-29x86_64/memory: fix region_allocator initializationFelix Morgner1-2/+2
2025-10-29x86_64/memory: fix region allocator initializationFelix Morgner1-1/+1
During construction, the memory map was not extracted from the supplied memory information. This lead to a situation in which the allocator would never allocate any frames since it believed that there was no memory in the system.
2025-10-29x86_64/memory: simplify region allocatorFelix Morgner1-5/+8
2025-10-29x86_64: extract early boot stepsFelix Morgner1-14/+19
2025-10-29x86_64: reduce using namespace useFelix Morgner1-10/+10
2025-10-29kapi: export frame_allocator interfaceFelix Morgner3-6/+19
2025-10-29kapi: move halt to cpu namespaceFelix Morgner2-4/+4
2025-10-29kapi: move frame and address to KAPIFelix Morgner16-194/+54
2025-10-27x86_64: move kapi implementation to srcFelix Morgner4-5/+5
2025-07-24kapi: rework text device interfaceFelix Morgner5-119/+80
2025-07-24x86_64: move files out of the wayFelix Morgner96-0/+0
2025-07-24x86_64: clean up hw detailsFelix Morgner7-62/+51
2025-07-24x86_64: clean up vga hierarchyFelix Morgner4-42/+38
2025-07-24build: rename targetsFelix Morgner1-6/+6
2025-07-24build: clean up configurationFelix Morgner5-184/+11
2025-07-24build: factor out kernel APIFelix Morgner8-81/+37
2025-07-24build: move linker script dependency to kernelFelix Morgner2-8/+2
2025-07-24x86_64: provide a clean slate on entry to long modeFelix Morgner2-2/+16
2025-07-24x86_64: implement robust C++ global initializationFelix Morgner6-57/+36
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-24x86_64: implement high/low splitFelix Morgner3-51/+90
2025-07-23x86_64: rename _*_linear to _*_physicalFelix Morgner3-11/+11
2025-07-23x86_64: improve linker script interface docsFelix Morgner1-13/+38
- Add file-level Doxygen block to provide overall context. - Clarify the origin of the declared symbols. - Add information regarding their intended use.
2025-07-23x86_64: extract linker script interface headerFelix Morgner2-6/+41
2025-07-23x86_64: move port_io to x86_64/ioFelix Morgner2-9/+8
2025-07-23libs: move asm_ptr to kstdFelix Morgner3-65/+8
2025-07-23x86_64: remove stray copy of ld scriptFelix Morgner1-150/+0
2025-07-22x86_64: split bootstrap code along mode linesFelix Morgner3-20/+27
2025-07-22x86_64: extract constants from bootstrap codeFelix Morgner4-18/+74
2025-07-22x86_64: clean up bootstrap codeFelix Morgner1-247/+265
2025-07-18x86_64: set GDT entries as accessed.Felix Morgner1-2/+3
2025-07-18x86_64: add data segment to boot GDTFelix Morgner1-6/+9
2025-07-18x86_64: don't lose multi boot information pointerFelix Morgner1-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-18x86-64: prepare new architectureFelix Morgner11-166/+519
2025-07-18kernel: turn into a PIEFelix Morgner1-30/+82
2025-07-14build: reintroduce bootable ISOFelix Morgner4-8/+12
2025-07-14x86_64: move basic text output implementationFelix Morgner6-92/+105
2025-07-14arch: move and improve asm_pointerFelix Morgner1-0/+56
2025-07-14x86_64: remove forward_value_iteratorFelix Morgner1-121/+0
2025-07-14libs: move stack to kstdFelix Morgner1-212/+0
2025-07-14x86_64: remove containerFelix Morgner2-315/+0
2025-07-14libs: move shared_pointer to kstdFelix Morgner1-269/+0
2025-07-14libs: move unique_ptr to kstdFelix Morgner1-204/+0
2025-07-14libs: move vector to kstdFelix Morgner1-601/+0
2025-07-14arch: make linkableFelix Morgner2-2/+5
2025-07-14arch: prepare interfacesFelix Morgner6-142/+280
2025-07-14ide: start large-scale restructuringFelix Morgner4-0/+44