Commit Graph

59 Commits

Author SHA1 Message Date
8ee97ac0ae Add NOX2APIC boot parameter to bypass hardware detection
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m32s
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in -59m31s
Builds / ExectOS (i686, release) (push) Successful in 37s
2026-05-15 12:00:50 +02:00
38b2e7a1ed Read previously identified CPU features from PRCB
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m13s
Builds / ExectOS (amd64, release) (push) Successful in -59m15s
Builds / ExectOS (i686, release) (push) Successful in -59m31s
Builds / ExectOS (i686, debug) (push) Successful in -59m29s
2026-05-15 11:33:23 +02:00
efff262fb5 Replace CPUID queries with cached PRCB feature bits
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in -59m0s
Builds / ExectOS (amd64, debug) (push) Successful in -58m55s
Builds / ExectOS (i686, release) (push) Successful in 1m39s
Builds / ExectOS (amd64, release) (push) Successful in 1m44s
2026-05-15 09:13:56 +02:00
757eac08c6 Refactor APIC IPI dispatching
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in -59m29s
Builds / ExectOS (amd64, debug) (push) Successful in -59m28s
Builds / ExectOS (i686, release) (push) Successful in -59m30s
Builds / ExectOS (i686, debug) (push) Successful in -59m28s
2026-05-13 11:27:01 +02:00
5a92173586 Implement targeted IPI broadcasting using processor block array
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in -59m28s
Builds / ExectOS (amd64, debug) (push) Successful in -59m27s
Builds / ExectOS (i686, debug) (push) Successful in -59m29s
Builds / ExectOS (i686, release) (push) Successful in -59m30s
2026-05-11 00:07:21 +02:00
6b14f31107 Enable HPET main counter and disable legacy replacement during hardware detection
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m23s
Builds / ExectOS (amd64, release) (push) Successful in -59m26s
Builds / ExectOS (i686, release) (push) Successful in -59m26s
Builds / ExectOS (i686, debug) (push) Successful in -59m24s
2026-05-09 13:13:30 +02:00
976eee9ce3 Add HPET and TSC stall execution backends
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m29s
Builds / ExectOS (amd64, release) (push) Successful in -59m30s
Builds / ExectOS (i686, debug) (push) Successful in -59m24s
Builds / ExectOS (i686, release) (push) Successful in -59m25s
2026-05-07 20:24:19 +02:00
689951cfde Update timer subsystem with multi-backend dispatch table
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in -59m27s
Builds / ExectOS (amd64, debug) (push) Successful in -59m23s
Builds / ExectOS (i686, debug) (push) Successful in -59m25s
Builds / ExectOS (i686, release) (push) Successful in -59m28s
2026-05-07 19:50:37 +02:00
c5b0d15830 Zero-initialize register before bitfield assignment
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m26s
Builds / ExectOS (amd64, release) (push) Successful in -59m27s
Builds / ExectOS (i686, debug) (push) Successful in -59m27s
Builds / ExectOS (i686, release) (push) Successful in -59m29s
2026-05-06 19:58:17 +02:00
8107692d83 Enable allocated APIC interrupt and validate IO APIC mapping
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m26s
Builds / ExectOS (amd64, release) (push) Successful in -59m28s
Builds / ExectOS (i686, debug) (push) Successful in -59m23s
Builds / ExectOS (i686, release) (push) Successful in -59m25s
2026-05-06 19:50:54 +02:00
3262ad78c1 Move timer initialization
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m28s
Builds / ExectOS (amd64, release) (push) Successful in -59m29s
Builds / ExectOS (i686, release) (push) Successful in -59m26s
Builds / ExectOS (i686, debug) (push) Successful in -59m24s
2026-05-06 19:48:05 +02:00
7017985682 Register APIC error handler and stub broadcast IPI for uniprocessor
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in -59m26s
Builds / ExectOS (amd64, debug) (push) Successful in -59m24s
Builds / ExectOS (i686, debug) (push) Successful in -59m25s
Builds / ExectOS (i686, release) (push) Successful in -59m27s
2026-05-03 13:12:29 +02:00
58deafb1d8 Add support for sending broadcast IPIs
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m26s
Builds / ExectOS (amd64, release) (push) Successful in -59m27s
Builds / ExectOS (i686, debug) (push) Successful in -59m26s
Builds / ExectOS (i686, release) (push) Successful in -59m28s
2026-04-27 22:11:30 +02:00
8d58a7fcc1 Ensure consistent delivery mode for allocated system interrupts
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m25s
Builds / ExectOS (amd64, release) (push) Successful in -59m26s
Builds / ExectOS (i686, release) (push) Successful in -59m29s
Builds / ExectOS (i686, debug) (push) Successful in -59m27s
2026-04-27 20:01:45 +02:00
13cf7b5fe7 Fix SendSelfIpi to write ICR1/ICR0 sequentially and validate vector in IRR
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m21s
Builds / ExectOS (amd64, release) (push) Successful in -59m23s
Builds / ExectOS (i686, release) (push) Successful in -59m26s
Builds / ExectOS (i686, debug) (push) Successful in -59m24s
2026-04-27 20:00:22 +02:00
119679c996 Mask the APIC Timer
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m27s
Builds / ExectOS (amd64, release) (push) Successful in -59m29s
Builds / ExectOS (i686, debug) (push) Successful in -59m26s
Builds / ExectOS (i686, release) (push) Successful in -59m28s
2026-04-26 22:14:07 +02:00
f2baa765b4 Use constants for CMOS port selection
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m25s
Builds / ExectOS (amd64, release) (push) Successful in -59m26s
Builds / ExectOS (i686, debug) (push) Successful in -59m23s
Builds / ExectOS (i686, release) (push) Successful in -59m25s
2026-04-24 09:55:36 +02:00
2dd1fdf869 Implement RTC support
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after -59m35s
Builds / ExectOS (amd64, debug) (push) Failing after -59m33s
Builds / ExectOS (i686, debug) (push) Failing after -59m33s
Builds / ExectOS (i686, release) (push) Failing after -59m35s
2026-04-24 09:52:07 +02:00
58010c27f4 Implement CMOS register access functions
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in -59m3s
Builds / ExectOS (amd64, release) (push) Successful in -59m5s
Builds / ExectOS (i686, debug) (push) Successful in -59m26s
Builds / ExectOS (i686, release) (push) Successful in -59m28s
2026-04-23 19:13:56 +02:00
cd4e905054 Add support for I/O APIC controllers and interrupt override handling
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Successful in 29s
2026-04-18 00:04:12 +02:00
cec5e8b16b Implement detection of timer capabilities
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 33s
Builds / ExectOS (i686, release) (push) Failing after 30s
Builds / ExectOS (i686, debug) (push) Failing after 41s
Builds / ExectOS (amd64, debug) (push) Failing after 44s
2026-04-12 23:58:48 +02:00
55cb12c978 Ensure APIC idle state before sending self-IPI
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 30s
Builds / ExectOS (i686, release) (push) Failing after 29s
Builds / ExectOS (amd64, debug) (push) Failing after 43s
Builds / ExectOS (i686, debug) (push) Failing after 41s
2026-04-09 23:51:13 +02:00
7d8bfa8f0a Implement support for APIC Self-InterProcessor Interrupts (SIPI)
Some checks failed
Builds / ExectOS (i686, debug) (push) Failing after 42s
Builds / ExectOS (amd64, debug) (push) Failing after 44s
Builds / ExectOS (amd64, release) (push) Failing after 47s
Builds / ExectOS (i686, release) (push) Failing after 45s
2026-04-09 20:25:55 +02:00
d00e96baa4 Invoke APIC timer initialization
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 34s
Builds / ExectOS (amd64, debug) (push) Failing after 41s
Builds / ExectOS (i686, release) (push) Failing after 29s
Builds / ExectOS (i686, debug) (push) Failing after 39s
2026-04-09 16:17:08 +02:00
17f044cb3f Apply consistent coding style
Some checks failed
Builds / ExectOS (i686, debug) (push) Failing after 30s
Builds / ExectOS (amd64, debug) (push) Failing after 31s
Builds / ExectOS (amd64, release) (push) Failing after 51s
Builds / ExectOS (i686, release) (push) Failing after 48s
2026-04-09 11:42:41 +02:00
1fa6e90439 Hook up profile interrupt handler
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 28s
Builds / ExectOS (i686, release) (push) Failing after 42s
Builds / ExectOS (i686, debug) (push) Failing after 28s
Builds / ExectOS (amd64, debug) (push) Failing after 46s
2026-04-08 23:16:03 +02:00
53c5946c04 Clean up APIC timer initialization
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 30s
Builds / ExectOS (i686, debug) (push) Failing after 29s
Builds / ExectOS (amd64, debug) (push) Failing after 33s
Builds / ExectOS (i686, release) (push) Failing after 37s
2026-04-08 20:23:37 +02:00
9ffb03217a Implement software interrupt dispatch table and secondary handler lookup
Some checks failed
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Failing after 30s
Builds / ExectOS (i686, debug) (push) Failing after 39s
Builds / ExectOS (amd64, release) (push) Successful in 42s
2026-04-08 20:13:35 +02:00
adb591f8c7 Implement APIC timer initialization and calibration
Some checks failed
Builds / ExectOS (i686, debug) (push) Failing after 24s
Builds / ExectOS (amd64, debug) (push) Failing after 29s
Builds / ExectOS (amd64, release) (push) Failing after 25s
Builds / ExectOS (i686, release) (push) Failing after 28s
2026-04-08 00:15:03 +02:00
2a24ce9a35 Refactor spurious interrupt handling to use assembly routine
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Successful in 40s
Builds / ExectOS (i686, release) (push) Successful in 37s
2026-04-02 13:14:49 +02:00
64b5de98c8 Move IRQ handling from kernel executive to hardware layer
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 26s
Builds / ExectOS (i686, release) (push) Failing after 23s
Builds / ExectOS (amd64, debug) (push) Failing after 36s
Builds / ExectOS (i686, debug) (push) Failing after 33s
2026-03-27 12:00:09 +01:00
9479f3d364 Implement APIC presence check and panic if unsupported
Some checks failed
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (amd64, release) (push) Successful in 40s
Builds / ExectOS (i686, debug) (push) Failing after 32s
Builds / ExectOS (i686, release) (push) Successful in 38s
2026-03-25 22:52:58 +01:00
b2c8fa3e62 Use new C++ API
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 28s
2025-09-19 10:49:07 +02:00
f4561c1f4f Remove leftover old headers and fix missed spots
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 20s
Builds / ExectOS (amd64, debug) (push) Failing after 21s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (i686, release) (push) Failing after 19s
2025-09-16 08:46:53 +02:00
4592955da1 Migrate HL subsystem to C++
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 27s
2025-09-13 19:15:13 +02:00
3395934330 Match renamed I/O register helpers
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 21s
Builds / ExectOS (amd64, debug) (push) Failing after 23s
Builds / ExectOS (i686, debug) (push) Failing after 20s
Builds / ExectOS (i686, release) (push) Failing after 20s
2025-09-11 19:08:20 +02:00
6ee7243e04 Refactor APIC delivery mode handling and unify naming
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 1m15s
Builds / ExectOS (amd64, release) (push) Successful in 25s
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (i686, debug) (push) Successful in 1m24s
2025-09-01 19:54:12 +02:00
3c8b7cb1f2 Remove unused variable
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 25s
Builds / ExectOS (i686, debug) (push) Failing after 26s
Builds / ExectOS (amd64, release) (push) Failing after 34s
Builds / ExectOS (i686, release) (push) Failing after 31s
2025-09-01 19:25:45 +02:00
2e415f6ec2 Remove broadcast INIT IPI
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 25s
Builds / ExectOS (i686, release) (push) Failing after 26s
Builds / ExectOS (amd64, release) (push) Failing after 38s
Builds / ExectOS (i686, debug) (push) Failing after 36s
2025-09-01 19:23:02 +02:00
84ac8f00e0 Fix APIC initialization and refine comments
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 35s
Builds / ExectOS (i686, debug) (push) Successful in 36s
Builds / ExectOS (i686, release) (push) Successful in 35s
2025-09-01 15:41:06 +02:00
a6814aa2a3 Resolve compilation errors due to renamed CPUID requests
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 14s
Builds / ExectOS (i686, debug) (push) Failing after 17s
Builds / ExectOS (amd64, release) (push) Failing after 28s
Builds / ExectOS (i686, release) (push) Failing after 25s
2025-08-10 16:59:32 +02:00
2e7793dc2b Implement HlpGetCpuApicId() routine
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 27s
Builds / ExectOS (i686) (push) Failing after 27s
2024-07-22 23:31:20 +02:00
2c5b680426 Implement HlpSendIpi() routine
All checks were successful
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 38s
2024-07-22 23:23:55 +02:00
626ece8046 HlReadApicRegister() should return and HlWriteApicRegister() should take ULONGLONG value
All checks were successful
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-07-16 22:36:45 +02:00
f36b59c961 Store processor identities in system info structure
All checks were successful
Builds / ExectOS (i686) (push) Successful in 1m13s
Builds / ExectOS (amd64) (push) Successful in 1m14s
2024-06-07 20:19:56 +02:00
4212453cf5 Fix APIC initialization code
All checks were successful
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-06-06 16:49:08 +02:00
ef65bceccd Initialize legacy PIC and mask all interrupts
All checks were successful
Builds / ExectOS (i686) (push) Successful in 37s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-06-05 16:08:54 +02:00
b061c87fc9 Fix routines with no prototype using XTAPI calling convention compiler warnings
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 35s
2024-06-04 21:41:16 +02:00
8a4caba26f Fix routine with no prototype using XTAPI calling convention compiler warning
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 33s
2024-06-04 21:39:10 +02:00
94a40501d4 Mask APIC ICR0 and disable APIC interrupts for initialization time by raising APIC TPR
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 49s
Builds / ExectOS (i686) (push) Successful in 48s
2024-05-24 23:39:06 +02:00