Commit Graph

73 Commits

Author SHA1 Message Date
d27a4cde4b Implement BlGetVirtualAddress() and BlPhysicalListToVirtual() routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 32s
2024-01-29 18:03:58 +01:00
8115ae07b6 Unify variable types across project; use common type for storing numer of pages
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 31s
2024-01-29 16:17:51 +01:00
8e61e95cc2 Implement BlPhysicalAddressToVirtual() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 23:16:01 +01:00
b8acfe1b66 Implement BlGetMappingsCount() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-28 17:26:20 +01:00
269858f5a1 Implement and use BlGetEfiPath() routine to get valid EFI path
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-23 20:56:58 +01:00
435ee66ce1 Implement BlLoadEfiImage() and BlStartEfiImage() routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 23:04:24 +01:00
0c3aee829a Add missing forward reference
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:16:39 +01:00
85d43e54b8 Add missing forward reference
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-22 15:14:07 +01:00
c24745d233 Allow to specify virtual address during EFI memory mapping only
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-19 23:16:45 +01:00
02f0e34b83 Allow to provide page size during initialization
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-18 14:30:58 +01:00
89c18bbce6 Initial paging support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-17 14:42:07 +01:00
8f40683270 Rename memory related routines to follow naming convention
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 25s
2024-01-15 15:13:34 +01:00
c2e8e29775 Add missing forward references
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-12 16:02:14 +01:00
9501d3da36 Improvements to protocol support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-12 15:10:27 +01:00
11979f758b Conform BlExitBootServices() to UEFI Specification
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-10 21:59:51 +01:00
4412d4fc98 Rewrite core of the XTLDR boot loader
All checks were successful
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
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
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
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
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
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
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
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-28 15:57:03 +01:00
6d77ff42c5 Loop over halt; add missing calling convention
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-27 20:12:59 +01:00
8f3a4aef60 Code formatting
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-23 22:27:08 +01:00
4d68b93ed3 Small code formatting and refactoring
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-22 23:19:23 +01:00
cf828a6896 Fill in kernel initialization block
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-21 20:04:20 +01:00
edee9a8ec6 Rework BlGetMemoryMap() routine to use EFI_MEMORY_MAP structure; map EfiBootServicesData instead of EfiReservedMemoryType
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-20 18:59:36 +01:00
eb5998c58e Add a way to check PE/COFF image machine type
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-20 15:37:13 +01:00
7bcdd8562d Several changes to EFI memory mapping
All checks were successful
ci/woodpecker/push/build Pipeline was successful
* 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
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-11 20:14:04 +01:00
900e86c9da Create new stack and then boot XTOS, export more routines with the loader protocol
Some checks failed
ci/woodpecker/push/build Pipeline failed
2022-12-07 20:34:16 +01:00
d50fb7c37d Implement BlCreateStack()
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-07 19:46:36 +01:00
43c16d054d Use PVOID instead of HARDWARE_PTE to allow different variable types for different architectures
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-07 18:54:21 +01:00
93fa2aed67 Implement BlMapVirtualMemory() routine for recursive mapping
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-06 23:32:31 +01:00
3876414a48 Implement BlAddVirtualMemoryMapping() and BlInitializeVirtualMemory() routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-06 17:49:00 +01:00
2f03f84a20 Move memory related routines to a separate file and implement BlGetMemoryMap() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-05 20:08:18 +01:00
5ec08cb84a Implement PeGetSubSystem() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-16 15:03:33 +01:00
9f43ad06af Implement PeRelocateImage() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-15 23:31:35 +01:00
b03c9c2a25 Further PE/COFF module improvements
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-12 12:37:49 +01:00
f0868b91ec Initial XTOS boot protocol support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-07 20:21:07 +01:00
c8f99ad6ed Initial PE/COFF support for loading image files
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-06 19:59:38 +01:00
f5e9bd11f1 Implement BlEfiMemoryAllocatePages() and BlEfiMemoryFreePages() for manipulating memory pages
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-30 22:24:21 +01:00
b29162841c Get rid of BlEfiDirectorySeparator() routine and allow GetVolumeDevicePath() to store ARC name
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-30 12:21:09 +01:00
c09b121178 Rework BlEfiDirectorySeparator(), now it operates on wide strings
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-26 22:11:42 +02:00
0ead750489 Remove useless forward reference
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-25 23:21:58 +02:00
861251f41a Add routines for opening and closing volumes to the loader protocol
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-25 23:17:23 +02:00
26884a436b Implement BlEfiDirectorySeparator() routine for setting correct EFI directory separator
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-25 23:12:09 +02:00
727825572a Print XTLDR version
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-23 22:36:12 +02:00