Commit Graph

105 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
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
c91708034b
Correct comments
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-02 18:06:54 +01:00
c5a7d0fe05
Improvements in COM port support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-02 16:14:00 +01:00
b6b25ed04d
Initialize serial port only debugging enabled
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-01 19:20:34 +01:00
94e9fa1293
Allow to provide custom COM port address
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-29 23:44:52 +01:00
7f21e4f19c
Dump EFI memory mappings
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-29 17:09:44 +01:00
6a27ea140b
Print xtldr debug messages only when debugging enabled
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:30:03 +01:00
dec021b1ec
Reorganize early debug printing; initialize kernel stacks when needed
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-28 23:11:35 +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
5c5f0a6df9
Add missing routine documentation
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-27 22:13:48 +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
5b75d005a7
Implement HlClearInterruptFlag() and HlSetInterruptFlag() intrinsic routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-27 18:54:01 +01:00
8f3a4aef60
Code formatting
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-23 22:27:08 +01:00
db1b47e50e
Initialize CpuRegisters variable to silence a warning
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-23 14:43:36 +01:00
3ab1695968
Common routines for reading from and writing to CPU control registers
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-23 14:30:52 +01:00
7496c7203d
Add missing routines documentation
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2022-12-22 23:29:16 +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
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