|
6c4496f839
|
KERNEL_STACK_SIZE should be expressed in bytes as the name suggests, calculate number of pages where needed
|
2022-12-21 22:24:16 +01:00 |
|
|
dc2570ca8e
|
Serial port should be working all the time, so announce that now booting the kernel
|
2022-12-21 20:52:53 +01:00 |
|
|
cf828a6896
|
Fill in kernel initialization block
|
2022-12-21 20:04:20 +01:00 |
|
|
652e3293b1
|
Get rid of EfiImageHandle and EfiSystemTable in UEFI_FIRMWARE_INFORMATION
|
2022-12-20 23:08:28 +01:00 |
|
|
51886a05dd
|
Get rid of boot services code after exiting boot services
|
2022-12-20 23:06:32 +01:00 |
|
|
7c38efc802
|
Update boot sequence and check PE/COFF image machine type compatibility
|
2022-12-20 19:11:15 +01:00 |
|
|
edee9a8ec6
|
Rework BlGetMemoryMap() routine to use EFI_MEMORY_MAP structure; map EfiBootServicesData instead of EfiReservedMemoryType
|
2022-12-20 18:59:36 +01:00 |
|
|
acda7aa37c
|
Add EFI_MEMORY_MAP structure definition
|
2022-12-20 15:52:15 +01:00 |
|
|
eb5998c58e
|
Add a way to check PE/COFF image machine type
|
2022-12-20 15:37:13 +01:00 |
|
|
7bcdd8562d
|
Several changes to EFI memory mapping
* 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
|
2022-12-14 22:17:17 +01:00 |
|
|
8b9c6780d5
|
Code formatting
|
2022-12-13 22:37:47 +01:00 |
|
|
b2b6cd7e0f
|
Add targets for testing ExectOS inside QEMU VM
|
2022-12-13 20:07:15 +01:00 |
|
|
03ebd3d273
|
Add missing EFI memory definitions
|
2022-12-13 15:49:44 +01:00 |
|
|
0b9f398761
|
Tell the linker that ExectOS can handle addresses larger than 2GB
|
2022-12-11 23:31:19 +01:00 |
|
|
9f4db475bb
|
Implement HlHalt() intrinsic routine and add basic definitions for kernel services
|
2022-12-11 23:09:35 +01:00 |
|
|
0572b208f1
|
Add full paging support for AMD64 and i686 architectures, including PAE support
|
2022-12-11 20:14:04 +01:00 |
|
|
324a88cc01
|
Implement HlCpuId() routine and corresponding structures for issueing CPUID instruction
|
2022-12-11 17:40:56 +01:00 |
|
|
2b679c11d4
|
Fix a bug in BlAddVirtualMemoryMapping() routine causing PF (Page Fault) on systems with more than 3GB of RAM
|
2022-12-11 13:56:40 +01:00 |
|
|
8beb7c13ec
|
Implement BlCreateStack() for i686 architecture
|
2022-12-07 23:01:59 +01:00 |
|
|
42c762ddf8
|
Add missing stub for i686 builds
|
2022-12-07 22:07:41 +01:00 |
|
|
900e86c9da
|
Create new stack and then boot XTOS, export more routines with the loader protocol
|
2022-12-07 20:34:16 +01:00 |
|
|
d50fb7c37d
|
Implement BlCreateStack()
|
2022-12-07 19:46:36 +01:00 |
|
|
43c16d054d
|
Use PVOID instead of HARDWARE_PTE to allow different variable types for different architectures
|
2022-12-07 18:54:21 +01:00 |
|
|
93fa2aed67
|
Implement BlMapVirtualMemory() routine for recursive mapping
|
2022-12-06 23:32:31 +01:00 |
|
|
3876414a48
|
Implement BlAddVirtualMemoryMapping() and BlInitializeVirtualMemory() routines
|
2022-12-06 17:49:00 +01:00 |
|
|
2f03f84a20
|
Move memory related routines to a separate file and implement BlGetMemoryMap() routine
|
2022-12-05 20:08:18 +01:00 |
|
|
6b2f34f287
|
Store physical address as well in the image context
|
2022-12-04 22:46:33 +01:00 |
|
|
b89121fded
|
Implement routines for accessing and manipulating CPU control registers
|
2022-12-02 23:03:42 +01:00 |
|
|
b275caf161
|
Implement RtlRemoveEntryList() routine
|
2022-11-28 23:00:20 +01:00 |
|
|
cba4a065ba
|
Add missing comments
|
2022-11-23 20:51:40 +01:00 |
|
|
519df2ad11
|
Allow to set VirtualAddress of loaded module
|
2022-11-23 20:34:20 +01:00 |
|
|
2cb2328f45
|
Initial XtpLoadModule() implementation
|
2022-11-17 22:44:53 +01:00 |
|
|
0db01053ab
|
Code formatting
|
2022-11-16 20:06:52 +01:00 |
|
|
5ec08cb84a
|
Implement PeGetSubSystem() routine
|
2022-11-16 15:03:33 +01:00 |
|
|
9f43ad06af
|
Implement PeRelocateImage() routine
|
2022-11-15 23:31:35 +01:00 |
|
|
131275e788
|
Import loader structures definitions
|
2022-11-15 20:16:23 +01:00 |
|
|
df5eab737b
|
Add PE/COFF image characteristics
|
2022-11-15 20:14:28 +01:00 |
|
|
3125a25617
|
Add three most important linked lists into the kernel initialization block
|
2022-11-15 19:54:02 +01:00 |
|
|
ee9f2df6a6
|
Properly relocate PE/COFF image
|
2022-11-15 00:19:21 +01:00 |
|
|
fd4e9ffe63
|
Fix compiler warning for 32bit build, use proper data types
|
2022-11-14 17:58:53 +01:00 |
|
|
e37e5b97af
|
Initial version of the kernel initialization block, needed to start the kernel
|
2022-11-12 23:17:44 +01:00 |
|
|
2dd7b09fbb
|
Make sure PE image is executable
|
2022-11-12 19:16:00 +01:00 |
|
|
b03c9c2a25
|
Further PE/COFF module improvements
|
2022-11-12 12:37:49 +01:00 |
|
|
60c56c4462
|
Firmware dependent XT structures
|
2022-11-12 12:21:08 +01:00 |
|
|
c2b720fbd8
|
Add missing PE subsystem
|
2022-11-07 23:16:48 +01:00 |
|
|
5c5c6b7a5e
|
Initiate boot up sequence
|
2022-11-07 20:41:21 +01:00 |
|
|
f0868b91ec
|
Initial XTOS boot protocol support
|
2022-11-07 20:21:07 +01:00 |
|
|
3c6136811b
|
Use shorter and more readable variable names
|
2022-11-07 20:06:19 +01:00 |
|
|
9aa6d6913a
|
Store ARC name as well as system path
|
2022-11-07 15:53:50 +01:00 |
|