Commit Graph
148 Commits
Author SHA1 Message Date
belliash 2864fdd790 Close directory after reading module file
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-05 23:24:13 +01:00
belliash 3fee69cbdf Close directory after reading configuration file
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 32s
2024-01-05 23:18:24 +01:00
belliash 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
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-05 15:13:45 +01:00
belliash 9443da9817 Always check module mapping status and optionally map xtldr code
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-05 15:10:34 +01:00
belliash 2f8820a021 Replace obsolete bootloader code, since new one can already start XTOS kernel
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-04 22:47:40 +01:00
belliash 1c94f9ff02 Improvements in string and wide string support
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
belliash ec63fe3fa6 Retry exiting boot services if first try fails
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-12-02 16:02:24 +01:00
belliash 146a331c80 Let UEFI firmware load xtldr into lower half
Builds / ExectOS (amd64) (push) Successful in 3m7s
Builds / ExectOS (i686) (push) Successful in 28s
2023-12-02 09:02:04 +01:00
belliash a90a30ff7a Move XTOS GUIDs into separate header
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 17:59:53 +01:00
belliash 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
belliash 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
belliash a2af4841da Move all globals into separate file
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-16 17:39:12 +01:00
belliash 6f5e7f63f3 Include xtver.h to access version related definitions
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 25s
2023-10-27 15:43:37 +02:00
belliash ebb740b0e7 Add more readmes to describe XTOS components and source code tree directories
ci/woodpecker/push/build Pipeline was successful
2023-05-18 21:24:33 +02:00
belliash 89718213b8 Remove no longer needed dummy module
ci/woodpecker/push/build Pipeline was successful
2023-05-17 15:13:10 +02:00
belliash 9c083dc050 Map zero page, like e820 does
ci/woodpecker/push/build Pipeline was successful
2023-02-23 00:44:21 +01:00
belliash e2c7d0f919 Zero fill memory map before fetching it once again
ci/woodpecker/push/build Pipeline was successful
2023-02-23 00:39:13 +01:00
belliash 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
belliash 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
belliash 2bf15a5bb8 Fix pointer offset in PE relocation code
ci/woodpecker/push/build Pipeline was successful
2023-01-29 20:38:05 +01:00
belliash ddffd0c582 Temporary kernel stack is no longer used
ci/woodpecker/push/build Pipeline was successful
2023-01-29 11:08:51 +01:00
belliash 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
belliash 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
belliash 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
belliash bf141fe25e Basic IDT setup in the bootloader
ci/woodpecker/push/build Pipeline was successful
2023-01-26 20:14:27 +01:00
belliash 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
belliash c4d53f12f2 Allocate memory for kernel startup stack
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:47:27 +01:00
belliash b3bf613e1b Make sure paging has been successfully enabled
ci/woodpecker/push/build Pipeline was successful
2023-01-25 16:39:15 +01:00
belliash 145fc17271 Pass framebuffer pitch information to the kernel
ci/woodpecker/push/build Pipeline was successful
2023-01-18 20:15:41 +01:00
belliash bb56641e4b Do not call SetVirtualAddressMap() as this might break boot process and runtime services are mapped anyway
ci/woodpecker/push/build Pipeline was successful
2023-01-16 21:58:30 +01:00
belliash 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
belliash 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
belliash 289316b43b Print hexadecimal values in uppercase
ci/woodpecker/push/build Pipeline was successful
2023-01-16 15:55:38 +01:00
belliash 87d8300c6a Remove no longer needed EfiLoaderStack global variable
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:54:31 +01:00
belliash 9a52be5ab9 Print a reason why module failed to load
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:53:09 +01:00
belliash 0c3e18fd86 Once BlGetMemoryMap() is called, it cannot allocate or free memory, otherwise key gets invalidated
ci/woodpecker/push/build Pipeline was successful
2023-01-15 18:50:12 +01:00
belliash 0461d975e0 Check ExitBootServices() status code
ci/woodpecker/push/build Pipeline was successful
2023-01-15 16:52:02 +01:00
belliash bff460a879 Print COM port address properly
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:29:27 +01:00
belliash 7496fa324e Map EfiLoaderData as some UEFI implementations might need this before kernel take over control
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:26:54 +01:00
belliash 42c3d4eff7 Fix NULL pointer
ci/woodpecker/push/build Pipeline was successful
2023-01-11 23:16:44 +01:00
belliash 350df87bcc Do not start services as this only slows down boot process significantly
ci/woodpecker/push/build Pipeline was successful
2023-01-10 22:55:40 +01:00
belliash 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
belliash b7e5f1b5c1 Use CR constants instead of hardcoded values
ci/woodpecker/push/build Pipeline was successful
2023-01-04 16:33:28 +01:00
belliash f19afbddb7 Do not create new bootloader stack as it is not needed any longer and kernel will use its own stack
ci/woodpecker/push/build Pipeline was successful
2023-01-03 23:04:11 +01:00
belliash bb95223501 Implement BlActivateSerialControllerIO() routine for activating I/O space access on PCI(E) serial controllers
ci/woodpecker/push/build Pipeline was successful
2023-01-03 00:10:24 +01:00
belliash c91708034b Correct comments
ci/woodpecker/push/build Pipeline was successful
2023-01-02 18:06:54 +01:00
belliash c5a7d0fe05 Improvements in COM port support
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:14:00 +01:00
belliash b6b25ed04d Initialize serial port only debugging enabled
ci/woodpecker/push/build Pipeline was successful
2023-01-01 19:20:34 +01:00
belliash 94e9fa1293 Allow to provide custom COM port address
ci/woodpecker/push/build Pipeline was successful
2022-12-29 23:44:52 +01:00
belliash 7f21e4f19c Dump EFI memory mappings
ci/woodpecker/push/build Pipeline was successful
2022-12-29 17:09:44 +01:00