Commit Graph

268 Commits

Author SHA1 Message Date
9fe347fd0a Correct comments
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 20:42:29 +01:00
af400920d0 Make a use of BlBuildPageMap()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:20:22 +01:00
0c3aee829a Add missing forward reference
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:16:39 +01:00
7128159c42 Implement BlBuildPageMap() routine
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 14s
2024-01-22 15:15:21 +01:00
85d43e54b8 Add missing forward reference
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-22 15:14:07 +01:00
22a7676b9b Store boot loader image information and close EFI_LOADED_IMAGE_PROTOCOL afterwards
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-22 15:11:56 +01:00
8580557985 Check if new mapping is a subset of an already existing mapping
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:09:03 +01:00
c24745d233 Allow to specify virtual address during EFI memory mapping only
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-19 23:16:45 +01:00
88321b5f4d Pass virtual memory area address by reference
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-18 23:10:47 +01:00
9f5018abf0 Update BlInitializePageMap() description
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-18 15:10:32 +01:00
02f0e34b83 Allow to provide page size during initialization
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-18 14:30:58 +01:00
0e4575b278 Use new paging implementation
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 55s
Builds / ExectOS (i686) (push) Successful in 41s
2024-01-17 22:24:55 +01:00
89c18bbce6 Initial paging support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-17 14:42:07 +01:00
8f40683270 Rename memory related routines to follow naming convention
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 25s
2024-01-15 15:13:34 +01:00
93340936d3 Update XTLDR help
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-12 16:04:25 +01:00
019f084e49 Allow to reboot or shutdown from XTLDR boot menu
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-12 16:03:21 +01:00
c2e8e29775 Add missing forward references
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-12 16:02:14 +01:00
521006d939 Implement BlRebootSystem() and BlShutdownSystem() routines
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-12 15:59:38 +01:00
489734d5c9 Implement test function to get framebuffer address by accessing graphics adapter's BARs
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 39s
2024-01-12 15:18:36 +01:00
9501d3da36 Improvements to protocol support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-12 15:10:27 +01:00
11979f758b Conform BlExitBootServices() to UEFI Specification
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-10 21:59:51 +01:00
c98007a4a5 Do not link against libxtos if not needed
Some checks failed
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-10 19:55:20 +01:00
c4450e88ab Add common memory related routines to XTLDR protocol
Some checks failed
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-10 19:51:27 +01:00
53cd4e0052 Cleanup PE/COFF related structures
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-10 16:05:36 +01:00
4412d4fc98 Rewrite core of the XTLDR boot loader
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 1m1s
Builds / ExectOS (i686) (push) Successful in 29s
Reviewed-on: #7
Reviewed-by: Piotr Likoski <likoski@noreply.codingworkshop.git>
Co-authored-by: Rafal Kupiec <belliash@codingworkshop.eu.org>
Co-committed-by: Rafal Kupiec <belliash@codingworkshop.eu.org>
2024-01-09 18:51:04 +01:00
d7fbe531fd Improvements in string and wide string support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
* Implement RtlCompareString(), RtlCompareStringInsensitive(), RtlCompareWideString() and RtlCompareWideStringInsensitive()
* Rename some routines t omatch naming conventions
* Switch to CHAR in string operations
2023-12-06 23:00:18 +01:00
ec63fe3fa6 Retry exiting boot services if first try fails
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-12-02 16:02:24 +01:00
146a331c80 Let UEFI firmware load xtldr into lower half
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 3m7s
Builds / ExectOS (i686) (push) Successful in 28s
2023-12-02 09:02:04 +01:00
a90a30ff7a Move XTOS GUIDs into separate header
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 17:59:53 +01:00
d8403d01f5 Verify kernel and boot loader compatibility
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-22 17:22:57 +01:00
a3c28cee73 Initial XTLDR APIC support, finds and maps base APIC address for kernel
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-20 15:18:22 +01:00
a2af4841da Move all globals into separate file
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-16 17:39:12 +01:00
6f5e7f63f3 Include xtver.h to access version related definitions
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 25s
2023-10-27 15:43:37 +02:00
ebb740b0e7 Add more readmes to describe XTOS components and source code tree directories
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-05-18 21:24:33 +02:00
89718213b8 Remove no longer needed dummy module
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-05-17 15:13:10 +02:00
9c083dc050 Map zero page, like e820 does
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-23 00:44:21 +01:00
e2c7d0f919 Zero fill memory map before fetching it once again
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-23 00:39:13 +01:00
aace0f39c4 Allow stripped PE/COFF images to be loaded, just warn about it
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-22 15:20:00 +01:00
707c92e08a Boot loader no longer needs to do anything related to the stack
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 10:03:21 +01:00
2bf15a5bb8 Fix pointer offset in PE relocation code
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 20:38:05 +01:00
ddffd0c582 Temporary kernel stack is no longer used
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 11:08:51 +01:00
df11473eac Cleanup xtldr code as it no longer need to initialize CPU structures
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 10:59:22 +01:00
79a5027bca Cleanup AMD64 part of CPU initialization, as it has been moved to the kernel
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 01:01:36 +01:00
27e2fdf4f2 Introduce architecture library as new kernel subsystem and move selected routines into new subsystem
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-28 10:34:55 +01:00
bf141fe25e Basic IDT setup in the bootloader
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-26 20:14:27 +01:00
3b08bcaa4f Setup processor context (GDT, PCR, TSS) and kernel startup stack before booting XTOS
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 18:39:07 +01:00
c4d53f12f2 Allocate memory for kernel startup stack
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:47:27 +01:00
b3bf613e1b Make sure paging has been successfully enabled
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:39:15 +01:00
145fc17271 Pass framebuffer pitch information to the kernel
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-18 20:15:41 +01:00
bb56641e4b Do not call SetVirtualAddressMap() as this might break boot process and runtime services are mapped anyway
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-16 21:58:30 +01:00