summaryrefslogtreecommitdiffstats
path: root/kernel/linker.ld
AgeCommit message (Collapse)AuthorFilesLines
2025-12-20Linker script refactorAlexey Gavrilov1-10/+18
In general this update touching sections for initialization and destruction of global variables. DISCARD sections added (.fini and .comment) and particular sections (.ctors, .dtors, .init, .fini) moved into more common sections (.rodata and .text) accordingly. This decision allows to save a some RAM. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2025-12-20Linker script reworkAlexey Gavrilov1-30/+58
`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-4/+20
2023-11-04Support for GDT has been written + add makefile debug modeAlexey Gavrilov1-0/+1
2023-08-20Edit README, Makefile, ld confAlexey Gavrilov1-1/+5
2023-08-08First commitAlexey Gavrilov1-0/+28