Commit Graph
54 Commits
Author SHA1 Message Date
belliash e94e50b5d9 Implement HlLoadInterruptDescriptorTable() intrinsics for loading IDT 2023-01-26 20:08:57 +01:00
belliash b57e79aa7f Proceed with architecture specific initialization 2023-01-25 19:37:13 +01:00
belliash 8da38af489 Rename KepInitializeBootStructures() to KepInitializeStack() 2023-01-25 19:28:12 +01:00
belliash 3c3e93afc7 Save kernel initialization block earlier 2023-01-25 18:45:08 +01:00
belliash 707dc37868 Fix type of Source parameter in HlLoadSegment() routine 2023-01-24 23:08:48 +01:00
belliash 35aa514f95 Implement HlLoadSegment() intrinsics routine 2023-01-24 19:27:18 +01:00
belliash d3d8d144a0 Implement HlLoadGlobalDescriptorTable() intrinsic 2023-01-23 20:13:51 +01:00
belliash adc6677c9d Code formatting 2023-01-23 20:04:32 +01:00
belliash c81b858757 Implement HlReadGSQuadWord() intrinsic 2023-01-23 19:59:54 +01:00
belliash f20ab3e52e Implement HlLoadTaskRegister() for loading TSS segment selector into task register 2023-01-23 15:26:35 +01:00
belliash 9cbe2d458c Initial support for EFI framebuffer 2023-01-23 15:26:35 +01:00
belliash fb60625abc Add more intrinsic routines 2023-01-13 22:32:45 +01:00
belliash 12b8c5f539 Switch kernel stack and move boot structures initialization into separate routine 2023-01-08 10:35:49 +01:00
belliash 3caca6e1bf Set kernel subsystem to XT_NATIVE_KERNEL 2023-01-06 19:25:21 +01:00
belliash f2b51ff69c Code formatting 2023-01-05 22:45:52 +01:00
belliash 3131aac7a9 Move serial ports I/O address to architecture specific header 2023-01-05 15:58:36 +01:00
belliash 5730e8692e Reorganisation of KeStartXtSystem() routine and early debug printing 2023-01-04 23:08:59 +01:00
belliash c5a7d0fe05 Improvements in COM port support 2023-01-02 16:14:00 +01:00
belliash 94e9fa1293 Allow to provide custom COM port address 2022-12-29 23:44:52 +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 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 bffb93b58c Add missing calling convention 2022-12-27 22:05:46 +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 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 df8de3f85f Add missing routines documentation 2022-12-22 23:41:19 +01:00
belliash cf828a6896 Fill in kernel initialization block 2022-12-21 20:04:20 +01:00
belliash 6871291c9a Basic steps in XTOS boot protocol 2022-12-14 22:17:17 +01:00
belliash 9f4db475bb Implement HlHalt() intrinsic routine and add basic definitions for kernel services 2022-12-11 23:09:35 +01:00
belliash 324a88cc01 Implement HlCpuId() routine and corresponding structures for issueing CPUID instruction 2022-12-11 17:40:56 +01:00
belliash b89121fded Implement routines for accessing and manipulating CPU control registers 2022-12-02 23:03:42 +01:00
belliash b275caf161 Implement RtlRemoveEntryList() routine 2022-11-28 23:00:20 +01:00
belliash e37e5b97af Initial version of the kernel initialization block, needed to start the kernel 2022-11-12 23:17:44 +01:00
belliash 30bc0c3cb7 Install kernel under boot directory 2022-10-26 20:30:39 +02:00
belliash b1c08e4a9f Implement RtlStringLength() and RtlStringToWideString() routines 2022-10-25 23:45:12 +02:00
belliash 6a0a1eab23 Add missing IN/OUT indicators 2022-10-02 14:09:29 +02:00
belliash 6c6e5fe70a Implement RtlListLoop() routine for detecting loops in linked lists 2022-09-27 19:30:19 +02:00
belliash 67acacf528 Use SIZE_T for length limiter 2022-09-26 23:02:38 +02:00
belliash 252eb5c825 Export RtlWideStringConcatenate() and RtlWideStringLength() routines 2022-09-26 23:01:17 +02:00
belliash dd0c86003d Set correct calling convention for RtlWideStringCompare() and RtlWideStringTokenize() routines 2022-09-26 22:54:21 +02:00
belliash a0f359bcf7 Implement RtlWideStringConcatenate() routine 2022-09-26 17:26:00 +02:00
belliash c7f53e193a Implement RtlWideStringLength() routine 2022-09-26 16:53:58 +02:00
belliash 109c24f389 Initial support for xtldr modules and bootloader protocol 2022-09-17 00:14:09 +02:00
belliash 41f1aee6e3 Implemented RtlCompareMemory() for better compatibility with NT and made use of it in RtlSameMemory(), implemented RtlFillMemory(), RtlMoveMemory(), RtlSetMemory() and RtlZeroMemory() as well 2022-09-06 17:51:44 +02:00