Commit Graph

100 Commits

Author SHA1 Message Date
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
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