Commit Graph
219 Commits
Author SHA1 Message Date
harraiken df35bf8601 Add thread startup stub
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (amd64, release) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 38s
Builds / ExectOS (i686, debug) (push) Successful in 30s
2026-06-14 00:50:23 +02:00
harraiken 15523e7d71 Fix AMD64 thread context setup
Builds / ExectOS (i686, release) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Failing after 41s
Builds / ExectOS (amd64, debug) (push) Failing after 44s
2026-06-14 00:44:02 +02:00
harraiken f79c9023d8 Initialize thread service table
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 37s
2026-06-12 23:19:05 +02:00
harraiken 97703c7932 Add stub for System Service Descriptor Table accessor routine
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (amd64, release) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 37s
2026-06-12 23:16:20 +02:00
harraiken 2f5902119d Update thread initialization code
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (amd64, debug) (push) Successful in 40s
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 33s
2026-06-12 20:52:23 +02:00
harraiken 7a10135731 Replace jmp with call to maintain ABI stack alignment
Builds / ExectOS (amd64, debug) (push) Successful in 25s
Builds / ExectOS (amd64, release) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 33s
2026-06-12 15:58:42 +02:00
harraiken 32f0b747a1 Convert dispatcher context switch functions to naked assembly
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 36s
Builds / ExectOS (i686, debug) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 34s
2026-06-10 16:48:54 +02:00
harraiken c57aa98923 Free affinity maps on allocation failure and remove redundant idle process affinity loop
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 41s
Builds / ExectOS (amd64, debug) (push) Successful in 42s
Builds / ExectOS (i686, release) (push) Successful in 34s
2026-06-10 14:08:07 +02:00
harraiken 429e4ef6f1 Add bounds checking to affinity map bit operations and introduce InitializeAffinityMap
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (amd64, debug) (push) Successful in 40s
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 33s
2026-06-10 12:51:05 +02:00
harraiken 51ec7e3bab Fix build by initializing thread dispatcher header
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 35s
2026-06-10 11:56:49 +02:00
harraiken f3ae70573c Initialize dispatcher header
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Failing after 31s
Builds / ExectOS (i686, debug) (push) Failing after 33s
2026-06-10 11:46:26 +02:00
harraiken 830f84ab26 Pass initial affinity map to InitializeProcess
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 36s
2026-06-10 11:27:25 +02:00
harraiken 5a9df7ca86 Add helper to set full system processor affinity mask
Builds / ExectOS (i686, release) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 8m22s
Builds / ExectOS (amd64, debug) (push) Successful in 8m24s
2026-06-10 11:13:28 +02:00
harraiken 7a27912dac Dynamically allocate active processors affinity map
Builds / ExectOS (i686, release) (push) Failing after 27s
Builds / ExectOS (amd64, release) (push) Failing after 31s
Builds / ExectOS (i686, debug) (push) Failing after 56s
Builds / ExectOS (amd64, debug) (push) Failing after 59s
2026-06-10 10:22:15 +02:00
harraiken 36c3d92399 Refactor idle thread initialization
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Successful in 39s
Builds / ExectOS (amd64, release) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 35s
2026-06-09 23:24:40 +02:00
harraiken 6a2a35c008 Refactor idle process initialization
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 40s
2026-06-09 23:17:03 +02:00
harraiken a9202f5b57 Refactor CalculateAffinityMapSize and add CreateAffinityMap
Builds / ExectOS (amd64, debug) (push) Successful in 28s
Builds / ExectOS (amd64, release) (push) Successful in 41s
Builds / ExectOS (i686, release) (push) Successful in 39s
Builds / ExectOS (i686, debug) (push) Successful in 32s
2026-06-09 22:53:37 +02:00
harraiken 4cbefe3a22 Implement affinity map bit manipulation and memory sizing helpers
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 41s
Builds / ExectOS (amd64, debug) (push) Successful in 42s
Builds / ExectOS (i686, release) (push) Successful in 30s
2026-06-09 20:17:47 +02:00
harraiken e2eb784eef Enter idle loop instead of halting system
Builds / ExectOS (amd64, release) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 42s
Builds / ExectOS (i686, release) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 41s
2026-06-09 09:39:17 +02:00
harraiken 6078a5ba29 Implement idle thread loop
Builds / ExectOS (i686, release) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Failing after 13m27s
Builds / ExectOS (amd64, debug) (push) Failing after 38m41s
Builds / ExectOS (i686, debug) (push) Failing after 42m56s
2026-06-09 08:36:39 +02:00
harraiken 5b0eebdb43 Initialize system interrupt handlers
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 50s
Builds / ExectOS (i686, debug) (push) Successful in 49s
2026-06-08 20:15:18 +02:00
harraiken 9e64939de4 Add XTCLINK linkage to KeStartXtSystem
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 49s
Builds / ExectOS (i686, debug) (push) Successful in 47s
Builds / ExectOS (i686, release) (push) Successful in 31s
2026-06-08 20:06:23 +02:00
harraiken b911670121 Freeze secondary processors during kernel panic
Builds / ExectOS (i686, debug) (push) Successful in 50s
Builds / ExectOS (amd64, debug) (push) Successful in 51s
Builds / ExectOS (i686, release) (push) Successful in 34s
Builds / ExectOS (amd64, release) (push) Successful in 36s
2026-06-08 15:02:55 +02:00
harraiken d175a817a5 Add IPI service routines for APC, DPC, and freeze request handling
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (i686, release) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 46s
2026-06-08 14:49:02 +02:00
harraiken b285bc7312 Implement multi-processor freeze and thaw execution for SMP crash state synchronization
Builds / ExectOS (amd64, debug) (push) Failing after 22s
Builds / ExectOS (i686, release) (push) Failing after 24s
Builds / ExectOS (amd64, release) (push) Failing after 40s
Builds / ExectOS (i686, debug) (push) Failing after 38s
2026-06-08 14:38:17 +02:00
harraiken c8cd198c4e Fix Task Register restoration by clearing busy bit in TSS descriptor
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, release) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 47s
Builds / ExectOS (i686, debug) (push) Successful in 45s
2026-06-08 13:40:20 +02:00
harraiken 95d45f5a0a Do not restore Task Register during AMD64 processor control state restoration
Builds / ExectOS (i686, release) (push) Successful in 35s
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (amd64, debug) (push) Successful in 52s
Builds / ExectOS (i686, debug) (push) Successful in 50s
2026-06-08 13:05:24 +02:00
harraiken 766e4d9603 Register BSP in processor block array during initialization
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 49s
Builds / ExectOS (amd64, debug) (push) Successful in 51s
2026-06-08 11:21:53 +02:00
harraiken 47d4069d6f Add functions to save and restore processor context and control state
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 48s
Builds / ExectOS (i686, release) (push) Successful in 46s
2026-06-07 20:33:02 +02:00
harraiken 2a413d5717 Update processor state save calls
Builds / ExectOS (i686, debug) (push) Successful in 33s
Builds / ExectOS (amd64, debug) (push) Successful in 50s
Builds / ExectOS (amd64, release) (push) Successful in 47s
Builds / ExectOS (i686, release) (push) Successful in 31s
2026-06-07 13:11:04 +02:00
harraiken 9c2357dfe6 Expose installed CPU count and rename state save function
Builds / ExectOS (amd64, debug) (push) Failing after 24s
Builds / ExectOS (i686, debug) (push) Failing after 24s
Builds / ExectOS (amd64, release) (push) Failing after 39s
Builds / ExectOS (i686, release) (push) Failing after 36s
2026-06-07 13:05:31 +02:00
harraiken 678a0f4f48 Add static member definitions for kernel debugger active flag and kernel panic state
Builds / ExectOS (i686, debug) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 34s
Builds / ExectOS (i686, release) (push) Successful in 45s
Builds / ExectOS (amd64, release) (push) Successful in 47s
2026-06-06 19:00:49 +02:00
harraiken 537fbc8af4 Track kernel panic state
Builds / ExectOS (i686, release) (push) Failing after 31s
Builds / ExectOS (amd64, debug) (push) Failing after 41s
Builds / ExectOS (i686, debug) (push) Failing after 33s
Builds / ExectOS (amd64, release) (push) Failing after 39s
2026-06-06 18:52:05 +02:00
harraiken f680830b53 Implement resource cleanup for failed allocations during idle thread setup
Builds / ExectOS (i686, debug) (push) Successful in 45s
Builds / ExectOS (amd64, release) (push) Successful in 47s
Builds / ExectOS (amd64, debug) (push) Successful in 47s
Builds / ExectOS (i686, release) (push) Successful in 45s
2026-06-04 14:36:43 +02:00
harraiken 53a239958f Propagate allocation failures from idle process and thread setup
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Successful in 44s
Builds / ExectOS (amd64, debug) (push) Successful in 48s
2026-06-04 14:30:01 +02:00
harraiken 75e7760d04 Delegate idle process and thread setup to PS subsystem
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (i686, debug) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 44s
Builds / ExectOS (amd64, release) (push) Successful in 46s
2026-06-04 13:14:21 +02:00
harraiken 81fdf1f77a Allocate executive thread structure for idle thread and assign PRCB pointers
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 47s
Builds / ExectOS (amd64, debug) (push) Successful in 49s
Builds / ExectOS (i686, release) (push) Successful in 49s
2026-06-04 11:57:58 +02:00
harraiken 631f58bf72 Update InitializeProcess doxygen 2026-06-04 11:57:56 +02:00
harraiken 1d2d66fc83 Dedicated Idle process and thread initialization with dynamic affinity allocation 2026-06-04 11:57:49 +02:00
harraiken 65e86db731 Migrate thread affinity from GROUP_AFFINITY to KAFFINITY_MAP
Builds / ExectOS (amd64, release) (push) Successful in 42s
Builds / ExectOS (amd64, debug) (push) Successful in 45s
Builds / ExectOS (i686, debug) (push) Successful in 43s
Builds / ExectOS (i686, release) (push) Successful in 41s
2026-06-01 22:28:21 +02:00
harraiken 615d253bb4 Update initial thread and process affinity assignment to use group-aware structures
Builds / ExectOS (amd64, debug) (push) Successful in 45s
Builds / ExectOS (amd64, release) (push) Successful in 43s
Builds / ExectOS (i686, debug) (push) Successful in 44s
Builds / ExectOS (i686, release) (push) Successful in 40s
2026-06-01 20:40:34 +02:00
harraiken 2fcbc7bee8 Implement processor affinity search functions
Builds / ExectOS (amd64, debug) (push) Failing after 33s
Builds / ExectOS (amd64, release) (push) Failing after 32s
Builds / ExectOS (i686, release) (push) Failing after 32s
Builds / ExectOS (i686, debug) (push) Failing after 34s
2026-06-01 01:10:40 +02:00
harraiken 2c14da997d Convert process affinity assignment to KAFFINITY_MAP
Builds / ExectOS (amd64, debug) (push) Failing after 34s
Builds / ExectOS (amd64, release) (push) Failing after 32s
Builds / ExectOS (i686, debug) (push) Failing after 34s
Builds / ExectOS (i686, release) (push) Failing after 32s
2026-06-01 01:06:13 +02:00
harraiken 7d8b33390a Add runtime accounting and DPC throttling
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, release) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 1m2s
Builds / ExectOS (i686, debug) (push) Successful in 1m0s
2026-05-30 23:53:47 +02:00
harraiken 5a5604c35d Register dispatch interrupt handler
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (i686, release) (push) Successful in 52s
Builds / ExectOS (amd64, release) (push) Successful in 54s
2026-05-28 23:50:02 +02:00
harraiken addf9addab Verify system timer expiration on every clock interrupt
Builds / ExectOS (amd64, release) (push) Successful in 36s
Builds / ExectOS (i686, debug) (push) Successful in 42s
Builds / ExectOS (amd64, debug) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 35s
2026-05-28 00:38:49 +02:00
harraiken f562aa0874 Implement timer table list and check for expired timers
Builds / ExectOS (amd64, release) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 36s
Builds / ExectOS (amd64, debug) (push) Successful in 47s
Builds / ExectOS (i686, debug) (push) Successful in 46s
2026-05-28 00:36:25 +02:00
harraiken 19a9dfe7c6 Add PrcbLock and runtime counters to KPROCESSOR_CONTROL_BLOCK
Builds / ExectOS (i686, release) (push) Successful in 35s
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (amd64, debug) (push) Successful in 45s
Builds / ExectOS (i686, debug) (push) Successful in 43s
2026-05-27 23:15:19 +02:00
harraiken 6b689baa7a Rename initial stack reserve macro to KTHREAD_STACK_OFFSET
Builds / ExectOS (amd64, debug) (push) Successful in 46s
Builds / ExectOS (i686, debug) (push) Successful in 44s
Builds / ExectOS (amd64, release) (push) Successful in 53s
Builds / ExectOS (i686, release) (push) Successful in 51s
2026-05-22 19:21:28 +02:00
harraiken 102b357a75 Simplify thread frame setup using pointer arithmetic
Builds / ExectOS (amd64, release) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 30s
Builds / ExectOS (amd64, debug) (push) Successful in 46s
Builds / ExectOS (i686, debug) (push) Successful in 43s
2026-05-22 18:42:41 +02:00