Commit Graph

151 Commits

Author SHA1 Message Date
60ce943cab
Fix memory mappings and exiting boot services for i686
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-06 23:23:52 +01:00
602f8c1c0e
Don't print FB information
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-06 23:04:52 +01:00
f49966b462
Allow to read XTLDR data from alternative arch-specific directory; this allows to prepare combined 32 & 64 bit disk
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-05 23:28:12 +01:00
2864fdd790
Close directory after reading module file
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-05 23:24:13 +01:00
3fee69cbdf
Close directory after reading configuration file
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 32s
2024-01-05 23:18:24 +01:00
0293fb6f28
If ExitBootServices() fails, it is mostly caused by map key that is racing with asynchronous events signaled over the back of the timer interrupt. In this case new memory map should be obtained prior to another ExitBootServices() call attempt
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-05 15:13:45 +01:00
9443da9817
Always check module mapping status and optionally map xtldr code
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-05 15:10:34 +01:00
2f8820a021
Replace obsolete bootloader code, since new one can already start XTOS kernel
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-04 22:47:40 +01:00
1c94f9ff02
Improvements in string and wide string support
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 19s
Builds / ExectOS (i686) (push) Failing after 15s
* Implement RtlCompareString(), RtlCompareStringInsensitive(), RtlCompareWideString() and RtlCompareWideStringInsensitive()
* Rename some routines t omatch naming conventions
* Switch to CHAR in string operations
2023-12-06 22:47:54 +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
b8df45ab6a
Map framebuffer and fill information about it into kernel parameters
All checks were successful
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
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-16 18:41:25 +01:00
289316b43b
Print hexadecimal values in uppercase
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-16 15:55:38 +01:00
87d8300c6a
Remove no longer needed EfiLoaderStack global variable
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:54:31 +01:00
9a52be5ab9
Print a reason why module failed to load
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:53:09 +01:00
0c3e18fd86
Once BlGetMemoryMap() is called, it cannot allocate or free memory, otherwise key gets invalidated
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:50:12 +01:00
0461d975e0
Check ExitBootServices() status code
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-15 16:52:02 +01:00
bff460a879
Print COM port address properly
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:29:27 +01:00
7496fa324e
Map EfiLoaderData as some UEFI implementations might need this before kernel take over control
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:26:54 +01:00
42c3d4eff7
Fix NULL pointer
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:16:44 +01:00
350df87bcc
Do not start services as this only slows down boot process significantly
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-10 22:55:40 +01:00
b22a76e3c4
Add XT native kernel subsystem to the PE/COFF image support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-06 16:16:26 +01:00
b7e5f1b5c1
Use CR constants instead of hardcoded values
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-04 16:33:28 +01:00
f19afbddb7
Do not create new bootloader stack as it is not needed any longer and kernel will use its own stack
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-03 23:04:11 +01:00
bb95223501
Implement BlActivateSerialControllerIO() routine for activating I/O space access on PCI(E) serial controllers
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-03 00:10:24 +01:00
c91708034b
Correct comments
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-02 18:06:54 +01:00
c5a7d0fe05
Improvements in COM port support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:14:00 +01:00