Commit Graph

355 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