579b4dc970
Implement RtlTrimLeftString(), RtlTrimRightString() and RtlTrimString() routines
Builds / ExectOS (amd64) (push) Successful in 5m31s
Builds / ExectOS (i686) (push) Successful in 27s
2023-12-09 20:18:02 +01:00
d7fbe531fd
Improvements in string and wide string support
...
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
* Implement RtlCompareString(), RtlCompareStringInsensitive(), RtlCompareWideString() and RtlCompareWideStringInsensitive()
* Rename some routines t omatch naming conventions
* Switch to CHAR in string operations
2023-12-06 23:00:18 +01:00
1e696258c2
Initialize framebuffer and processor
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-29 22:49:15 +01:00
31b8cd8d3d
Update HlDisablePic() description
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 22:43:57 +01:00
dddd1eb183
Rename internal kernel headers to distinguish them easily from XTDK
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
2023-11-29 20:39:59 +01:00
59aa62916a
Include architecture specific HAL headers
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-29 20:15:12 +01:00
3800138f52
Move (A)PIC related forward references to arch-specific headers
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2023-11-29 20:13:03 +01:00
Jozef Nagy
c8a54e602b
Disable legacy 8259 PIC before enabling APIC
...
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
Reviewed-on: #5
Reviewed-by: Rafal Kupiec <belliash@noreply.codingworkshop.git>
Co-authored-by: Jozef Nagy <schkwve@gmail.com>
Co-committed-by: Jozef Nagy <schkwve@gmail.com>
2023-11-29 20:07:16 +01:00
669b84a826
Add architecture related information to kernel startup string
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 18:32:03 +01:00
9aafa63617
Move CPU and PIC support into common for i686 and amd64 place
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 25s
2023-11-29 18:26:46 +01:00
f6c621c2a6
Basic processor initialization code
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2023-11-28 22:31:39 +01:00
d4ee87fd62
Fix function prototype
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-28 15:39:32 +01:00
d17b06a180
Register interrupt handlers once the APIC initialization is done
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
2023-11-28 14:20:23 +01:00
e5adc31af7
Implement basic APIC support, including X2APIC
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-27 22:38:15 +01:00
e886baa0d8
Fix reading from and writting to APIC registers
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-26 16:57:40 +01:00
0e6844e2fa
Fix page fault on accessing initial thread frame
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 24s
2023-11-26 14:14:54 +01:00
96a19d23b3
Fix i686 build by setting APIC transformation tables static
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-26 00:38:20 +01:00
ba6e68e1b5
Fix a bug that caused overwritting a value read from CR8 with a default value
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-26 00:33:46 +01:00
bed49fa0ac
Fix function prototypes using fastcall and stdcall calling convensions
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-25 23:25:44 +01:00
e245754d95
Add running level management support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 14s
2023-11-25 23:14:15 +01:00
5204d8bc2f
Correct (A)PIC related source file description
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-25 19:23:18 +01:00
55cc62f5a0
Rename KIRQL to KRUNLEVEL type
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-25 00:32:55 +01:00
236927fba0
Move APIC related routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-24 22:45:29 +01:00
1cb21a81dd
Rename HlInitializeDisplay() to HlInitializeFrameBuffer()
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-22 20:36:05 +01:00
f28c870192
Implement KeHaltSystem() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 44s
2023-11-22 19:24:14 +01:00
d8403d01f5
Verify kernel and boot loader compatibility
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-22 17:22:57 +01:00
1eecad21db
Implement HlReadApicRegister() and HlWriteApicRegister() routines for basic APIC support
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-20 15:26:03 +01:00
0c3268acd1
Export registers read/write related routines
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-19 00:46:51 +01:00
12f946c92d
Fixes to I/O registers related routines
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-19 00:39:52 +01:00
71d0608643
Implement ArGetStackPointer() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-19 00:09:16 +01:00
1a932468a2
Add some DPC related stubs
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-16 14:53:54 +01:00
ec4a0fcb70
Add missing KepRetireDpcList() routine forward reference
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-15 23:19:20 +01:00
5b6f3b0244
Mark user mode threads as not yet supported
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-15 20:41:28 +01:00
35aa26e0e9
Add missing documentation comment block
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-15 15:50:33 +01:00
5d27473bb0
Fix i686 build
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-15 15:34:04 +01:00
d35dd4fce3
Save processor state during kernel initialization
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-15 15:00:38 +01:00
ccd0514416
Implement more CPU-related routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-15 14:52:18 +01:00
fc85e0674b
Let KeGetCurrentProcessorControlBlock() use CurrentPrcb field and correct comments
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-13 15:36:50 +01:00
1d9a79736a
Allow to postpone thread startup
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-11 16:30:53 +01:00
641b34b119
Fixes in i686 version of KepInitializeThreadContext()
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-08 16:06:01 +01:00
362eefc2b3
Fixes in AMD64 version of KepInitializeThreadContext() to get rid of PageFault exception
Builds / ExectOS (amd64) (push) Successful in 58s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-07 15:34:49 +01:00
91ce0f9947
Compensate missing return address, which is a 4-byte on i686 and an 8-byte on amd64
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 28s
2023-11-05 20:07:13 +01:00
ba833422b0
Implement ExCompleteRundownProtection() and ExReInitializeRundownProtection() routines and add stub for ExWaitForRundownProtectionRelease()
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-05 09:50:04 +01:00
02f35dbd8c
Try to allocate new stack for a thread if needed
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-03 16:04:10 +01:00
a6c3924b56
Initialize Idle thread for i686 architecture
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-03 15:29:01 +01:00
63f8dbc59b
Initialize CPU power structures, idle process and idle thread
Builds / ExectOS (i686) (push) Successful in 28s
Builds / ExectOS (amd64) (push) Successful in 29s
2023-11-02 23:07:11 +01:00
2621cb6d8a
Turn atomic routines architecture independent
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 14s
2023-10-29 21:43:05 +01:00
783a4a2aa0
Finish PoInitializeProcessorControlBlock() routine implementation
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Failing after 17s
2023-10-29 20:14:10 +01:00
aa17be6eb3
Implement KeSetTargetProcessorDpc() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-10-29 19:59:21 +01:00
be7981f614
Implement KeInitializeThreadedDpc() and export it together with KeInitializeDpc()
Builds / ExectOS (i686) (push) Successful in 27s
Builds / ExectOS (amd64) (push) Successful in 27s
2023-10-29 19:45:45 +01:00