Commit Graph

248 Commits

Author SHA1 Message Date
2b7fc5b41d Fix swapped arguments in queued spinlock release 2026-07-01 18:45:03 +02:00
5cd52a4a12 Implement conversion of shared push lock to exclusive mode 2026-07-01 16:29:30 +02:00
c58305022f add push lock initialization code 2026-06-30 23:33:25 +02:00
84d35e3c97 Implement kernel push lock infrastructure 2026-06-29 18:25:40 +02:00
9ef8c569d5 Add event priority boost stub 2026-06-29 16:04:28 +02:00
2868db63ca Retrieve interrupt time via kernel shared data 2026-06-29 00:13:00 +02:00
119480382b Add dispatcher object routing for wait satisfaction and interval calculation 2026-06-28 23:25:45 +02:00
3011df6f3c Update thread initialization code to use MutexListHead 2026-06-28 19:31:01 +02:00
b3ce1a8be8 Add KThread critical region management 2026-06-26 10:45:38 +02:00
d6f925ebfd Update APC initialization comment 2026-06-26 10:31:20 +02:00
53a8b57a96 Register APC interrupt handler 2026-06-26 10:22:18 +02:00
77c1138f7d Add CheckApcDelivery to evaluate APC interrupt request or direct delivery 2026-06-26 09:54:38 +02:00
f2168e8c55 Update queued spinlock guard naming 2026-06-25 18:54:44 +02:00
6184e9e73d Implement in-stack queued spinlock 2026-06-25 16:22:37 +02:00
9faf19b57e Enforce volatile semantics on inline assembly 2026-06-18 11:33:54 +02:00
bae43034a6 Implement thread preemption and context switching in dispatch interrupt handler 2026-06-18 11:18:36 +02:00
156ae3efab Refactor thread ready state transitions into Scheduler class 2026-06-17 20:56:05 +02:00
854a8c8eef Document the backlinking 2026-06-17 20:40:23 +02:00
1fca2400a4 Add functions to transition threads to deferred ready or transition states 2026-06-17 16:30:28 +02:00
ea1ad3c6b1 Implement deferred ready thread insertion 2026-06-17 16:13:02 +02:00
6560ca9b96 Refactor thread initialization to attach to process 2026-06-17 12:15:32 +02:00
ffcb2dbeda Correct initial StackCount value to reflect underlying type width 2026-06-17 11:12:11 +02:00
55eb3047e3 Implement i686 RunThread with inline assembly 2026-06-16 12:25:26 +02:00
8597e37650 Implement AMD64 RunThread with inline assembly 2026-06-16 12:00:56 +02:00
1c90218042 Move RunThread to architecture-specific implementations 2026-06-16 11:43:42 +02:00
d1aa3cf481 Trigger INT3 on unexpected system thread termination 2026-06-16 10:49:16 +02:00
208684c3b4 Update i686 thread context initialization to match AMD64 2026-06-15 09:15:48 +02:00
89681897d7 Wire thread startup frame to return to user-mode switch or system thread exit handler 2026-06-14 01:34:24 +02:00
e035666f7a Fix i686 thread context setup 2026-06-14 00:53:34 +02:00
df35bf8601 Add thread startup stub 2026-06-14 00:50:23 +02:00
15523e7d71 Fix AMD64 thread context setup 2026-06-14 00:44:02 +02:00
f79c9023d8 Initialize thread service table 2026-06-12 23:19:05 +02:00
97703c7932 Add stub for System Service Descriptor Table accessor routine 2026-06-12 23:16:20 +02:00
2f5902119d Update thread initialization code 2026-06-12 20:52:23 +02:00
7a10135731 Replace jmp with call to maintain ABI stack alignment 2026-06-12 15:58:42 +02:00
32f0b747a1 Convert dispatcher context switch functions to naked assembly 2026-06-10 16:48:54 +02:00
c57aa98923 Free affinity maps on allocation failure and remove redundant idle process affinity loop 2026-06-10 14:08:07 +02:00
429e4ef6f1 Add bounds checking to affinity map bit operations and introduce InitializeAffinityMap 2026-06-10 12:51:05 +02:00
51ec7e3bab Fix build by initializing thread dispatcher header 2026-06-10 11:56:49 +02:00
f3ae70573c Initialize dispatcher header 2026-06-10 11:46:26 +02:00
830f84ab26 Pass initial affinity map to InitializeProcess 2026-06-10 11:27:25 +02:00
5a9df7ca86 Add helper to set full system processor affinity mask 2026-06-10 11:13:28 +02:00
7a27912dac Dynamically allocate active processors affinity map 2026-06-10 10:22:15 +02:00
36c3d92399 Refactor idle thread initialization 2026-06-09 23:24:40 +02:00
6a2a35c008 Refactor idle process initialization 2026-06-09 23:17:03 +02:00
a9202f5b57 Refactor CalculateAffinityMapSize and add CreateAffinityMap 2026-06-09 22:53:37 +02:00
4cbefe3a22 Implement affinity map bit manipulation and memory sizing helpers 2026-06-09 20:17:47 +02:00
e2eb784eef Enter idle loop instead of halting system 2026-06-09 09:39:17 +02:00
6078a5ba29 Implement idle thread loop 2026-06-09 08:36:39 +02:00
5b0eebdb43 Initialize system interrupt handlers 2026-06-08 20:15:18 +02:00