summaryrefslogtreecommitdiffstats
path: root/arch/x86
AgeCommit message (Collapse)AuthorFilesLines
2026-06-09Apply the GPLv3 licenseAlexey Gavrilov26-0/+468
Copyright disclaimer and copyright note are prepending to a every source file. Add license section in the `README.md` file. Create the LICENSE` file with license information. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-03-28Set architecture bitness in nasm filesAlexey Gavrilov1-0/+1
Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-03-28Cmake build type at the generation stageAlexey Gavrilov4-2/+12
Fix in *nasm* files - set architecture bitness. Move compiler flags from *toolchain* file to *requirements target* considering cmake files. This solution allows available of multi-configurations generators to pass compiler options without affecting on single-configuration generators. TODO - Debug information - Image creation - Build under window platform (optional) Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-03-27Cmake build generator support: build stageAlexey Gavrilov16-5/+181
Multi-target architecture implementation: each root source code directory presents the one *INTERFACE* target to it's subdirectory subtargets that link only as *STATIC* library. For instance, *arch* directory presents *Architecture* target then *Architecture* target has *CPUID*, *IO*, *PORT* and etc. dependencies Exact order of linking targets is: boot.o CRTIBUNDLE <TARGETS> CRTNBUNDLE. Sequence destruction cause to UB. Please to pay attention to this. TODO - Debug information - Build type - Toolchain file - Image creation - Build by WinGW compiler on Windows platform (optional) Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2025-12-20Linker script reworkAlexey Gavrilov1-0/+13
`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-12-11Defines refactoring in msr modulecpuid_refactorAlexey Gavrilov2-16/+26
New cpuid model uses instead of old in some msr definitions. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2025-12-11Put in cpuid some definitions and declarationsAlexey Gavrilov2-311/+110
Declarations: `acquireInformation` for two extended cpuid commands. Overloading `operator&` for enum classes in `VersionInfo` structure to get proper bit value. All declarations from ==Cpuid.h== file are define in the corresponding cpp file. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2025-12-01Refactoring cpuid model interactionAlexey Gavrilov4-365/+236
Patch for support CPU identification feature. Model smash on two pieces: platform-independent and dependent accordingly. The first obtains architecture details from CPU by special registers or execute instruction and filling proper structure. The second piece needs for more universality to use in independent code. Currently, platform-independent part supports only x86 cpuid(0h,01h) leafs. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2024-05-24Pic + Tuple + refactor PrimaryInitialization classAlexey Gavrilov10-147/+703
2024-04-10VGADisplay some updatesAlexey Gavrilov2-3/+0
2024-04-10MSR + IDT + test ISRsAlexey Gavrilov7-11/+485
2024-03-31IDT + uintptr updateAlexey Gavrilov6-39/+259
2024-03-27Some updates: rename memAddr, define architectureAlexey Gavrilov1-2/+0
2024-03-19Implementation acpi tables through structsAlexey Gavrilov1-1/+0
2024-03-08Cpuinfo refactorAlexey Gavrilov2-28/+9
2024-03-06Initialization mechanismAlexey Gavrilov10-41/+40
2024-03-05GDT rename procedure + edit .gitignoreAlexey Gavrilov3-2/+15
2024-02-22Some updatesAlexey Gavrilov2-1/+0
2024-02-22Implement support of cpuid instruction + include folder + some updatesAlexey Gavrilov13-79/+794
2023-11-04Support for GDT has been written + add makefile debug modeAlexey Gavrilov6-0/+221
2023-08-20Getting started with print on display + some fixesAlexey Gavrilov8-0/+256