Commit Graph

82 Commits

Author SHA1 Message Date
243aacc9c1 Cleanup thread context initialization code 2024-05-06 16:57:29 +02:00
e4155ee008 Lower runlevel to APC before initializing idle process 2024-05-05 21:48:58 +02:00
c98ad3862b Use kernel boot stack for the idle thread 2024-05-05 21:47:48 +02:00
a6b8f97fbb Remove empty line 2024-04-29 08:40:07 +02:00
30a2cb9849 Update timers support 2024-04-21 13:57:55 +02:00
331c5bfeda Rework initial timer support 2024-04-20 23:15:57 +02:00
12ce7aae3f Correct formatting 2024-04-19 23:59:21 +02:00
5539d98572 Raise to HIGH runlevel before switching the stack 2024-04-19 23:55:26 +02:00
b30d15719c Temporarily comment out thread code related to trap frame 2024-04-19 16:59:57 +02:00
3a86ab1424 Remove duplicated code 2024-03-10 22:51:34 +01:00
77bc796769 Implement HlClearApicErrors() and HlSendEoi() routines, change HlDisableLegacyPic() calling convention 2024-02-09 15:11:14 +01:00
99abcd63d1 Implement basic kernel spinlock mechanism 2024-02-05 22:07:39 +01:00
1e696258c2 Initialize framebuffer and processor 2023-11-29 22:49:15 +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
d17b06a180 Register interrupt handlers once the APIC initialization is done 2023-11-28 14:20:23 +01:00
0e6844e2fa Fix page fault on accessing initial thread frame 2023-11-26 14:14:54 +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
55cc62f5a0 Rename KIRQL to KRUNLEVEL type 2023-11-25 00:32:55 +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
1a932468a2 Add some DPC related stubs 2023-11-16 14:53:54 +01:00
5b6f3b0244 Mark user mode threads as not yet supported 2023-11-15 20:41:28 +01:00
5d27473bb0 Fix i686 build 2023-11-15 15:34:04 +01:00
d35dd4fce3 Save processor state during kernel initialization 2023-11-15 15:00:38 +01:00
fc85e0674b Let KeGetCurrentProcessorControlBlock() use CurrentPrcb field and correct comments 2023-11-13 15:36:50 +01:00
1d9a79736a Allow to postpone thread startup 2023-11-11 16:30:53 +01:00
641b34b119 Fixes in i686 version of KepInitializeThreadContext() 2023-11-08 16:06:01 +01:00
362eefc2b3 Fixes in AMD64 version of KepInitializeThreadContext() to get rid of PageFault exception 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 2023-11-05 20:07:13 +01:00
02f35dbd8c Try to allocate new stack for a thread if needed 2023-11-03 16:04:10 +01:00
a6c3924b56 Initialize Idle thread for i686 architecture 2023-11-03 15:29:01 +01:00
63f8dbc59b Initialize CPU power structures, idle process and idle thread 2023-11-02 23:07:11 +01:00
aa17be6eb3 Implement KeSetTargetProcessorDpc() routine 2023-10-29 19:59:21 +01:00
be7981f614 Implement KeInitializeThreadedDpc() and export it together with KeInitializeDpc() 2023-10-29 19:45:45 +01:00
6d63750fc2 Rename KepArchInitialize() routine to KepInitializeMachine() 2023-10-29 10:38:23 +01:00
4e553b5570 Remove unused variables to satisfy compiler 2023-10-27 15:37:31 +02:00
d5dd87b889 Add initial kernel panic mechanism 2023-03-23 22:34:28 +01:00
934dba37a1 Initial kernel events support 2023-03-17 16:46:18 +01:00
e6b64b741a Initialize thread context for i686 2023-03-15 23:05:18 +01:00
e05366815a NpxFrame is filled with zeroes, so there is no need to set all these stuff 2023-03-15 22:48:26 +01:00
5677719038 Initialize thread context for AMD64 2023-03-14 17:37:20 +01:00
8f653c47dc Initial Deferred Procedure Call (DPC) support 2023-03-05 22:56:16 +01:00
286fc76577 First attempt on SEH usage; currently this does not take an effect due to missing exception dispatcher 2023-02-26 22:08:02 +01:00
57dee5c535 Reorder parameters in KeInitializeThread() 2023-02-24 22:29:38 +01:00
9c74aafe3d Initial implementation of process initialization 2023-02-24 19:52:20 +01:00
c4d1f1cd0d Initial implementation of the thread initialization 2023-02-23 20:11:21 +01:00
88c17982e4 Thread initialization stub 2023-02-21 22:30:56 +01:00
9a27d52efe Correct typo 2023-02-18 00:07:12 +01:00