Commit Graph

287 Commits

Author SHA1 Message Date
8b02fb6c3f
Mostly update comments in PE/COFF module
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-21 23:02:37 +01:00
d158525659
Add missing documentation for BlCreateStack() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-21 22:34:59 +01:00
6c4496f839
KERNEL_STACK_SIZE should be expressed in bytes as the name suggests, calculate number of pages where needed
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-21 22:24:16 +01:00
dc2570ca8e
Serial port should be working all the time, so announce that now booting the kernel
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-21 20:52:53 +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
51886a05dd
Get rid of boot services code after exiting boot services
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-20 23:06:32 +01:00
7c38efc802
Update boot sequence and check PE/COFF image machine type compatibility
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-20 19:11:15 +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
6871291c9a
Basic steps in XTOS boot protocol
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-14 22:17:17 +01:00
8b9c6780d5
Code formatting
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-13 22:37:47 +01:00
9f4db475bb
Implement HlHalt() intrinsic routine and add basic definitions for kernel services
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-11 23:09:35 +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
2b679c11d4
Fix a bug in BlAddVirtualMemoryMapping() routine causing PF (Page Fault) on systems with more than 3GB of RAM
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-11 13:56:40 +01:00
8beb7c13ec
Implement BlCreateStack() for i686 architecture
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-07 23:01:59 +01:00
42c762ddf8
Add missing stub for i686 builds
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-07 22:07:41 +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
6b2f34f287
Store physical address as well in the image context
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-04 22:46:33 +01:00
cba4a065ba
Add missing comments
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-23 20:51:40 +01:00
519df2ad11
Allow to set VirtualAddress of loaded module
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-23 20:34:20 +01:00
2cb2328f45
Initial XtpLoadModule() implementation
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-17 22:44:53 +01:00
0db01053ab
Code formatting
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-16 20:06:52 +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
ee9f2df6a6
Properly relocate PE/COFF image
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-15 00:19:21 +01:00
fd4e9ffe63
Fix compiler warning for 32bit build, use proper data types
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-14 17:58:53 +01:00
2dd7b09fbb
Make sure PE image is executable
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-12 19:16:00 +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
5c5c6b7a5e
Initiate boot up sequence
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-07 20:41:21 +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
3c6136811b
Use shorter and more readable variable names
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-07 20:06:19 +01:00
9aa6d6913a
Store ARC name as well as system path
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-07 15:53:50 +01:00
66713ba461
Print more accurate message
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-07 15:51:27 +01:00
2f16a8534c
Code cleanup
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-06 20:03:49 +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
4a364212de
Fix 4KB pages allocation
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-11-05 21:59:55 +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
d6cc283519
Add missing IN/OUT indicators
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-23 22:20:17 +02:00
5869aa985a
Quick code refactor for further modules development
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-20 18:19:34 +02:00
37a37c225f
Small code refactoring
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-20 15:58:50 +02:00
6c576f95c4
Rename module entry point
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-19 14:55:31 +02:00
984b4b83a1
This is no longer needed
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-18 18:47:49 +02:00
27f0b3b362
Correct typo
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-18 18:46:46 +02:00
6f9ad1ac9f
Add missing code documentation
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-18 15:45:12 +02:00
f8a120a24c
Allow BlGetXtLoaderProtocol() routine to store loader protocol in a specified variable
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-18 15:44:21 +02:00
96a848b498
Add missing routine declaration
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-17 22:47:46 +02:00
1b310e46f8
Print firmware information, not only secure boot status
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-17 22:42:06 +02:00
71e8bb76de
Implement BlEfiGetSystemConfigurationTable() and move BlEfiGetSecureBootStatus() to desired place
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-17 15:47:09 +02:00
c60a46967f
Copy module path; this fixes modules loading on i686
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-16 23:49:40 +02:00
3894d4fd75
Move blproto.c and add missing header file
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-12 23:14:33 +02:00
3fa2ec90aa
Refactor code and fix loader protocol support
Some checks failed
ci/woodpecker/push/build Pipeline failed
2022-10-12 23:09:19 +02:00
09e58d0b67
Implement BlEfiGetSecureBootStatus() to get SecureBoot status
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-12 15:47:41 +02:00
9e7c041f41
Implement XTLDR modules support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-11 23:03:29 +02:00
649974b733
BlOpenVolume() now correctly opens a Simple File System protocol
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-10-05 19:57:46 +02:00
bf9171b66a
Check for OVMF and prevent doubled messages on serial console
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-09-27 18:39:26 +02:00
58847c2fea
Implement BlCloseVolume() and BlOpenVolume() routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-09-18 18:56:39 +02:00
5fe22b5d6c
Fix build by setting project name first
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-09-17 00:22:45 +02:00
109c24f389
Initial support for xtldr modules and bootloader protocol
Some checks failed
ci/woodpecker/push/build Pipeline failed
2022-09-17 00:14:09 +02:00
a7d07e7ecb
Integrate xtklib with the kernel
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-30 23:23:02 +02:00
f03b79ee2f
Implement BlGetVolumeDevicePath() and BlpDissectVolumeArcPath()
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-22 20:09:50 +02:00
d9b60aaa11
Add missing IN/OUT modifiers to routine declarations
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-22 18:24:15 +02:00
756763d8ca
Discover and enumerate EFI block devices
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-21 19:44:49 +02:00
510bd8dc99
Add missing comments
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-21 17:28:14 +02:00
d369a5e163
Implement BlEfiMemoryAllocatePool() and BlEfiMemoryFreePool()
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-21 17:05:05 +02:00
18d5a6d794
Insert new lines in every debug message
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-19 23:46:08 +02:00
a6d892bf08
Initialize console without error reporting and allow serial port configuration to be passed via EFI shell
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-13 13:25:29 +02:00
ba1efee47e
Disable watchdog timer
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-11 19:19:55 +02:00
5a56959333
Consider EFI as unsupported implementation when console initialization fails
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-11 18:32:43 +02:00
e6aaa1a83c
Mark serial port as fully initialized and always check that before printing anything to the serial console
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-10 17:56:41 +02:00
a9171bd512
Enable wide string printing
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-10 17:52:19 +02:00
075c85d0ff
Add missing comments
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-10 16:31:09 +02:00
a961ac1e69
Implement BlDbgPrint() for printing debug messages to the serial console and rename loader entry point
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-09 22:27:15 +02:00
3e4f0b8aff
Add support for formatting and printing strings
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-05 15:00:34 +02:00
9d7491c732
EFI default console support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-03 22:36:31 +02:00
09e4edc026
Add EFI bootloader subproject
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-08-03 10:45:22 +02:00