Commit Graph

107 Commits

Author SHA1 Message Date
5768d4bba6 Prepare for architecture-specific paging initialization 2025-08-16 19:58:00 +02:00
e8771dfc5b Use __asm__ to comply with disabled GNU extensions 2025-08-15 00:32:56 +02:00
6130a34587 Align stack as required by the ABI 2025-07-28 17:57:16 +02:00
e778a95a01 Use portable affinity mask for the idle process 2025-07-20 12:34:20 +02:00
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
fdf649fcec Correctly initialize the boot stack pointer, as the stack grows downwards 2025-07-19 17:41:38 +02:00
dcb0b8fb4b Initialize UBSAN mismatch data without relying on memset() 2025-07-09 10:40:15 +02:00
156cb7bcac Refactor system resources to be able to distinguish if requested resource does not exist or if it is locked and cannot be reused 2024-06-22 18:54:34 +02:00
c2db94125d Add appropriate crediting for Minoca authors for the System Resources component 2024-06-21 17:00:20 +02:00
330d3fa72e Fix routines order for better maintainability 2024-06-21 16:50:05 +02:00
91e8a86ee2 Implement kernel undefined behavior sanitizer support 2024-06-12 16:19:24 +02:00
76e1fc6099 Enable hardware layer initialization code 2024-06-04 21:36:09 +02:00
c289dab514 Add ACPI resource type 2024-06-02 21:36:59 +02:00
4a275b3dec Just skip unsupported system resources 2024-05-26 00:09:31 +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
811b173387 Re-enable interrupts only if they were enabled previously 2024-05-17 23:24:04 +02:00
8a15d46198 Initialize system resource as soon as possible 2024-05-17 22:31:29 +02:00
74c1b03a6b Implement a system resources management routines 2024-05-16 23:08:59 +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
3c3a756771 Allow to initialize CPU with allocated processor structures 2024-05-08 00:02:47 +02:00
8d6d27651c Implement KeGetCurrentProcessorNumber() routine 2024-05-07 18:52:43 +02:00
ac0b8ab36a Allow to specify CPU number when initializing (A)PIC 2024-05-07 16:16:49 +02:00
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