Commit Graph

377 Commits

Author SHA1 Message Date
55fb9e2eb1 Implement RtlGetBaseExponent() routine for getting base(10) exponent of a given floating point value 2024-02-14 00:02:04 +01:00
cca2e65376 Rework 64-bit division routines to support i686 architecture 2024-02-13 16:56:29 +01:00
a852993842 Add missing forward references to math related routines 2024-02-13 16:25:41 +01:00
99bdd917d9 Add basic kernel math support 2024-02-13 14:05:37 +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
2d7309476a Describe kernel executive layer 2024-02-07 20:05:20 +01:00
18934ae79d NTOS compatibility layer moved to 3rd party driver 2024-02-07 17:50:01 +01:00
460ba7c857 Fix the filename used for exports 2024-02-07 17:15:23 +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
cd59c1e80d Add missing routine description 2024-01-31 16:23:05 +01:00
f0204bf448 Enable linker map for xtoskrnl 2024-01-31 16:09:35 +01:00
8e61503de1 Implement RtlCompareGuids() kernel routine 2024-01-31 16:08:06 +01:00
579b4dc970 Implement RtlTrimLeftString(), RtlTrimRightString() and RtlTrimString() routines 2023-12-09 20:18:02 +01:00
d7fbe531fd Improvements in string and wide string support
* 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 2023-11-29 22:49:15 +01:00
31b8cd8d3d Update HlDisablePic() description 2023-11-29 22:43:57 +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
669b84a826 Add architecture related information to kernel startup string 2023-11-29 18:32:03 +01:00
9aafa63617 Move CPU and PIC support into common for i686 and amd64 place 2023-11-29 18:26:46 +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
e886baa0d8 Fix reading from and writting to APIC registers 2023-11-26 16:57:40 +01:00
0e6844e2fa Fix page fault on accessing initial thread frame 2023-11-26 14:14:54 +01:00
96a19d23b3 Fix i686 build by setting APIC transformation tables static 2023-11-26 00:38:20 +01:00
ba6e68e1b5 Fix a bug that caused overwritting a value read from CR8 with a default value 2023-11-26 00:33:46 +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
5204d8bc2f Correct (A)PIC related source file description 2023-11-25 19:23:18 +01:00
55cc62f5a0 Rename KIRQL to KRUNLEVEL type 2023-11-25 00:32:55 +01:00
236927fba0 Move APIC related routines 2023-11-24 22:45:29 +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
d8403d01f5 Verify kernel and boot loader compatibility 2023-11-22 17:22:57 +01:00
1eecad21db Implement HlReadApicRegister() and HlWriteApicRegister() routines for basic APIC support 2023-11-20 15:26:03 +01:00
0c3268acd1 Export registers read/write related routines 2023-11-19 00:46:51 +01:00
12f946c92d Fixes to I/O registers related routines 2023-11-19 00:39:52 +01:00
71d0608643 Implement ArGetStackPointer() routine 2023-11-19 00:09:16 +01:00
1a932468a2 Add some DPC related stubs 2023-11-16 14:53:54 +01:00
ec4a0fcb70 Add missing KepRetireDpcList() routine forward reference 2023-11-15 23:19:20 +01:00
5b6f3b0244 Mark user mode threads as not yet supported 2023-11-15 20:41:28 +01:00