Commit Graph

127 Commits

Author SHA1 Message Date
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
7d8bfa8f0a Implement support for APIC Self-InterProcessor Interrupts (SIPI) 2026-04-09 20:25:55 +02:00
d00e96baa4 Invoke APIC timer initialization 2026-04-09 16:17:08 +02:00
17f044cb3f Apply consistent coding style 2026-04-09 11:42:41 +02:00
1fa6e90439 Hook up profile interrupt handler 2026-04-08 23:16:03 +02:00
53c5946c04 Clean up APIC timer initialization 2026-04-08 20:23:37 +02:00
9ffb03217a Implement software interrupt dispatch table and secondary handler lookup 2026-04-08 20:13:35 +02:00
f1476912f3 Add definitions for PIT ports and APIC timer divisor configuration 2026-04-08 07:21:40 +02:00
adb591f8c7 Implement APIC timer initialization and calibration 2026-04-08 00:15:03 +02:00
2a24ce9a35 Refactor spurious interrupt handling to use assembly routine 2026-04-02 13:14:49 +02:00
a64aa83eb8 Provide implementation for HL::Irq 2026-03-27 13:00:13 +01:00
64b5de98c8 Move IRQ handling from kernel executive to hardware layer 2026-03-27 12:00:09 +01:00
9479f3d364 Implement APIC presence check and panic if unsupported 2026-03-25 22:52:58 +01:00
e7425de523 Drop C wrappers and switch to C++ API 2025-09-19 12:56:06 +02:00
b2c8fa3e62 Use new C++ API 2025-09-19 10:49:07 +02: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
f4561c1f4f Remove leftover old headers and fix missed spots 2025-09-16 08:46:53 +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
3395934330 Match renamed I/O register helpers 2025-09-11 19:08:20 +02:00
9518e7da8e Migrate RTL subsystem to C++ 2025-09-11 18:28:24 +02:00
227da47bfc Add scroll region support and refactor framebuffer handling 2025-09-03 15:06:25 +02:00
e23a4c71a2 Fix framebuffer address calculations by using Pitch and BytesPerPixel 2025-09-02 12:42:06 +02:00
6ee7243e04 Refactor APIC delivery mode handling and unify naming 2025-09-01 19:54:12 +02:00
3c8b7cb1f2 Remove unused variable 2025-09-01 19:25:45 +02:00
2e415f6ec2 Remove broadcast INIT IPI 2025-09-01 19:23:02 +02:00
84ac8f00e0 Fix APIC initialization and refine comments 2025-09-01 15:41:06 +02:00
2e0a87e596 Use __asm__ to comply with disabled GNU extensions 2025-08-15 11:07:07 +02:00
030575592c Revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable implementation' 2025-08-11 23:30:40 +02:00
c9f9f87973 Fix broken HlpInitializeAcpiSystemDescriptionTable implementation 2025-08-10 17:48:01 +02:00
a6814aa2a3 Resolve compilation errors due to renamed CPUID requests 2025-08-10 16:59:32 +02:00
d7552f1dce Fix race condition in HlComPortReadLsr
The static local variable RingFlag in HlComPortReadLsr caused shared state across multiple calls and ports, leading to race conditions and incorrect behavior.
2025-08-06 09:01:47 +02:00
da3e039a05 Use correct address when clearing COM port buffer
The code was reading from Port->Address to clear the RBR before the field was initialized.
2025-07-20 14:53:04 +02:00
2e7793dc2b Implement HlpGetCpuApicId() routine 2024-07-22 23:31:20 +02:00
2c5b680426 Implement HlpSendIpi() routine 2024-07-22 23:23:55 +02:00
626ece8046 HlReadApicRegister() should return and HlWriteApicRegister() should take ULONGLONG value 2024-07-16 22:36:45 +02:00
088940424d Fix data types and rename some fields to avoid confusion 2024-07-16 16:28:12 +02:00
7abd0f3017 Revert unintentional change 2024-07-14 12:13:56 +02:00
f8519ec09d Rename HlpAcpiSystemInfo global variable to HlpSystemInfo 2024-07-14 12:11:39 +02:00
3bda67be0a Basic ACPI system info initialization code for traversing MADT tables 2024-07-13 21:08:58 +02:00
f52c50242a Correct comment 2024-07-09 22:57:02 +02:00
3f10e1b59e Fix page fault when trying to find ACPI table 2024-07-09 22:47:26 +02:00
47219585d4 Fix pointer operation overflow 2024-07-09 22:40:32 +02:00
e46f2e6116 Ensure that table header is not set before attempting to find ACPI table 2024-07-09 22:36:40 +02:00
906e09fd9f Refactor COM port support, to get rid of global variables in library 2024-06-12 18:02:29 +02:00
2f16f4f613 Traverse Local x2APIC structures to find all processors 2024-06-07 23:05:12 +02:00