Commit Graph

960 Commits

Author SHA1 Message Date
e62820187d Resolve compilation errors due to updated CPUID requests
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 16s
Builds / ExectOS (i686, debug) (push) Failing after 16s
Builds / ExectOS (amd64, release) (push) Failing after 28s
Builds / ExectOS (i686, release) (push) Failing after 28s
2025-08-10 17:01:28 +02:00
a6814aa2a3 Resolve compilation errors due to renamed CPUID requests
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 14s
Builds / ExectOS (i686, debug) (push) Failing after 17s
Builds / ExectOS (amd64, release) (push) Failing after 28s
Builds / ExectOS (i686, release) (push) Failing after 25s
2025-08-10 16:59:32 +02:00
560bd8b65e Update CPUID requests
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 26s
Builds / ExectOS (amd64, release) (push) Failing after 20s
Builds / ExectOS (i686, release) (push) Failing after 25s
Builds / ExectOS (i686, debug) (push) Failing after 19s
2025-08-10 16:53:45 +02:00
a431816243 Update CPUID requests
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 20s
Builds / ExectOS (i686, release) (push) Successful in 22s
Builds / ExectOS (amd64, debug) (push) Failing after 34s
Builds / ExectOS (i686, debug) (push) Successful in 35s
2025-08-10 16:52:59 +02:00
574582f977 Add forward declarations for CPUID feature enums
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 34s
2025-08-10 16:36:32 +02:00
23f022965a Add forward declarations for CPUID feature enums
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (amd64, release) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 39s
2025-08-10 16:35:40 +02:00
aef81760d0 Rename enumeration lists
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 25s
Builds / ExectOS (i686, debug) (push) Successful in 23s
Builds / ExectOS (i686, release) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 40s
2025-08-10 16:33:36 +02:00
bb5deb10d5 Rename enumeration lists
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 24s
Builds / ExectOS (i686, debug) (push) Successful in 23s
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 36s
2025-08-10 16:32:49 +02:00
69d4e0cd84 Add enums for CPU feature flags used in CPUID detection
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 23s
Builds / ExectOS (amd64, debug) (push) Successful in 24s
Builds / ExectOS (amd64, release) (push) Successful in 36s
Builds / ExectOS (i686, release) (push) Successful in 35s
2025-08-10 16:27:14 +02:00
a9a264252a Add enums for CPU feature flags used in CPUID detection
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (amd64, release) (push) Successful in 35s
2025-08-10 16:25:26 +02:00
a539191a33 Implement paging level detection for i686 based on CPUID and boot parameters
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 24s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 36s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
2025-08-10 15:42:41 +02:00
3f2496644f Compile bootutil.c
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (i686, debug) (push) Successful in 33s
Builds / ExectOS (amd64, debug) (push) Successful in 34s
2025-08-10 00:12:01 +02:00
daf8b87832 Expose GetBooleanParameter via loader protocol
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 17s
Builds / ExectOS (i686, release) (push) Failing after 25s
Builds / ExectOS (i686, debug) (push) Failing after 18s
Builds / ExectOS (amd64, release) (push) Failing after 27s
2025-08-10 00:10:36 +02:00
a2b9af56dd Add boot utils to loader protocol
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 26s
Builds / ExectOS (i686, debug) (push) Successful in 24s
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, release) (push) Successful in 32s
2025-08-10 00:07:40 +02:00
8de661494a Add BlGetBooleanParameter declaration
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 24s
Builds / ExectOS (amd64, debug) (push) Successful in 26s
Builds / ExectOS (i686, release) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Successful in 33s
2025-08-10 00:04:25 +02:00
07f2e73a22 Add helper functions used by the boot protocol during system startup
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 1m53s
Builds / ExectOS (i686, debug) (push) Successful in 1m51s
Builds / ExectOS (i686, release) (push) Successful in 2m54s
Builds / ExectOS (amd64, release) (push) Successful in 2m57s
2025-08-09 23:58:52 +02:00
2472cbbff4 Revert 'Simplify and correct hardware pool mapping'
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 44s
Builds / ExectOS (amd64, release) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 9m27s
2025-08-09 17:15:35 +02:00
58c2092049 Revert latest changes
Some checks failed
Builds / ExectOS (i686, release) (push) Failing after 22s
Builds / ExectOS (i686, debug) (push) Failing after 23s
Builds / ExectOS (amd64, release) (push) Successful in 2m9s
Builds / ExectOS (amd64, debug) (push) Successful in 2m11s
2025-08-09 14:53:31 +02:00
311d5e1f5c Simplify and correct hardware pool mapping
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 3s
Builds / ExectOS (i686, debug) (push) Failing after 4s
Builds / ExectOS (amd64, release) (push) Failing after 7s
Builds / ExectOS (i686, release) (push) Failing after 6s
2025-08-08 21:49:21 +02:00
39d8f82caf Define MM_HARDWARE_POOL_PAGE_COUNT
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 11s
Builds / ExectOS (amd64, release) (push) Failing after 9s
Builds / ExectOS (i686, release) (push) Failing after 8s
Builds / ExectOS (i686, debug) (push) Failing after 11s
2025-08-08 21:44:33 +02:00
d7552f1dce Fix race condition in HlComPortReadLsr
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (amd64, release) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 43s
Builds / ExectOS (i686, debug) (push) Successful in 46s
The static local variable RingFlag in HlComPortReadLsr caused shared state across multiple calls and ports, leading to race conditions and incorrect behavior.
2025-08-06 09:01:47 +02:00
9badf36ce0 Add ring indicator field to CPPORT structure
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 46s
Builds / ExectOS (amd64, debug) (push) Successful in 48s
Builds / ExectOS (i686, release) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 43s
2025-08-05 23:25:30 +02:00
aff069dd1a Add i686-specific implementation of BlpGetNextPageTable supporting PML2 and PML3
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 37s
Builds / ExectOS (i686, debug) (push) Successful in 37s
2025-08-04 23:28:12 +02:00
f29f2bca74 Add AMD64-specific implementation of BlpGetNextPageTable matching new signature
Some checks failed
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 36s
Builds / ExectOS (i686, debug) (push) Failing after 28s
Builds / ExectOS (i686, release) (push) Failing after 29s
2025-08-04 23:25:57 +02:00
544ec63d6e Remove global BlpGetNextPageTable implementation in favor of arch-specific versions
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 30s
Builds / ExectOS (amd64, debug) (push) Failing after 31s
Builds / ExectOS (i686, debug) (push) Failing after 29s
Builds / ExectOS (i686, release) (push) Failing after 29s
2025-08-04 23:22:23 +02:00
ed75060482 Update BlpGetNextPageTable declaration to support multiple levels of PML
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 21s
Builds / ExectOS (amd64, debug) (push) Failing after 23s
Builds / ExectOS (i686, debug) (push) Failing after 32s
Builds / ExectOS (i686, release) (push) Failing after 31s
2025-08-04 23:01:03 +02:00
1d376486cd Add myself to the list of authors due to significant contributions
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (amd64, release) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 41s
Builds / ExectOS (i686, release) (push) Successful in 40s
2025-08-04 14:34:40 +02:00
1ffddfd0e2 Add non-PAE paging support to BlMapPage
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (amd64, release) (push) Successful in 43s
Builds / ExectOS (i686, debug) (push) Successful in 41s
Builds / ExectOS (i686, release) (push) Successful in 41s
2025-08-04 14:18:21 +02:00
0d3fb550f2 Initialize page directory for non-PAE paging
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 52s
Builds / ExectOS (amd64, release) (push) Successful in 50s
Builds / ExectOS (i686, debug) (push) Successful in 43s
Builds / ExectOS (i686, release) (push) Successful in 42s
2025-08-04 14:05:58 +02:00
ca6c913fa7 Clarify PAE state management logic
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 44s
Builds / ExectOS (i686, debug) (push) Successful in 43s
Builds / ExectOS (i686, release) (push) Successful in 43s
2025-08-02 18:30:23 +02:00
ca06f9ebb5 Correctly manage PAE state when enabling paging
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 46s
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
2025-08-02 18:26:01 +02:00
e6ebac7cda Correct status variable type in XtpMapHardwareMemoryPool
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (amd64, release) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 44s
Builds / ExectOS (i686, release) (push) Successful in 42s
2025-07-30 21:50:36 +02:00
4453b95f5c Correct status variable type in XtpMapHardwareMemoryPool
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 44s
Builds / ExectOS (amd64, debug) (push) Successful in 46s
Builds / ExectOS (i686, debug) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 42s
2025-07-30 21:48:38 +02:00
61d5e36a4e Partially revert previous commit
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 46s
Builds / ExectOS (amd64, release) (push) Successful in 44s
Builds / ExectOS (i686, debug) (push) Successful in 46s
Builds / ExectOS (i686, release) (push) Successful in 43s
2025-07-30 17:23:11 +02:00
410b96b58a Zero-initialize Page Directory entries before use
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 31s
Builds / ExectOS (amd64, release) (push) Failing after 31s
Builds / ExectOS (i686, debug) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 42s
2025-07-30 17:19:37 +02:00
66e136c7d6 Enable paging
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 42s
Builds / ExectOS (amd64, release) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 43s
Builds / ExectOS (i686, release) (push) Successful in 42s
2025-07-30 16:58:25 +02:00
d61b48740f Declare CpuRegisters as a local structure instead of a pointer
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 43s
Builds / ExectOS (i686, release) (push) Successful in 43s
Builds / ExectOS (i686, debug) (push) Successful in 44s
2025-07-30 16:53:07 +02:00
3607a6d930 Zero-initialize Page Directory entries before use
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 44s
Builds / ExectOS (i686, release) (push) Successful in 41s
2025-07-30 16:49:49 +02:00
c8787c3bd6 Zero-initialize Page Directory entries before use
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 10m16s
Builds / ExectOS (amd64, release) (push) Successful in 10m14s
Builds / ExectOS (i686, debug) (push) Successful in 44s
Builds / ExectOS (i686, release) (push) Successful in 43s
2025-07-30 16:38:17 +02:00
b83c3923da Change artifact URL to show newest builds first for easier access
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 45s
Builds / ExectOS (amd64, release) (push) Successful in 44s
Builds / ExectOS (i686, debug) (push) Successful in 42s
Builds / ExectOS (i686, release) (push) Successful in 40s
2025-07-29 18:33:36 +02:00
a694be3795 Ensure all artifacts are published by the pipeline
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 43s
Builds / ExectOS (i686, release) (push) Successful in 41s
2025-07-29 18:27:03 +02:00
9eae01cc98 Disable built-in compiler functions
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 46s
Builds / ExectOS (amd64, debug) (push) Successful in 47s
Builds / ExectOS (i686, release) (push) Successful in 40s
Builds / ExectOS (i686, debug) (push) Successful in 44s
2025-07-29 18:20:20 +02:00
58e3371fac Extend matrix to include release configuration alongside debug
Some checks failed
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (amd64, release) (push) Failing after 40s
Builds / ExectOS (i686, debug) (push) Successful in 40s
Builds / ExectOS (i686, release) (push) Failing after 37s
2025-07-29 14:12:02 +02:00
98c3b93c3d Include build type in build dir name
Some checks failed
Builds / ExectOS (i686) (push) Failing after 34s
Builds / ExectOS (amd64) (push) Failing after 37s
2025-07-29 13:57:47 +02:00
15a81b03d9 Include build type in build dir name and remove misleading symlink
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 31s
Builds / ExectOS (i686) (push) Failing after 30s
2025-07-29 12:32:31 +02:00
7fce778ee4 Harden BlpDuplicateDevicePath against malformed device paths
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 47s
2025-07-29 12:15:27 +02:00
b0aabf96b8 Improve device enumeration logic in BlEnumerateBlockDevices
All checks were successful
Builds / ExectOS (i686) (push) Successful in 44s
Builds / ExectOS (amd64) (push) Successful in 45s
These changes result in a more robust and reliable device enumeration process, better prepared to handle edge cases and non-standard firmware behavior.
2025-07-29 10:44:50 +02:00
486e987b71 Ensure correct boot volume is used by the chainloader
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 43s
2025-07-29 08:04:33 +02:00
ecaf923e6d Ensure correct boot volume is used to boot XTOS
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 57s
Builds / ExectOS (i686) (push) Successful in 55s
2025-07-29 08:01:32 +02:00
953de7fb5f Correct default OS selection in boot menu
All checks were successful
Builds / ExectOS (i686) (push) Successful in 41s
Builds / ExectOS (amd64) (push) Successful in 44s
2025-07-28 21:39:07 +02:00