Commit Graph

106 Commits

Author SHA1 Message Date
b7e5f1b5c1
Use CR constants instead of hardcoded values
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-04 16:33:28 +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
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