Commit Graph

140 Commits

Author SHA1 Message Date
331c5bfeda Rework initial timer support 2024-04-20 23:15:57 +02:00
51df6c3acb Update trap handler to allow access to the registers 2024-04-19 16:54:55 +02:00
7193e698f1 Store page map level 2024-04-07 17:49:24 +02:00
e82c3cbf18 Fix function prototypes 2024-04-07 10:37:27 +02:00
04e22c127e Initial memory manager initialization code 2024-04-07 10:26:12 +02:00
74b2c80869 RtlCountLeadingZeroes64() should take 64bit value 2024-03-23 00:36:59 +01:00
715f842445 Implement RtlClearSetBits(), RtlFindClearBits(), RtlFindSetBits() and RtlSetClearBits() routines 2024-03-22 18:53:30 +01:00
26d5118cea Add forward references to bit map related routines 2024-03-12 22:02:24 +01:00
bb44caee31 Implement HlPutCharacter() routine 2024-03-10 17:02:30 +01:00
f9714a79e4 Add support for writing floating point values 2024-02-22 23:39:11 +01:00
0c7cf6f6d3 Implement RtlInfiniteDouble() and RtlNanDouble() routines 2024-02-21 19:55:16 +01:00
4b2d8ded72 No parameters are expected, explicitly 2024-02-20 16:55:12 +01:00
c70d2e2afa Routines with no prototype cannot use XTAPI calling convention 2024-02-20 16:37:57 +01:00
015faa53a0 XTAPI calling convention is not supported on variadic routines 2024-02-20 16:21:28 +01:00
00cca9a1c1 Add %U XTOS extension for UUID/GUID string argument support 2024-02-16 19:02:44 +01:00
a1ec5e410d Refactor RtlpWriteWideStringValue() and RtlpWriteWideStringStringValue() routines 2024-02-16 17:03:10 +01:00
8dd0e70dd9 Implement printf-alike wide string formatting mechanism, currently without floating point numbers support 2024-02-15 23:01:13 +01:00
55fb9e2eb1 Implement RtlGetBaseExponent() routine for getting base(10) exponent of a given floating point value 2024-02-14 00:02:04 +01:00
a852993842 Add missing forward references to math related routines 2024-02-13 16:25:41 +01:00
77bc796769 Implement HlClearApicErrors() and HlSendEoi() routines, change HlDisableLegacyPic() calling convention 2024-02-09 15:11:14 +01:00
73cd4bd4f2 Export runlevel related routines 2024-02-07 22:26:38 +01:00
0fc14f6f82 Export spinlock related routines 2024-02-07 22:19:34 +01:00
99abcd63d1 Implement basic kernel spinlock mechanism 2024-02-05 22:07:39 +01:00
7727888087 Implement ArFlushTlb() routine 2024-02-04 23:43:38 +01:00
abdb9b25db Implement RtlAtomicBitTestAndSet() and RtlAtomicBitTestAndSet64() intrinsic routines 2024-02-04 22:34:22 +01:00
9ce841e957 Implement memory barriers 2024-02-04 22:10:37 +01:00
dddd1eb183 Rename internal kernel headers to distinguish them easily from XTDK 2023-11-29 20:39:59 +01:00
59aa62916a Include architecture specific HAL headers 2023-11-29 20:15:12 +01:00
3800138f52 Move (A)PIC related forward references to arch-specific headers 2023-11-29 20:13:03 +01:00
Jozef Nagy
c8a54e602b Disable legacy 8259 PIC before enabling APIC
Reviewed-on: xt-sys/exectos#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
f6c621c2a6 Basic processor initialization code 2023-11-28 22:31:39 +01:00
d4ee87fd62 Fix function prototype 2023-11-28 15:39:32 +01:00
d17b06a180 Register interrupt handlers once the APIC initialization is done 2023-11-28 14:20:23 +01:00
e5adc31af7 Implement basic APIC support, including X2APIC 2023-11-27 22:38:15 +01:00
bed49fa0ac Fix function prototypes using fastcall and stdcall calling convensions 2023-11-25 23:25:44 +01:00
e245754d95 Add running level management support 2023-11-25 23:14:15 +01:00
1cb21a81dd Rename HlInitializeDisplay() to HlInitializeFrameBuffer() 2023-11-22 20:36:05 +01:00
f28c870192 Implement KeHaltSystem() routine 2023-11-22 19:24:14 +01:00
1eecad21db Implement HlReadApicRegister() and HlWriteApicRegister() routines for basic APIC support 2023-11-20 15:26:03 +01:00
71d0608643 Implement ArGetStackPointer() routine 2023-11-19 00:09:16 +01:00
ec4a0fcb70 Add missing KepRetireDpcList() routine forward reference 2023-11-15 23:19:20 +01:00
d35dd4fce3 Save processor state during kernel initialization 2023-11-15 15:00:38 +01:00
ccd0514416 Implement more CPU-related routines 2023-11-15 14:52:18 +01:00
1d9a79736a Allow to postpone thread startup 2023-11-11 16:30:53 +01:00
63f8dbc59b Initialize CPU power structures, idle process and idle thread 2023-11-02 23:07:11 +01:00
2621cb6d8a Turn atomic routines architecture independent 2023-10-29 21:43:05 +01:00
783a4a2aa0 Finish PoInitializeProcessorControlBlock() routine implementation 2023-10-29 20:14:10 +01:00
a359c9b2e8 Keep only atomic routines 2023-10-29 18:22:11 +01:00
3f2baa5b50 Rename RtlInterlockedDecrementLongPtr() to follow routines naming convention 2023-10-29 12:21:19 +01:00
cf7c467637 Implement RtlInterlockedExchangePointer() routine 2023-10-29 11:48:31 +01:00