Commit Graph

135 Commits

Author SHA1 Message Date
360ddd5405 Export new routines from ACPI module 2024-02-02 22:29:14 +01:00
0d4a4d3873 Link ACPI module against libxtos 2024-02-02 22:11:47 +01:00
1828acbc56 Implement AcGetSMBiosTable() and AcGetSMBios3Table() routines 2024-02-02 22:10:51 +01:00
4fa5b8f2a5 Implement AcGetApicBase() 2024-02-02 22:07:28 +01:00
082568ae10 Rename AcGetAcpiTable() to AcGetAcpiDescriptionPointer() 2024-02-02 22:04:58 +01:00
8a2e49ec60 Add initial version of ACPI module 2024-02-01 16:26:12 +01:00
f55bdb6274 Correct module description 2024-01-31 18:24:42 +01:00
48d1e7f04c Properly copy kernel parameters into the loader block 2024-01-29 19:41:52 +01:00
8f7641d91f Pass memory mapping information to the kernel 2024-01-29 19:40:05 +01:00
2e12d30aa4 Cleanup old XTOS boot protocol module 2024-01-28 15:54:01 +01:00
4f657b4574 Add missing routine descriptions 2024-01-28 15:46:26 +01:00
3c0a43d55a Rework of EFI FrameBuffer module 2024-01-28 15:03:55 +01:00
767ed21288 Correct module description 2024-01-25 22:26:02 +01:00
73bd43d16d Unify naming convention 2024-01-25 22:25:23 +01:00
7a65b37f96 Implement new module providing a basic support for PE/COFF executables 2024-01-25 22:04:30 +01:00
9421eee002 Implement chain loader module 2024-01-23 22:04:57 +01:00
f2887dba1f Rename XtLdrProtocol variable 2024-01-23 15:17:39 +01:00
6733e092ba Add missing comment 2024-01-22 20:47:49 +01:00
9fe347fd0a Correct comments 2024-01-22 20:42:29 +01:00
af400920d0 Make a use of BlBuildPageMap() 2024-01-22 15:20:22 +01:00
c24745d233 Allow to specify virtual address during EFI memory mapping only 2024-01-19 23:16:45 +01:00
88321b5f4d Pass virtual memory area address by reference 2024-01-18 23:10:47 +01:00
02f0e34b83 Allow to provide page size during initialization 2024-01-18 14:30:58 +01:00
0e4575b278 Use new paging implementation 2024-01-17 22:24:55 +01:00
489734d5c9 Implement test function to get framebuffer address by accessing graphics adapter's BARs 2024-01-12 15:18:36 +01:00
11979f758b Conform BlExitBootServices() to UEFI Specification 2024-01-10 21:59:51 +01:00
c98007a4a5 Do not link against libxtos if not needed 2024-01-10 19:55:20 +01:00
53cd4e0052 Cleanup PE/COFF related structures 2024-01-10 16:05:36 +01:00
4412d4fc98 Rewrite core of the XTLDR boot loader
Reviewed-on: xt-sys/exectos#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
* 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 2023-11-22 17:22:57 +01:00
a3c28cee73 Initial XTLDR APIC support, finds and maps base APIC address for kernel 2023-11-20 15:18:22 +01:00
89718213b8 Remove no longer needed dummy module 2023-05-17 15:13:10 +02:00
aace0f39c4 Allow stripped PE/COFF images to be loaded, just warn about it 2023-02-22 15:20:00 +01:00
707c92e08a Boot loader no longer needs to do anything related to the stack 2023-02-05 10:03:21 +01:00
2bf15a5bb8 Fix pointer offset in PE relocation code 2023-01-29 20:38:05 +01:00
ddffd0c582 Temporary kernel stack is no longer used 2023-01-29 11:08:51 +01:00
df11473eac Cleanup xtldr code as it no longer need to initialize CPU structures 2023-01-29 10:59:22 +01:00
79a5027bca Cleanup AMD64 part of CPU initialization, as it has been moved to the kernel 2023-01-29 01:01:36 +01:00
27e2fdf4f2 Introduce architecture library as new kernel subsystem and move selected routines into new subsystem 2023-01-28 10:34:55 +01:00
bf141fe25e Basic IDT setup in the bootloader 2023-01-26 20:14:27 +01:00
3b08bcaa4f Setup processor context (GDT, PCR, TSS) and kernel startup stack before booting XTOS 2023-01-25 18:39:07 +01:00
c4d53f12f2 Allocate memory for kernel startup stack 2023-01-25 16:47:27 +01:00
b3bf613e1b Make sure paging has been successfully enabled 2023-01-25 16:39:15 +01:00
145fc17271 Pass framebuffer pitch information to the kernel 2023-01-18 20:15:41 +01:00
b8df45ab6a Map framebuffer and fill information about it into kernel parameters 2023-01-16 18:49:54 +01:00
605597262c Initial version of EFI framebuffer module, currently support only GOP 2023-01-16 18:41:25 +01:00
0461d975e0 Check ExitBootServices() status code 2023-01-15 16:52:02 +01:00
42c3d4eff7 Fix NULL pointer 2023-01-11 23:16:44 +01:00
b22a76e3c4 Add XT native kernel subsystem to the PE/COFF image support 2023-01-06 16:16:26 +01:00