aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src
AgeCommit message (Collapse)AuthorFilesLines
2025-11-24x86-64/kapi: reimplement ia32_efer supportFelix Morgner1-2/+1
2025-11-21x86_64: fix enabling of write protectionFelix Morgner1-1/+1
2025-11-21x86_64: rework control register accessFelix Morgner3-67/+4
2025-11-18x86_64/memory: perform slight cleanupFelix Morgner1-4/+1
2025-10-31build: enable lintingFelix Morgner3-8/+8
2025-10-29chore: configure clang-tidyFelix Morgner4-9/+17
2025-10-29chore: reformat source codeFelix Morgner3-5/+7
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 Morgner2-3/+15
2025-10-29kapi: move halt to cpu namespaceFelix Morgner1-3/+3
2025-10-29kapi: move frame and address to KAPIFelix Morgner6-22/+20
2025-10-27x86_64: move kapi implementation to srcFelix Morgner3-0/+94
2025-07-24kapi: rework text device interfaceFelix Morgner1-8/+15
2025-07-24x86_64: move files out of the wayFelix Morgner46-2270/+0
2025-07-24x86_64: clean up hw detailsFelix Morgner3-31/+30
2025-07-24x86_64: clean up vga hierarchyFelix Morgner1-3/+3
2025-07-24build: clean up configurationFelix Morgner3-114/+0
2025-07-24build: factor out kernel APIFelix Morgner3-27/+35
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 Morgner4-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-24x86_64: implement high/low splitFelix Morgner1-36/+66
2025-07-23x86_64: rename _*_linear to _*_physicalFelix Morgner1-1/+1
2025-07-23x86_64: extract linker script interface headerFelix Morgner1-6/+19
2025-07-23libs: move asm_ptr to kstdFelix Morgner1-5/+4
2025-07-22x86_64: split bootstrap code along mode linesFelix Morgner2-19/+25
2025-07-22x86_64: extract constants from bootstrap codeFelix Morgner2-17/+7
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 Morgner4-74/+137
2025-07-18kernel: turn into a PIEFelix Morgner1-30/+82
2025-07-14build: reintroduce bootable ISOFelix Morgner3-7/+11
2025-07-14x86_64: move basic text output implementationFelix Morgner3-80/+80
2025-07-14arch: prepare interfacesFelix Morgner4-1/+97
2025-07-14libs: begin extraction of kernel stdFelix Morgner3-140/+128
2025-07-14x86_64: fix syscall error code readingFelix Morgner1-1/+1
2025-07-13build: update toolchainFelix Morgner1-1/+2
2025-06-09Add constexpr to create segment descriptorMatteo Gmür1-5/+5
2025-05-30Clean up filesMatteo Gmür1-105/+0
2025-05-27Readd text kernels ection with explanationMatteo Gmür1-2/+2
2025-05-20Improve syscalls and user heap allocatorMatteo Gmür2-44/+42
2025-05-18Make new usable for both kernel and user callsMatteo Gmür4-19/+61
2025-05-18update linker file and improve section parsingFabian Imhof1-5/+12
2025-05-16Fix bug where level 4 to level 2 entries are not mapped user accesible.Matteo Gmür2-18/+0
2025-05-16Attempt to move atomic into stl text as wellMatteo Gmür1-0/+9