<feed xmlns='http://www.w3.org/2005/Atom'>
<title>objective.git/kernel, branch cmake</title>
<subtitle>Objective Kernel source code
</subtitle>
<id>https://git.objectiveos.org/objective/objective.git/atom?h=cmake</id>
<link rel='self' href='https://git.objectiveos.org/objective/objective.git/atom?h=cmake'/>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/'/>
<updated>2026-03-27T07:03:55Z</updated>
<entry>
<title>Cmake build generator support: build stage</title>
<updated>2026-03-27T07:03:55Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>alexey.gavrilov@mail.com</email>
</author>
<published>2026-03-27T07:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=6ffe96d1e3f0289c2070e050cf8e1a30288e6d91'/>
<id>urn:sha1:6ffe96d1e3f0289c2070e050cf8e1a30288e6d91</id>
<content type='text'>
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 &lt;TARGETS&gt; 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 &lt;alexey.gavrilov@mail.com&gt;
</content>
</entry>
<entry>
<title>Global variables initialization implementation</title>
<updated>2025-12-20T12:39:05Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>alexey.gavrilov@mail.com</email>
</author>
<published>2025-12-20T12:39:05Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=a4dea4148157a94a9143dbbd92fdd88b4358676c'/>
<id>urn:sha1:a4dea4148157a94a9143dbbd92fdd88b4358676c</id>
<content type='text'>
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 &lt;alexey.gavrilov@mail.com&gt;
</content>
</entry>
<entry>
<title>Linker script refactor</title>
<updated>2025-12-20T08:56:06Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>alexey.gavrilov@mail.com</email>
</author>
<published>2025-12-20T08:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=a72c27d948ee8cf542f8d38c7026876af4875e6b'/>
<id>urn:sha1:a72c27d948ee8cf542f8d38c7026876af4875e6b</id>
<content type='text'>
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 &lt;alexey.gavrilov@mail.com&gt;
</content>
</entry>
<entry>
<title>Linker script rework</title>
<updated>2025-12-20T07:16:47Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>alexey.gavrilov@mail.com</email>
</author>
<published>2025-12-17T07:13:08Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=eb6a12e18d45879ec383921f0c7378120b71d159'/>
<id>urn:sha1:eb6a12e18d45879ec383921f0c7378120b71d159</id>
<content type='text'>
`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 &lt;alexey.gavrilov@mail.com&gt;
</content>
</entry>
<entry>
<title>Refactoring cpuid model interaction</title>
<updated>2025-12-01T14:40:49Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>alexey.gavrilov@mail.com</email>
</author>
<published>2025-12-01T14:40:49Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=75ef20c5889005758ed8c30c3279954f16529a16'/>
<id>urn:sha1:75ef20c5889005758ed8c30c3279954f16529a16</id>
<content type='text'>
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 &lt;alexey.gavrilov@mail.com&gt;
</content>
</entry>
<entry>
<title>Kheap section + metadata</title>
<updated>2025-05-10T09:04:55Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>rebovas@yahoo.com</email>
</author>
<published>2025-05-10T09:04:55Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=5d3179d0e2c3915af65dedef0952672220ac4714'/>
<id>urn:sha1:5d3179d0e2c3915af65dedef0952672220ac4714</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pic + Tuple + refactor PrimaryInitialization class</title>
<updated>2024-05-24T07:07:47Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>rebovas@yahoo.com</email>
</author>
<published>2024-05-24T07:07:47Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=5fbf41e967ed8e413ecf1e6abb72e8d285169df4'/>
<id>urn:sha1:5fbf41e967ed8e413ecf1e6abb72e8d285169df4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MSR + IDT + test ISRs</title>
<updated>2024-04-10T05:58:20Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>rebovas@yahoo.com</email>
</author>
<published>2024-04-10T05:58:20Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=515a11b818e4140845f69bb26a19d270a9e42178'/>
<id>urn:sha1:515a11b818e4140845f69bb26a19d270a9e42178</id>
<content type='text'>
</content>
</entry>
<entry>
<title>IDT + uintptr update</title>
<updated>2024-03-31T07:39:51Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>rebovas@yahoo.com</email>
</author>
<published>2024-03-31T07:39:51Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=49cfee4e370892df8404e56d53b04dde196f82f2'/>
<id>urn:sha1:49cfee4e370892df8404e56d53b04dde196f82f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Some updates: rename memAddr, define architecture</title>
<updated>2024-03-27T12:49:10Z</updated>
<author>
<name>Alexey Gavrilov</name>
<email>rebovas@yahoo.com</email>
</author>
<published>2024-03-27T12:49:10Z</published>
<link rel='alternate' type='text/html' href='https://git.objectiveos.org/objective/objective.git/commit/?id=e51dea0b6e34c2959b3b0f4a5db6b11d4b619960'/>
<id>urn:sha1:e51dea0b6e34c2959b3b0f4a5db6b11d4b619960</id>
<content type='text'>
</content>
</entry>
</feed>
