Commit Graph

379 Commits

Author SHA1 Message Date
97703c7932 Add stub for System Service Descriptor Table accessor routine 2026-06-12 23:16:20 +02:00
c702152cca Refactor real-mode memory allocation and identity mapping for AP trampoline 2026-06-12 13:16:48 +02:00
cf0d7f0a40 Update trampoline size output parameter to PULONG across bootloader and kernel 2026-06-12 12:54:53 +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
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
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
3841ceaf5b Refactor processor affinity logic 2026-06-09 19:33:20 +02:00
6078a5ba29 Implement idle thread loop 2026-06-09 08:36:39 +02:00
663f5cd048 Drop obsolete IPI exception dispatch path 2026-06-08 20:55:17 +02:00
5b0eebdb43 Initialize system interrupt handlers 2026-06-08 20:15:18 +02:00
d175a817a5 Add IPI service routines for APC, DPC, and freeze request handling 2026-06-08 14:49:02 +02:00
b285bc7312 Implement multi-processor freeze and thaw execution for SMP crash state synchronization 2026-06-08 14:38:17 +02:00
47d4069d6f Add functions to save and restore processor context and control state 2026-06-07 20:33:02 +02:00
9c2357dfe6 Expose installed CPU count and rename state save function 2026-06-07 13:05:31 +02:00
f82562f450 Rename SwitchCpu to SwitchProcessor 2026-06-07 12:33:56 +02:00
4256a312ae Implement kernel debugger entry point 2026-06-07 02:04:27 +02:00
7344c5ed4a Add function to query kernel debugger active state 2026-06-06 18:57:32 +02:00
537fbc8af4 Track kernel panic state 2026-06-06 18:52:05 +02:00
cf25af23d1 Add conditional acquisition parameter to RAII guard classes 2026-06-06 17:26:39 +02:00
53a239958f Propagate allocation failures from idle process and thread setup 2026-06-04 14:30:01 +02:00
02d0f3f538 Introduce PS subsystem with IDLE process and thread creation 2026-06-04 13:09:09 +02:00
e2a78389f2 Fix incorrect namespace comment 2026-06-04 12:58:59 +02:00
1d2d66fc83 Dedicated Idle process and thread initialization with dynamic affinity allocation 2026-06-04 11:57:49 +02:00
34aba8c7c7 Remove software interrupt 0x2F trap handler 2026-06-03 15:57:12 +02:00
2fcbc7bee8 Implement processor affinity search functions 2026-06-01 01:10:40 +02:00
0aabc206a1 Add BSF and BSR instruction wrappers 2026-06-01 00:36:52 +02:00
5a5604c35d Register dispatch interrupt handler 2026-05-28 23:50:02 +02:00
f562aa0874 Implement timer table list and check for expired timers 2026-05-28 00:36:25 +02:00
a93ebbfb5b Populate pool tracking table with common allocation tags 2026-05-23 17:40:40 +02:00
71870cd178 Remove per-CPU pool tracking tables 2026-05-22 23:45:32 +02:00
9002ac8b5c Implement red-black tree algorithm 2026-05-21 14:56:44 +02:00
6e4f0ba6e4 Implement per-processor local clock initialization 2026-05-19 09:45:17 +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
4e7113a079 Implement HL::Cpu::StartAllProcessors to bootstrap all application processors 2026-05-17 17:33:35 +02:00
9603453334 Implement Application Processor bootstrap function 2026-05-17 14:29:45 +02:00
29368a0dd8 Implement string to number conversion functions 2026-05-15 15:02:22 +02:00
ca4f3acc0e Properly identify CPU vendor 2026-05-14 18:59:00 +02:00
5b7761fe7d Expose InitializeProcessorStructures as a public method 2026-05-14 18:10:29 +02:00
1cff58c106 Refactor processor block initialization and add registration function 2026-05-14 13:15:55 +02:00
9185ceade6 Decouple processor block initialization from AllocateProcessorStructures 2026-05-14 11:07:42 +02:00
fd7e18989d Protect debug print output with spinlock 2026-05-13 14:33:41 +02:00
757eac08c6 Refactor APIC IPI dispatching 2026-05-13 11:27:01 +02:00
c8868ead47 Add AllocateRealModeMemory routine for low memory allocations 2026-05-13 10:08:30 +02:00
58981e0087 Add MapVirtualAddress to memory manager paging interface 2026-05-13 09:58:13 +02:00
06635ed014 Parameterize maximum allocation address in hardware pool and scan memory descriptors in reverse 2026-05-12 19:35:06 +02:00