Commit Graph

353 Commits

Author SHA1 Message Date
fd6e273d8a Add missing forward references 2023-01-07 23:44:00 +01:00
ca1d7ddfe8 Basic context, frames and exceptions definitions 2023-01-07 23:36:50 +01:00
f74ba62f24 Add GDT, IDT and TSS related structures 2023-01-07 13:33:16 +01:00
b22a76e3c4 Add XT native kernel subsystem to the PE/COFF image support 2023-01-06 16:16:26 +01:00
674e69da0e Cleanup useless externals 2023-01-05 23:38:58 +01:00
712de4e4e4 XTDK contains headers uniquely identified 2023-01-05 23:28:43 +01:00
3250ad67aa Rename header file 2023-01-05 23:09:54 +01:00
3131aac7a9 Move serial ports I/O address to architecture specific header 2023-01-05 15:58:36 +01:00
5730e8692e Reorganisation of KeStartXtSystem() routine and early debug printing 2023-01-04 23:08:59 +01:00
b7e5f1b5c1 Use CR constants instead of hardcoded values 2023-01-04 16:33:28 +01:00
a5b3350559 Add _M128 structure definition 2023-01-04 16:16:17 +01:00
b22303003c Add architecture name 2023-01-03 16:28:14 +01:00
d8f2135ac6 Add more PCI(E) related definitions 2023-01-02 23:59:32 +01:00
c5a7d0fe05 Improvements in COM port support 2023-01-02 16:14:00 +01:00
e8e7d7b905 Add missing forward declaration 2023-01-02 16:11:50 +01:00
4c031f4075 Add I/O related type definitions 2023-01-02 16:10:43 +01:00
94e9fa1293 Allow to provide custom COM port address 2022-12-29 23:44:52 +01:00
e6a7918bac Fix release build 2022-12-28 23:28:49 +01:00
dec021b1ec Reorganize early debug printing; initialize kernel stacks when needed 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 2022-12-28 15:57:03 +01:00
fcfa575bff Implement HlReadTimeStampCounter() routine 2022-12-27 23:28:27 +01:00
f46615f92c Implement HlInvalidateTlbEntry(), HlReadModelSpecificRegister() and HlWriteModelSpecificRegister() routines 2022-12-27 23:19:33 +01:00
602d89ef27 Fixes in HlIoPortInShort() and HlIoPortInLong() routines 2022-12-27 22:43:19 +01:00
9828b23400 Implement HlIoPortInShort(), HlIoPortInLong(), HlIoPortOutShort() and HlIoPortOutLong() routines 2022-12-27 22:26:45 +01:00
bffb93b58c Add missing calling convention 2022-12-27 22:05:46 +01:00
5b75d005a7 Implement HlClearInterruptFlag() and HlSetInterruptFlag() intrinsic routines 2022-12-27 18:54:01 +01:00
8f3a4aef60 Code formatting 2022-12-23 22:27:08 +01:00
93ad0b4ea0 Set valid calling convention for HAL routines 2022-12-23 14:41:11 +01:00
3ab1695968 Common routines for reading from and writing to CPU control registers 2022-12-23 14:30:52 +01:00
3e8bdfe9fe Add missing forward routines definitions 2022-12-23 00:09:33 +01:00
e9d30a0fd9 Add missing forward structures definitions 2022-12-22 22:58:52 +01:00
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
652e3293b1 Get rid of EfiImageHandle and EfiSystemTable in UEFI_FIRMWARE_INFORMATION 2022-12-20 23:08:28 +01:00
7c38efc802 Update boot sequence and check PE/COFF image machine type compatibility 2022-12-20 19:11:15 +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
03ebd3d273 Add missing EFI memory definitions 2022-12-13 15:49:44 +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
900e86c9da Create new stack and then boot XTOS, export more routines with the loader protocol 2022-12-07 20:34:16 +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
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
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
e37e5b97af Initial version of the kernel initialization block, needed to start the kernel 2022-11-12 23:17:44 +01:00