Commit Graph
100 Commits
Author SHA1 Message Date
belliash 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
belliash c2db94125d Add appropriate crediting for Minoca authors for the System Resources component 2024-06-21 17:00:20 +02:00
belliash 330d3fa72e Fix routines order for better maintainability 2024-06-21 16:50:05 +02:00
belliash 91e8a86ee2 Implement kernel undefined behavior sanitizer support 2024-06-12 16:19:24 +02:00
belliash 76e1fc6099 Enable hardware layer initialization code 2024-06-04 21:36:09 +02:00
belliash c289dab514 Add ACPI resource type 2024-06-02 21:36:59 +02:00
belliash 4a275b3dec Just skip unsupported system resources 2024-05-26 00:09:31 +02:00
belliash b4588d5b4c Make ExectOS only run on processors which support PAE 2024-05-24 16:30:39 +02:00
belliash edbc2cc045 Initialize architecture specific hardware extensions 2024-05-22 22:53:29 +02:00
belliash 811b173387 Re-enable interrupts only if they were enabled previously 2024-05-17 23:24:04 +02:00
belliash 8a15d46198 Initialize system resource as soon as possible 2024-05-17 22:31:29 +02:00
belliash 74c1b03a6b Implement a system resources management routines 2024-05-16 23:08:59 +02:00
belliash 3d08be4fac Refactor kernel startup code 2024-05-12 09:06:24 +02:00
belliash c34b6ff6c1 Take CPU number from processor block 2024-05-08 21:59:18 +02:00
belliash 38b0b2ac7d Use correct stack when using preallocated processor structures 2024-05-08 15:57:24 +02:00
belliash 3c3a756771 Allow to initialize CPU with allocated processor structures 2024-05-08 00:02:47 +02:00
belliash 8d6d27651c Implement KeGetCurrentProcessorNumber() routine 2024-05-07 18:52:43 +02:00
belliash ac0b8ab36a Allow to specify CPU number when initializing (A)PIC 2024-05-07 16:16:49 +02:00
belliash 243aacc9c1 Cleanup thread context initialization code 2024-05-06 16:57:29 +02:00
belliash e4155ee008 Lower runlevel to APC before initializing idle process 2024-05-05 21:48:58 +02:00
belliash c98ad3862b Use kernel boot stack for the idle thread 2024-05-05 21:47:48 +02:00
belliash a6b8f97fbb Remove empty line 2024-04-29 08:40:07 +02:00
belliash 30a2cb9849 Update timers support 2024-04-21 13:57:55 +02:00
belliash 331c5bfeda Rework initial timer support 2024-04-20 23:15:57 +02:00
belliash 12ce7aae3f Correct formatting 2024-04-19 23:59:21 +02:00
belliash 5539d98572 Raise to HIGH runlevel before switching the stack 2024-04-19 23:55:26 +02:00
belliash b30d15719c Temporarily comment out thread code related to trap frame 2024-04-19 16:59:57 +02:00
belliash 3a86ab1424 Remove duplicated code 2024-03-10 22:51:34 +01:00
belliash 77bc796769 Implement HlClearApicErrors() and HlSendEoi() routines, change HlDisableLegacyPic() calling convention 2024-02-09 15:11:14 +01:00
belliash 99abcd63d1 Implement basic kernel spinlock mechanism 2024-02-05 22:07:39 +01:00
belliash 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
belliash 669b84a826 Add architecture related information to kernel startup string 2023-11-29 18:32:03 +01:00
belliash d17b06a180 Register interrupt handlers once the APIC initialization is done 2023-11-28 14:20:23 +01:00
belliash 0e6844e2fa Fix page fault on accessing initial thread frame 2023-11-26 14:14:54 +01:00
belliash bed49fa0ac Fix function prototypes using fastcall and stdcall calling convensions 2023-11-25 23:25:44 +01:00
belliash e245754d95 Add running level management support 2023-11-25 23:14:15 +01:00
belliash 55cc62f5a0 Rename KIRQL to KRUNLEVEL type 2023-11-25 00:32:55 +01:00
belliash f28c870192 Implement KeHaltSystem() routine 2023-11-22 19:24:14 +01:00
belliash d8403d01f5 Verify kernel and boot loader compatibility 2023-11-22 17:22:57 +01:00
belliash 1a932468a2 Add some DPC related stubs 2023-11-16 14:53:54 +01:00
belliash 5b6f3b0244 Mark user mode threads as not yet supported 2023-11-15 20:41:28 +01:00
belliash 5d27473bb0 Fix i686 build 2023-11-15 15:34:04 +01:00
belliash d35dd4fce3 Save processor state during kernel initialization 2023-11-15 15:00:38 +01:00
belliash fc85e0674b Let KeGetCurrentProcessorControlBlock() use CurrentPrcb field and correct comments 2023-11-13 15:36:50 +01:00
belliash 1d9a79736a Allow to postpone thread startup 2023-11-11 16:30:53 +01:00
belliash 641b34b119 Fixes in i686 version of KepInitializeThreadContext() 2023-11-08 16:06:01 +01:00
belliash 362eefc2b3 Fixes in AMD64 version of KepInitializeThreadContext() to get rid of PageFault exception 2023-11-07 15:34:49 +01:00
belliash 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
belliash 02f35dbd8c Try to allocate new stack for a thread if needed 2023-11-03 16:04:10 +01:00