Commit Graph

366 Commits

Author SHA1 Message Date
892c9eca86 Do not hardcode I/O map base 2023-01-30 22:38:41 +01:00
a761d3125a Architecture specific initialization prior to processor structures initialization 2023-01-30 20:34:05 +01:00
6f068513cd Initial processor block initialization 2023-01-30 19:07:05 +01:00
bca7ac41b8 Initialize boot CPU structures inside kernel on i686 architecture 2023-01-29 10:54:52 +01:00
7ac434cb99 Move architecture specific globals to external header, as ex. there is no GDT on ARM 2023-01-29 09:48:59 +01:00
ae60753e33 Add missing source files for i686 architecture 2023-01-29 00:52:05 +01:00
7bf4a9ab8d Initialize boot CPU structures inside kernel on AMD64 2023-01-29 00:45:17 +01:00
8733a23b20 Include kernel top header 2023-01-29 00:34:34 +01:00
757560ffeb Do not use EFI RunTime Services in kernel as they are not mapped correctly 2023-01-29 00:32:52 +01:00
9cd9a1eafa Correct typos 2023-01-29 00:25:25 +01:00
27e2fdf4f2 Introduce architecture library as new kernel subsystem and move selected routines into new subsystem 2023-01-28 10:34:55 +01:00
d5f9b20b51 Import kernel readme 2023-01-27 22:59:53 +01:00
e94e50b5d9 Implement HlLoadInterruptDescriptorTable() intrinsics for loading IDT 2023-01-26 20:08:57 +01:00
b57e79aa7f Proceed with architecture specific initialization 2023-01-25 19:37:13 +01:00
8da38af489 Rename KepInitializeBootStructures() to KepInitializeStack() 2023-01-25 19:28:12 +01:00
3c3e93afc7 Save kernel initialization block earlier 2023-01-25 18:45:08 +01:00
707dc37868 Fix type of Source parameter in HlLoadSegment() routine 2023-01-24 23:08:48 +01:00
35aa514f95 Implement HlLoadSegment() intrinsics routine 2023-01-24 19:27:18 +01:00
d3d8d144a0 Implement HlLoadGlobalDescriptorTable() intrinsic 2023-01-23 20:13:51 +01:00
adc6677c9d Code formatting 2023-01-23 20:04:32 +01:00
c81b858757 Implement HlReadGSQuadWord() intrinsic 2023-01-23 19:59:54 +01:00
f20ab3e52e Implement HlLoadTaskRegister() for loading TSS segment selector into task register 2023-01-23 15:26:35 +01:00
9cbe2d458c Initial support for EFI framebuffer 2023-01-23 15:26:35 +01:00
fb60625abc Add more intrinsic routines 2023-01-13 22:32:45 +01:00
12b8c5f539 Switch kernel stack and move boot structures initialization into separate routine 2023-01-08 10:35:49 +01:00
3caca6e1bf Set kernel subsystem to XT_NATIVE_KERNEL 2023-01-06 19:25:21 +01:00
f2b51ff69c Code formatting 2023-01-05 22:45:52 +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
c5a7d0fe05 Improvements in COM port support 2023-01-02 16:14:00 +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
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
938cd175c8 Export HlIoPortInShort(), HlIoPortInLong(), HlIoPortOutShort() and HlIoPortOutLong() routines 2022-12-27 22:48:10 +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
df8de3f85f Add missing routines documentation 2022-12-22 23:41:19 +01:00
cf828a6896 Fill in kernel initialization block 2022-12-21 20:04:20 +01:00
6871291c9a Basic steps in XTOS boot protocol 2022-12-14 22:17:17 +01:00
9f4db475bb Implement HlHalt() intrinsic routine and add basic definitions for kernel services 2022-12-11 23:09:35 +01:00
324a88cc01 Implement HlCpuId() routine and corresponding structures for issueing CPUID instruction 2022-12-11 17:40:56 +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