Commit Graph

173 Commits

Author SHA1 Message Date
b0074637f8 Remove hardcoded shift in SIPI vector calculation 2026-06-12 14:21:27 +02:00
c702152cca Refactor real-mode memory allocation and identity mapping for AP trampoline 2026-06-12 13:16:48 +02:00
81c799e590 Fix TrampolineCodeSize variable type 2026-06-12 12:59:16 +02:00
39928f2ef4 Add documentation for InitializeProcessorAffinity 2026-06-10 12:11:03 +02:00
4bcdcda3a0 Change ActiveProcessors to a pointer for dynamic allocation 2026-06-10 10:31:24 +02:00
7a27912dac Dynamically allocate active processors affinity map 2026-06-10 10:22:15 +02:00
cf4b91ac83 Simplify active processor bit setting 2026-06-09 23:27:24 +02:00
3841ceaf5b Refactor processor affinity logic 2026-06-09 19:33:20 +02:00
6b689baa7a Rename initial stack reserve macro to KTHREAD_STACK_OFFSET 2026-05-22 19:21:28 +02:00
9ac64605d3 Reserve initial thread frame space in AP startup stack 2026-05-22 18:59:43 +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
d41c90f541 Standardize doxygen return descriptions across HL layer 2026-05-18 20:22:19 +02:00
f2c70d582a Update doxygen comments for RTC and timer functions 2026-05-18 20:16:49 +02:00
24c9ae321c Update doxygen comments for AllocateSystemInterrupt and IOAPIC lookup routines 2026-05-18 20:14:46 +02:00
4e7113a079 Implement HL::Cpu::StartAllProcessors to bootstrap all application processors 2026-05-17 17:33:35 +02:00
8ee97ac0ae Add NOX2APIC boot parameter to bypass hardware detection 2026-05-15 12:00:50 +02:00
38b2e7a1ed Read previously identified CPU features from PRCB 2026-05-15 11:33:23 +02:00
efff262fb5 Replace CPUID queries with cached PRCB feature bits 2026-05-15 09:13:56 +02:00
757eac08c6 Refactor APIC IPI dispatching 2026-05-13 11:27:01 +02:00
06635ed014 Parameterize maximum allocation address in hardware pool and scan memory descriptors in reverse 2026-05-12 19:35:06 +02:00
5a92173586 Implement targeted IPI broadcasting using processor block array 2026-05-11 00:07:21 +02:00
897d9d4099 Expose timer performance counter and clock rate functions 2026-05-10 23:42:13 +02:00
6b14f31107 Enable HPET main counter and disable legacy replacement during hardware detection 2026-05-09 13:13:30 +02:00
976eee9ce3 Add HPET and TSC stall execution backends 2026-05-07 20:24:19 +02:00
689951cfde Update timer subsystem with multi-backend dispatch table 2026-05-07 19:50:37 +02:00
c5b0d15830 Zero-initialize register before bitfield assignment 2026-05-06 19:58:17 +02:00
8107692d83 Enable allocated APIC interrupt and validate IO APIC mapping 2026-05-06 19:50:54 +02:00
3262ad78c1 Move timer initialization 2026-05-06 19:48:05 +02:00
85fb08b3d4 Change timer file descriptions 2026-05-06 19:43:06 +02:00
ba85c88544 Export ACPI timer information 2026-05-04 16:02:59 +02:00
b417f84492 Fix MADT subtable traversal 2026-05-04 15:02:39 +02:00
1050ddea8a Implement framebuffer double buffering 2026-05-04 11:51:52 +02:00
7017985682 Register APIC error handler and stub broadcast IPI for uniprocessor 2026-05-03 13:12:29 +02:00
58deafb1d8 Add support for sending broadcast IPIs 2026-04-27 22:11:30 +02:00
88d1f6f2ae Implement system interrupt prologue and epilogue functions 2026-04-27 20:22:28 +02:00
6a983fe33c Add helper to translate run level to software interrupt vector 2026-04-27 20:17:57 +02:00
8d58a7fcc1 Ensure consistent delivery mode for allocated system interrupts 2026-04-27 20:01:45 +02:00
13cf7b5fe7 Fix SendSelfIpi to write ICR1/ICR0 sequentially and validate vector in IRR 2026-04-27 20:00:22 +02:00
119679c996 Mask the APIC Timer 2026-04-26 22:14:07 +02:00
f2baa765b4 Use constants for CMOS port selection 2026-04-24 09:55:36 +02:00
2dd1fdf869 Implement RTC support 2026-04-24 09:52:07 +02:00
58010c27f4 Implement CMOS register access functions 2026-04-23 19:13:56 +02:00
735ccd96a6 Initialize I/O APIC 2026-04-18 18:15:57 +02:00
cd4e905054 Add support for I/O APIC controllers and interrupt override handling 2026-04-18 00:04:12 +02:00
cec5e8b16b Implement detection of timer capabilities 2026-04-12 23:58:48 +02:00
a08e07e515 Refactor ACPI table caching to use a static array 2026-04-12 18:16:33 +02:00
d7f390b236 Harden ACPI initialization and fix MADT traversal for malformed tables 2026-04-12 17:42:15 +02:00
55cb12c978 Ensure APIC idle state before sending self-IPI 2026-04-09 23:51:13 +02:00