Commit Graph

25 Commits

Author SHA1 Message Date
24b6cc2250 Use portable affinity mask for the idle process
The hardcoded value 0xFFFFFFFF restricted the idle process to the first 32 processors on 64-bit system.
2025-07-20 12:33:10 +02:00
76e1fc6099 Enable hardware layer initialization code 2024-06-04 21:36:09 +02:00
b4588d5b4c Make ExectOS only run on processors which support PAE 2024-05-24 16:30:39 +02:00
edbc2cc045 Initialize architecture specific hardware extensions 2024-05-22 22:53:29 +02:00
3d08be4fac Refactor kernel startup code 2024-05-12 09:06:24 +02:00
c34b6ff6c1 Take CPU number from processor block 2024-05-08 21:59:18 +02:00
38b0b2ac7d Use correct stack when using preallocated processor structures 2024-05-08 15:57:24 +02:00
ac0b8ab36a Allow to specify CPU number when initializing (A)PIC 2024-05-07 16:16:49 +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
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
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
d35dd4fce3 Save processor state during kernel initialization 2023-11-15 15:00:38 +01:00
1d9a79736a Allow to postpone thread startup 2023-11-11 16:30:53 +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
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
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
55cdae7c83 Initialize AMD64 processor registers 2023-02-04 23:40:03 +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