Commit Graph

312 Commits

Author SHA1 Message Date
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
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
a81bad32fe Implement scrolling in the boot menu 2025-07-20 16:45:15 +02:00
94076b7471 Separate image base address per architecture 2024-07-10 22:42:48 +02:00
6bcf3e134f Unify naming convention and switch to ULONG in memory map related routines 2024-07-06 22:59:10 +02:00
906e09fd9f Refactor COM port support, to get rid of global variables in library 2024-06-12 18:02:29 +02:00
bfe3d4b18a Fix pointer overflow 2024-06-10 16:01:19 +02:00
bd7d4f5a0d Fix function type mismatch undefined behavior when calling through a pointer 2024-06-09 22:26:01 +02:00
7704e5d399 Initial kernel ACPI support 2024-06-04 16:24:13 +02:00
db5d6c42c9 Rework AcpChecksumTable() routine into AcpValidateAcpiTable() 2024-06-03 23:31:33 +02:00
54b7e46f1b Simplify AcGetAcpiTable() routine a bit 2024-06-03 23:24:54 +02:00
f265810a5c Fix AcGetAcpiTable() routine failing to validate FADT checksum on some ACPI 2.0 and older machines 2024-06-03 21:58:19 +02:00
9124574bc5 Fixes and improvements to ACPI related structures and definitions 2024-06-03 21:17:31 +02:00
7f922dd864 Let XTLDR provide ACPI system resource 2024-06-02 22:30:52 +02:00
29ff9e114e Mark XtMapHardwareMemoryPool() routine private 2024-06-02 17:34:30 +02:00
c1ab5fe98d Cleanup hardware allocation memory pool related code for i686 2024-06-02 17:32:39 +02:00
6176ca38a8 Cleanup hardware allocation memory pool related code 2024-06-02 17:29:31 +02:00
6b1ccc4ce5 Do not hardcode PML shift values 2024-05-27 22:26:05 +02:00
f968eb21fd Cleanup the code 2024-05-27 22:20:53 +02:00
7f8846f23d Map memory for hardware layer on i686 2024-05-27 22:17:30 +02:00
ae243a9d07 Map memory for hardware layer on amd64 2024-05-27 21:54:21 +02:00
5221db2e63 Rename LOADER_MEMORY_MAPPING structure to more meaningful LOADER_MEMORY_DESCRIPTOR 2024-05-23 19:00:50 +02:00
28903e0c10 Add missing forward reference for AcGetAcpiTable() routine 2024-05-20 15:34:49 +02:00
ac33b86c3d Implement AcGetAcpiTable() routine 2024-05-19 23:45:28 +02:00
34cc81c446 Provide framebuffer information via system resource 2024-05-18 17:06:44 +02:00
058649036f Take care about blink first, otherwise BlPhysicalListToVirtual() fails to properly map single-element linked list 2024-05-16 22:17:40 +02:00
c576f7f8f2 Provide pixel information to the kernel 2024-05-12 22:28:06 +02:00
615a1457bf Fixes to FbpGetPixelInformation() and FbpGetColorMask() routines 2024-05-12 22:20:22 +02:00