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