Commit Graph

26 Commits

Author SHA1 Message Date
77bc796769
Implement HlClearApicErrors() and HlSendEoi() routines, change HlDisableLegacyPic() calling convention 2024-02-09 15:11:14 +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
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
55cc62f5a0
Rename KIRQL to KRUNLEVEL type 2023-11-25 00:32:55 +01:00
d8403d01f5
Verify kernel and boot loader compatibility 2023-11-22 17:22:57 +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
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
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
6d63750fc2
Rename KepArchInitialize() routine to KepInitializeMachine() 2023-10-29 10:38:23 +01:00
e6b64b741a
Initialize thread context for i686 2023-03-15 23:05:18 +01:00
c4d1f1cd0d
Initial implementation of the thread initialization 2023-02-23 20:11:21 +01:00
c4a52938d2
Implement KeGetCurrentThread() routine 2023-02-08 23:58:24 +01:00
929d3dfae7
Implement KeGetCurrentProcessorBlock() and KeGetCurrentProcessorControlBlock() routines for both amd64 and i686 2023-02-08 16:39:05 +01:00
75c519a70c
Use more generic name for this macro use pointer used behind it will point to kernel debugger after it gets initialized 2023-02-07 19:37:44 +01:00
76f22fbdc4
Initialize segments and processor registers for i686 architecture 2023-02-05 15:45:22 +01:00
a761d3125a
Architecture specific initialization prior to processor structures initialization 2023-01-30 20:34:05 +01:00
b57e79aa7f
Proceed with architecture specific initialization 2023-01-25 19:37:13 +01:00
12b8c5f539
Switch kernel stack and move boot structures initialization into separate routine 2023-01-08 10:35:49 +01:00