Commit Graph

88 Commits

Author SHA1 Message Date
e2eb784eef Enter idle loop instead of halting system 2026-06-09 09:39:17 +02:00
5b0eebdb43 Initialize system interrupt handlers 2026-06-08 20:15:18 +02:00
c8cd198c4e Fix Task Register restoration by clearing busy bit in TSS descriptor 2026-06-08 13:40:20 +02:00
95d45f5a0a Do not restore Task Register during AMD64 processor control state restoration 2026-06-08 13:05:24 +02:00
766e4d9603 Register BSP in processor block array during initialization 2026-06-08 11:21:53 +02:00
47d4069d6f Add functions to save and restore processor context and control state 2026-06-07 20:33:02 +02:00
2a413d5717 Update processor state save calls 2026-06-07 13:11:04 +02:00
9c2357dfe6 Expose installed CPU count and rename state save function 2026-06-07 13:05:31 +02:00
75e7760d04 Delegate idle process and thread setup to PS subsystem 2026-06-04 13:14:21 +02:00
81fdf1f77a Allocate executive thread structure for idle thread and assign PRCB pointers 2026-06-04 11:57:58 +02:00
1d2d66fc83 Dedicated Idle process and thread initialization with dynamic affinity allocation 2026-06-04 11:57:49 +02:00
65e86db731 Migrate thread affinity from GROUP_AFFINITY to KAFFINITY_MAP 2026-06-01 22:28:21 +02:00
615d253bb4 Update initial thread and process affinity assignment to use group-aware structures 2026-06-01 20:40:34 +02:00
5a5604c35d Register dispatch interrupt handler 2026-05-28 23:50:02 +02:00
6b689baa7a Rename initial stack reserve macro to KTHREAD_STACK_OFFSET 2026-05-22 19:21:28 +02:00
6eb0b4d982 Unify initial stack reservation size calculation 2026-05-22 18:40:07 +02:00
d8cb7c9242 Initialize per-CPU spin lock queues during AP bootstrap 2026-05-22 15:27:59 +02:00
fe2e78f3c7 Extend AP bootstrap code 2026-05-19 12:40:23 +02:00
19092eda2e Rename architecture CPU functions class 2026-05-19 06:45:48 +02:00
b03cca65d8 Rename ProcSup class to ProcessorSupport and update all callers 2026-05-18 22:55:54 +02:00
a39835493a Enable multi-processor support 2026-05-17 20:45:01 +02:00
8080e07281 Fix stack pointer miscalculation caused by adding KERNEL_STACK_SIZE twice 2026-05-17 14:38:44 +02:00
9603453334 Implement Application Processor bootstrap function 2026-05-17 14:29:45 +02:00
1cff58c106 Refactor processor block initialization and add registration function 2026-05-14 13:15:55 +02:00
5a92173586 Implement targeted IPI broadcasting using processor block array 2026-05-11 00:07:21 +02:00
9761569e06 Implement SwitchContext() and SwitchThreadStack() routines 2026-05-06 22:25:39 +02:00
1050ddea8a Implement framebuffer double buffering 2026-05-04 11:51:52 +02:00
f03515b0eb Refactor KE::KernelInit::SwitchBootStack() inline assembly 2026-04-29 20:23:01 +02:00
341759a325 Implement Kernel Shared Data management and initialization 2026-04-24 13:58:33 +02:00
5dc782ca24 Allocate and map the Kernel Shared Data page at startup 2026-04-24 12:12:23 +02:00
17f044cb3f Apply consistent coding style 2026-04-09 11:42:41 +02:00
3ce009db41 Merge branch 'master' into memmgr 2026-03-28 13:59:34 +01:00
64b5de98c8 Move IRQ handling from kernel executive to hardware layer 2026-03-27 12:00:09 +01:00
4e02664977 Merge branch 'master' into memmgr 2026-03-26 23:48:49 +01:00
9b19bc94b3 Replace manual IDT manipulation with SetIdtGate function call 2026-03-26 23:10:00 +01:00
b8e81e2223 Initialize memory manager during kernel startup 2025-12-23 14:05:07 +01:00
7b93c39348 Add early spin lock initialization 2025-12-19 19:12:50 +01:00
fabf3a3a5e Replace all occurrences of NULL with NULLPTR for unified C and C++ null pointer handling 2025-09-16 15:59:56 +02:00
307ec1794c Clean up after migration to C++ 2025-09-16 14:20:20 +02:00
e3898f28fc Refactor kernel to use MM namespace for memory management 2025-09-15 22:26:52 +02:00
4592955da1 Migrate HL subsystem to C++ 2025-09-13 19:15:13 +02:00
7cdfa8f79d Refactor KE subsystem 2025-09-12 13:11:15 +02:00
0647b853a6 Migrate PO subsystem to C++ 2025-09-11 22:52:40 +02:00
3a11d536d5 Refactor AR subsystem 2025-09-11 20:23:51 +02:00
4947f788d5 Migrate KE subsystem to C++ 2025-09-09 23:20:50 +02:00
c8dc2a1407 Migrate AR subsystem to C++ 2025-09-08 15:29:13 +02:00
c2a4ad026a Implement KD subsystem, add serial & framebuffer debug providers 2025-09-04 10:49:40 +02:00
5ff9303bd1 Add debug screen clear at end of kernel initialization 2025-09-01 16:27:28 +02:00
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