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