Commit Graph
212 Commits
Author SHA1 Message Date
belliash f19afbddb7 Do not create new bootloader stack as it is not needed any longer and kernel will use its own stack 2023-01-03 23:04:11 +01:00
belliash b22303003c Add architecture name 2023-01-03 16:28:14 +01:00
belliash bb95223501 Implement BlActivateSerialControllerIO() routine for activating I/O space access on PCI(E) serial controllers 2023-01-03 00:10:24 +01:00
belliash d8f2135ac6 Add more PCI(E) related definitions 2023-01-02 23:59:32 +01:00
belliash c91708034b Correct comments 2023-01-02 18:06:54 +01:00
belliash c5a7d0fe05 Improvements in COM port support 2023-01-02 16:14:00 +01:00
belliash e8e7d7b905 Add missing forward declaration 2023-01-02 16:11:50 +01:00
belliash 4c031f4075 Add I/O related type definitions 2023-01-02 16:10:43 +01:00
belliash b6b25ed04d Initialize serial port only debugging enabled 2023-01-01 19:20:34 +01:00
belliash 94e9fa1293 Allow to provide custom COM port address 2022-12-29 23:44:52 +01:00
belliash feabac2d98 Set XTOS NT compatibility version 2022-12-29 22:39:39 +01:00
belliash 58527ce5cb Set correct image version 2022-12-29 22:37:39 +01:00
belliash 7f21e4f19c Dump EFI memory mappings 2022-12-29 17:09:44 +01:00
belliash 6a27ea140b Print xtldr debug messages only when debugging enabled 2022-12-28 23:30:03 +01:00
belliash e6a7918bac Fix release build 2022-12-28 23:28:49 +01:00
belliash dec021b1ec Reorganize early debug printing; initialize kernel stacks when needed 2022-12-28 23:11:35 +01:00
belliash 75ac59f48a Fix DEBUG/RELEASE building options 2022-12-28 17:15:21 +01:00
belliash 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 2022-12-28 15:57:03 +01:00
belliash fcfa575bff Implement HlReadTimeStampCounter() routine 2022-12-27 23:28:27 +01:00
belliash f46615f92c Implement HlInvalidateTlbEntry(), HlReadModelSpecificRegister() and HlWriteModelSpecificRegister() routines 2022-12-27 23:19:33 +01:00
belliash 938cd175c8 Export HlIoPortInShort(), HlIoPortInLong(), HlIoPortOutShort() and HlIoPortOutLong() routines 2022-12-27 22:48:10 +01:00
belliash 602d89ef27 Fixes in HlIoPortInShort() and HlIoPortInLong() routines 2022-12-27 22:43:19 +01:00
belliash 9828b23400 Implement HlIoPortInShort(), HlIoPortInLong(), HlIoPortOutShort() and HlIoPortOutLong() routines 2022-12-27 22:26:45 +01:00
belliash 5c5f0a6df9 Add missing routine documentation 2022-12-27 22:13:48 +01:00
belliash bffb93b58c Add missing calling convention 2022-12-27 22:05:46 +01:00
belliash 6d77ff42c5 Loop over halt; add missing calling convention 2022-12-27 20:12:59 +01:00
belliash 5b75d005a7 Implement HlClearInterruptFlag() and HlSetInterruptFlag() intrinsic routines 2022-12-27 18:54:01 +01:00
belliash 8f3a4aef60 Code formatting 2022-12-23 22:27:08 +01:00
belliash db1b47e50e Initialize CpuRegisters variable to silence a warning 2022-12-23 14:43:36 +01:00
belliash 93ad0b4ea0 Set valid calling convention for HAL routines 2022-12-23 14:41:11 +01:00
belliash 3ab1695968 Common routines for reading from and writing to CPU control registers 2022-12-23 14:30:52 +01:00
belliash 3e8bdfe9fe Add missing forward routines definitions 2022-12-23 00:09:33 +01:00
belliash df8de3f85f Add missing routines documentation 2022-12-22 23:41:19 +01:00
belliash 7496c7203d Add missing routines documentation 2022-12-22 23:29:16 +01:00
belliash 4d68b93ed3 Small code formatting and refactoring 2022-12-22 23:19:23 +01:00
belliash e9d30a0fd9 Add missing forward structures definitions 2022-12-22 22:58:52 +01:00
belliash 8b02fb6c3f Mostly update comments in PE/COFF module 2022-12-21 23:02:37 +01:00
belliash d158525659 Add missing documentation for BlCreateStack() routine 2022-12-21 22:34:59 +01:00
belliash 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
belliash dc2570ca8e Serial port should be working all the time, so announce that now booting the kernel 2022-12-21 20:52:53 +01:00
belliash cf828a6896 Fill in kernel initialization block 2022-12-21 20:04:20 +01:00
belliash 652e3293b1 Get rid of EfiImageHandle and EfiSystemTable in UEFI_FIRMWARE_INFORMATION 2022-12-20 23:08:28 +01:00
belliash 51886a05dd Get rid of boot services code after exiting boot services 2022-12-20 23:06:32 +01:00
belliash 7c38efc802 Update boot sequence and check PE/COFF image machine type compatibility 2022-12-20 19:11:15 +01:00
belliash edee9a8ec6 Rework BlGetMemoryMap() routine to use EFI_MEMORY_MAP structure; map EfiBootServicesData instead of EfiReservedMemoryType 2022-12-20 18:59:36 +01:00
belliash acda7aa37c Add EFI_MEMORY_MAP structure definition 2022-12-20 15:52:15 +01:00
belliash eb5998c58e Add a way to check PE/COFF image machine type 2022-12-20 15:37:13 +01:00
belliash 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
belliash 6871291c9a Basic steps in XTOS boot protocol 2022-12-14 22:17:17 +01:00
belliash 8b9c6780d5 Code formatting 2022-12-13 22:37:47 +01:00