bb95223501
Implement BlActivateSerialControllerIO() routine for activating I/O space access on PCI(E) serial controllers
belliash2023-01-03 00:10:24 +01:00
d8f2135ac6
Add more PCI(E) related definitions
belliash2023-01-02 23:59:32 +01:00
dec021b1ec
Reorganize early debug printing; initialize kernel stacks when needed
belliash2022-12-28 23:11:35 +01:00
75ac59f48a
Fix DEBUG/RELEASE building options
belliash2022-12-28 17:15:21 +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
belliash2022-12-28 15:57:03 +01:00
8b02fb6c3f
Mostly update comments in PE/COFF module
belliash2022-12-21 23:02:37 +01:00
d158525659
Add missing documentation for BlCreateStack() routine
belliash2022-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
belliash2022-12-21 22:24:16 +01:00
dc2570ca8e
Serial port should be working all the time, so announce that now booting the kernel
belliash2022-12-21 20:52:53 +01:00
cf828a6896
Fill in kernel initialization block
belliash2022-12-21 20:04:20 +01:00
652e3293b1
Get rid of EfiImageHandle and EfiSystemTable in UEFI_FIRMWARE_INFORMATION
belliash2022-12-20 23:08:28 +01:00
51886a05dd
Get rid of boot services code after exiting boot services
belliash2022-12-20 23:06:32 +01:00
7c38efc802
Update boot sequence and check PE/COFF image machine type compatibility
belliash2022-12-20 19:11:15 +01:00
edee9a8ec6
Rework BlGetMemoryMap() routine to use EFI_MEMORY_MAP structure; map EfiBootServicesData instead of EfiReservedMemoryType
belliash2022-12-20 18:59:36 +01:00
eb5998c58e
Add a way to check PE/COFF image machine type
belliash2022-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
belliash2022-12-19 22:50:03 +01:00
6871291c9a
Basic steps in XTOS boot protocol
belliash2022-12-14 22:17:17 +01:00
0b9f398761
Tell the linker that ExectOS can handle addresses larger than 2GB
belliash2022-12-11 23:31:19 +01:00
9f4db475bb
Implement HlHalt() intrinsic routine and add basic definitions for kernel services
belliash2022-12-11 23:09:35 +01:00
0572b208f1
Add full paging support for AMD64 and i686 architectures, including PAE support
belliash2022-12-11 20:14:04 +01:00
324a88cc01
Implement HlCpuId() routine and corresponding structures for issueing CPUID instruction
belliash2022-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
belliash2022-12-11 13:56:40 +01:00
8beb7c13ec
Implement BlCreateStack() for i686 architecture
belliash2022-12-07 23:01:59 +01:00
42c762ddf8
Add missing stub for i686 builds
belliash2022-12-07 22:07:41 +01:00
900e86c9da
Create new stack and then boot XTOS, export more routines with the loader protocol
belliash2022-12-07 20:34:16 +01:00