4412d4fc98
Rewrite core of the XTLDR boot loader
...
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
...
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
d8403d01f5
Verify kernel and boot loader compatibility
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
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-20 15:18:22 +01:00
89718213b8
Remove no longer needed dummy module
ci/woodpecker/push/build Pipeline was successful
2023-05-17 15:13:10 +02:00
aace0f39c4
Allow stripped PE/COFF images to be loaded, just warn about it
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
ci/woodpecker/push/build Pipeline was successful
2023-02-05 10:03:21 +01:00
2bf15a5bb8
Fix pointer offset in PE relocation code
ci/woodpecker/push/build Pipeline was successful
2023-01-29 20:38:05 +01:00
ddffd0c582
Temporary kernel stack is no longer used
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
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
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
ci/woodpecker/push/build Pipeline was successful
2023-01-28 10:34:55 +01:00
bf141fe25e
Basic IDT setup in the bootloader
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
ci/woodpecker/push/build Pipeline was successful
2023-01-25 18:39:07 +01:00
c4d53f12f2
Allocate memory for kernel startup stack
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:47:27 +01:00
b3bf613e1b
Make sure paging has been successfully enabled
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:39:15 +01:00
145fc17271
Pass framebuffer pitch information to the kernel
ci/woodpecker/push/build Pipeline was successful
2023-01-18 20:15:41 +01:00
b8df45ab6a
Map framebuffer and fill information about it into kernel parameters
ci/woodpecker/push/build Pipeline was successful
2023-01-16 18:49:54 +01:00
605597262c
Initial version of EFI framebuffer module, currently support only GOP
ci/woodpecker/push/build Pipeline was successful
2023-01-16 18:41:25 +01:00
0461d975e0
Check ExitBootServices() status code
ci/woodpecker/push/build Pipeline was successful
2023-01-15 16:52:02 +01:00
42c3d4eff7
Fix NULL pointer
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:16:44 +01:00
b22a76e3c4
Add XT native kernel subsystem to the PE/COFF image support
ci/woodpecker/push/build Pipeline was successful
2023-01-06 16:16:26 +01:00
c91708034b
Correct comments
ci/woodpecker/push/build Pipeline was successful
2023-01-02 18:06:54 +01:00
dec021b1ec
Reorganize early debug printing; initialize kernel stacks when needed
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:11:35 +01:00
6d77ff42c5
Loop over halt; add missing calling convention
ci/woodpecker/push/build Pipeline was successful
2022-12-27 20:12:59 +01:00
8f3a4aef60
Code formatting
ci/woodpecker/push/build Pipeline was successful
2022-12-23 22:27:08 +01:00
7496c7203d
Add missing routines documentation
ci/woodpecker/push/build Pipeline was successful
2022-12-22 23:29:16 +01:00
4d68b93ed3
Small code formatting and refactoring
ci/woodpecker/push/build Pipeline was successful
2022-12-22 23:19:23 +01:00
8b02fb6c3f
Mostly update comments in PE/COFF module
ci/woodpecker/push/build Pipeline was successful
2022-12-21 23:02:37 +01:00
dc2570ca8e
Serial port should be working all the time, so announce that now booting the kernel
ci/woodpecker/push/build Pipeline was successful
2022-12-21 20:52:53 +01:00
cf828a6896
Fill in kernel initialization block
ci/woodpecker/push/build Pipeline was successful
2022-12-21 20:04:20 +01:00
7c38efc802
Update boot sequence and check PE/COFF image machine type compatibility
ci/woodpecker/push/build Pipeline was successful
2022-12-20 19:11:15 +01:00
eb5998c58e
Add a way to check PE/COFF image machine type
ci/woodpecker/push/build Pipeline was successful
2022-12-20 15:37:13 +01:00
6871291c9a
Basic steps in XTOS boot protocol
ci/woodpecker/push/build Pipeline was successful
2022-12-14 22:17:17 +01:00
6b2f34f287
Store physical address as well in the image context
ci/woodpecker/push/build Pipeline was successful
2022-12-04 22:46:33 +01:00
cba4a065ba
Add missing comments
ci/woodpecker/push/build Pipeline was successful
2022-11-23 20:51:40 +01:00
519df2ad11
Allow to set VirtualAddress of loaded module
ci/woodpecker/push/build Pipeline was successful
2022-11-23 20:34:20 +01:00
2cb2328f45
Initial XtpLoadModule() implementation
ci/woodpecker/push/build Pipeline was successful
2022-11-17 22:44:53 +01:00
0db01053ab
Code formatting
ci/woodpecker/push/build Pipeline was successful
2022-11-16 20:06:52 +01:00
5ec08cb84a
Implement PeGetSubSystem() routine
ci/woodpecker/push/build Pipeline was successful
2022-11-16 15:03:33 +01:00
9f43ad06af
Implement PeRelocateImage() routine
ci/woodpecker/push/build Pipeline was successful
2022-11-15 23:31:35 +01:00
ee9f2df6a6
Properly relocate PE/COFF image
ci/woodpecker/push/build Pipeline was successful
2022-11-15 00:19:21 +01:00
fd4e9ffe63
Fix compiler warning for 32bit build, use proper data types
ci/woodpecker/push/build Pipeline was successful
2022-11-14 17:58:53 +01:00
2dd7b09fbb
Make sure PE image is executable
ci/woodpecker/push/build Pipeline was successful
2022-11-12 19:16:00 +01:00
b03c9c2a25
Further PE/COFF module improvements
ci/woodpecker/push/build Pipeline was successful
2022-11-12 12:37:49 +01:00
f0868b91ec
Initial XTOS boot protocol support
ci/woodpecker/push/build Pipeline was successful
2022-11-07 20:21:07 +01:00
3c6136811b
Use shorter and more readable variable names
ci/woodpecker/push/build Pipeline was successful
2022-11-07 20:06:19 +01:00
66713ba461
Print more accurate message
ci/woodpecker/push/build Pipeline was successful
2022-11-07 15:51:27 +01:00
2f16a8534c
Code cleanup
ci/woodpecker/push/build Pipeline was successful
2022-11-06 20:03:49 +01:00
c8f99ad6ed
Initial PE/COFF support for loading image files
ci/woodpecker/push/build Pipeline was successful
2022-11-06 19:59:38 +01:00