Commit Graph

1040 Commits

Author SHA1 Message Date
d7552f1dce Fix race condition in HlComPortReadLsr
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 2025-08-05 23:25:30 +02:00
aff069dd1a Add i686-specific implementation of BlpGetNextPageTable supporting PML2 and PML3 2025-08-04 23:28:12 +02:00
f29f2bca74 Add AMD64-specific implementation of BlpGetNextPageTable matching new signature 2025-08-04 23:25:57 +02:00
544ec63d6e Remove global BlpGetNextPageTable implementation in favor of arch-specific versions 2025-08-04 23:22:23 +02:00
ed75060482 Update BlpGetNextPageTable declaration to support multiple levels of PML 2025-08-04 23:01:03 +02:00
1d376486cd Add myself to the list of authors due to significant contributions 2025-08-04 14:34:40 +02:00
1ffddfd0e2 Add non-PAE paging support to BlMapPage 2025-08-04 14:18:21 +02:00
0d3fb550f2 Initialize page directory for non-PAE paging 2025-08-04 14:05:58 +02:00
ca6c913fa7 Clarify PAE state management logic 2025-08-02 18:30:23 +02:00
ca06f9ebb5 Correctly manage PAE state when enabling paging 2025-08-02 18:26:01 +02:00
e6ebac7cda Correct status variable type in XtpMapHardwareMemoryPool 2025-07-30 21:50:36 +02:00
4453b95f5c Correct status variable type in XtpMapHardwareMemoryPool 2025-07-30 21:48:38 +02:00
61d5e36a4e Partially revert previous commit 2025-07-30 17:23:11 +02:00
410b96b58a Zero-initialize Page Directory entries before use 2025-07-30 17:19:37 +02:00
66e136c7d6 Enable paging 2025-07-30 16:58:25 +02:00
d61b48740f Declare CpuRegisters as a local structure instead of a pointer 2025-07-30 16:53:07 +02:00
3607a6d930 Zero-initialize Page Directory entries before use 2025-07-30 16:49:49 +02:00
c8787c3bd6 Zero-initialize Page Directory entries before use 2025-07-30 16:38:17 +02:00
b83c3923da Change artifact URL to show newest builds first for easier access 2025-07-29 18:33:36 +02:00
a694be3795 Ensure all artifacts are published by the pipeline 2025-07-29 18:27:03 +02:00
9eae01cc98 Disable built-in compiler functions 2025-07-29 18:20:20 +02:00
58e3371fac Extend matrix to include release configuration alongside debug 2025-07-29 14:12:02 +02:00
98c3b93c3d Include build type in build dir name 2025-07-29 13:57:47 +02:00
15a81b03d9 Include build type in build dir name and remove misleading symlink 2025-07-29 12:32:31 +02:00
7fce778ee4 Harden BlpDuplicateDevicePath against malformed device paths 2025-07-29 12:15:27 +02:00
b0aabf96b8 Improve device enumeration logic in BlEnumerateBlockDevices
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 2025-07-29 08:04:33 +02:00
ecaf923e6d Ensure correct boot volume is used to boot XTOS 2025-07-29 08:01:32 +02:00
953de7fb5f Correct default OS selection in boot menu 2025-07-28 21:39:07 +02:00
55ef9bf686 Correct function declaration for BlpFindParentBlockDevice 2025-07-28 19:45:19 +02:00
6823982227 Correctly return parent device in BlpFindParentBlockDevice 2025-07-28 19:43:13 +02:00
ff41b0d4f7 Fix incorrect TSS descriptor limit according to architecture specification 2025-07-28 18:25:47 +02:00
6130a34587 Align stack as required by the ABI 2025-07-28 17:57:16 +02:00
2ca708fe43 Define stack alignment required by the architecture's ABI 2025-07-28 17:53:50 +02:00
d2ce921676 Remove completed item 2025-07-20 16:49:06 +02:00
a81bad32fe Implement scrolling in the boot menu 2025-07-20 16:45:15 +02:00
da3e039a05 Use correct address when clearing COM port buffer
The code was reading from Port->Address to clear the RBR before the field was initialized.
2025-07-20 14:53:04 +02:00
e778a95a01 Use portable affinity mask for the idle process 2025-07-20 12:34:20 +02:00
24b6cc2250 Use portable affinity mask for the idle process
The hardcoded value 0xFFFFFFFF restricted the idle process to the first 32 processors on 64-bit system.
2025-07-20 12:33:10 +02:00
fdf649fcec Correctly initialize the boot stack pointer, as the stack grows downwards 2025-07-19 17:41:38 +02:00
61fcf8e0ec Update readme 2025-07-17 19:58:51 +02:00
d85ed34ce2 Remove duplicated XTchain detection 2025-07-09 10:52:48 +02:00
dcb0b8fb4b Initialize UBSAN mismatch data without relying on memset() 2025-07-09 10:40:15 +02:00
6729d72322 Add missing copyright notice 2025-07-09 10:31:36 +02:00
b229854ae0 Add configuration script for setting up Windows build environment 2025-07-09 10:28:46 +02:00
e0125dda54 Use virtual FAT disk images 2025-01-24 09:19:59 +01:00
7b8f4f15cc Add APIC Logical Destination Register (LDR) shifts and correct APIC delivery mode values 2024-07-23 20:14:06 +02:00
2e7793dc2b Implement HlpGetCpuApicId() routine 2024-07-22 23:31:20 +02:00
2c5b680426 Implement HlpSendIpi() routine 2024-07-22 23:23:55 +02:00