summaryrefslogtreecommitdiffstats
path: root/kernel/boot.s
AgeCommit message (Collapse)AuthorFilesLines
2025-12-20Global variables initialization implementationlinker_scriptAlexey Gavrilov1-5/+10
User implementation of C runtime library objects (`crti.s` and `crtn.s`) for initialization (termination functionality are ignored). Changing files order passed to the linker. Rough order is: boot.s crti.o crtbegin.o other-link-objects.o crtend.o crtn.o Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2025-12-20Linker script reworkAlexey Gavrilov1-27/+2
`memory.ld` is a architecture-dependent ld config provides some general symbols which every `memory.ld` config must assign and memory regions associated with each output section. 'linker.ld' config file presents segments configuration. Multiboot section filling move in the 'linker.ld' file. Recommendation for further patches: controlled logic implementation for multiboot version and header/entries in build configuration tool (CMake or make). For instance, multiboot version and video mode selection through variable passing in build system: `cmake ... -DMULTIBOOT_VERSION=2 -DMULTIBOOT_VIDEO_MODE=TEXT_VIDEO_MODE` or 'export MULTIBOOT_VERSION=2; export MULTIBOOT_VIDEO_MODE=TEXT_VIDEO_MODE'. Then build system do proper filling of `.multiboot` section depends on passing variables. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2025-05-10Kheap section + metadataAlexey Gavrilov1-3/+12
2024-04-10MSR + IDT + test ISRsAlexey Gavrilov1-1/+0
2024-03-31IDT + uintptr updateAlexey Gavrilov1-0/+2
2023-08-20Edit README, Makefile, ld confAlexey Gavrilov1-4/+2
2023-08-08First commitAlexey Gavrilov1-0/+28