aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64
AgeCommit message (Collapse)AuthorFilesLines
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 Morgner4-181/+11
2025-07-24build: factor out kernel APIFelix Morgner4-29/+36
2025-07-24build: move linker script dependency to kernelFelix Morgner1-8/+0
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 Morgner2-51/+86
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 Morgner2-9/+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-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 Morgner1-2/+1
2025-07-14arch: prepare interfacesFelix Morgner5-137/+275
2025-07-14libs: rename multiboot aliasFelix Morgner1-1/+1
2025-07-14libs: begin extraction of kernel stdFelix Morgner11-356/+172
2025-07-14libs: extract multiboot libraryFelix Morgner1-0/+4
2025-07-14memory: adapt to changes memory layoutFelix Morgner1-2/+2
2025-07-14x86_64: fix syscall error code readingFelix Morgner1-1/+1
2025-07-13build: update toolchainFelix Morgner1-1/+2