Commit Graph

40 Commits

Author SHA1 Message Date
f19afbddb7 Do not create new bootloader stack as it is not needed any longer and kernel will use its own stack 2023-01-03 23:04:11 +01:00
bb95223501 Implement BlActivateSerialControllerIO() routine for activating I/O space access on PCI(E) serial controllers 2023-01-03 00:10:24 +01:00
9dc0e60f28 We support EFI-enabled systems only and such machines should support PAE, so there is no need for XTLDR to support non-PAE x86 hardware 2022-12-28 15:57:03 +01:00
6d77ff42c5 Loop over halt; add missing calling convention 2022-12-27 20:12:59 +01:00
8f3a4aef60 Code formatting 2022-12-23 22:27:08 +01:00
4d68b93ed3 Small code formatting and refactoring 2022-12-22 23:19:23 +01:00
cf828a6896 Fill in kernel initialization block 2022-12-21 20:04:20 +01:00
edee9a8ec6 Rework BlGetMemoryMap() routine to use EFI_MEMORY_MAP structure; map EfiBootServicesData instead of EfiReservedMemoryType 2022-12-20 18:59:36 +01:00
7bcdd8562d Several changes to EFI memory mapping
* Move EFI memory type conversion to separate routine
 * Never map VRAM
 * Map only pages not exceeding the lowest physical page
2022-12-19 22:50:03 +01:00
0572b208f1 Add full paging support for AMD64 and i686 architectures, including PAE support 2022-12-11 20:14:04 +01:00
900e86c9da Create new stack and then boot XTOS, export more routines with the loader protocol 2022-12-07 20:34:16 +01:00
d50fb7c37d Implement BlCreateStack() 2022-12-07 19:46:36 +01:00
43c16d054d Use PVOID instead of HARDWARE_PTE to allow different variable types for different architectures 2022-12-07 18:54:21 +01:00
93fa2aed67 Implement BlMapVirtualMemory() routine for recursive mapping 2022-12-06 23:32:31 +01:00
3876414a48 Implement BlAddVirtualMemoryMapping() and BlInitializeVirtualMemory() routines 2022-12-06 17:49:00 +01:00
2f03f84a20 Move memory related routines to a separate file and implement BlGetMemoryMap() routine 2022-12-05 20:08:18 +01:00
f5e9bd11f1 Implement BlEfiMemoryAllocatePages() and BlEfiMemoryFreePages() for manipulating memory pages 2022-10-30 22:24:21 +01:00
b29162841c Get rid of BlEfiDirectorySeparator() routine and allow GetVolumeDevicePath() to store ARC name 2022-10-30 12:21:09 +01:00
c09b121178 Rework BlEfiDirectorySeparator(), now it operates on wide strings 2022-10-26 22:11:42 +02:00
26884a436b Implement BlEfiDirectorySeparator() routine for setting correct EFI directory separator 2022-10-25 23:12:09 +02:00
727825572a Print XTLDR version 2022-10-23 22:36:12 +02:00
5869aa985a Quick code refactor for further modules development 2022-10-20 18:19:34 +02:00
37a37c225f Small code refactoring 2022-10-20 15:58:50 +02:00
27f0b3b362 Correct typo 2022-10-18 18:46:46 +02:00
96a848b498 Add missing routine declaration 2022-10-17 22:47:46 +02:00
3fa2ec90aa Refactor code and fix loader protocol support 2022-10-12 23:09:19 +02:00
09e58d0b67 Implement BlEfiGetSecureBootStatus() to get SecureBoot status 2022-10-12 15:47:41 +02:00
9e7c041f41 Implement XTLDR modules support 2022-10-11 23:03:29 +02:00
58847c2fea Implement BlCloseVolume() and BlOpenVolume() routines 2022-09-18 18:56:39 +02:00
109c24f389 Initial support for xtldr modules and bootloader protocol 2022-09-17 00:14:09 +02:00
a7d07e7ecb Integrate xtklib with the kernel 2022-08-30 23:23:02 +02:00
f03b79ee2f Implement BlGetVolumeDevicePath() and BlpDissectVolumeArcPath() 2022-08-22 20:09:50 +02:00
d9b60aaa11 Add missing IN/OUT modifiers to routine declarations 2022-08-22 18:24:15 +02:00
756763d8ca Discover and enumerate EFI block devices 2022-08-21 19:44:49 +02:00
d369a5e163 Implement BlEfiMemoryAllocatePool() and BlEfiMemoryFreePool() 2022-08-21 17:05:05 +02:00
a6d892bf08 Initialize console without error reporting and allow serial port configuration to be passed via EFI shell 2022-08-13 13:25:29 +02:00
a961ac1e69 Implement BlDbgPrint() for printing debug messages to the serial console and rename loader entry point 2022-08-09 22:27:15 +02:00
3e4f0b8aff Add support for formatting and printing strings 2022-08-05 15:00:34 +02:00
9d7491c732 EFI default console support 2022-08-03 22:36:31 +02:00
09e4edc026 Add EFI bootloader subproject 2022-08-03 10:45:22 +02:00