Commit Graph

391 Commits

Author SHA1 Message Date
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
5ff9303bd1 Add debug screen clear at end of kernel initialization
Some checks failed
Builds / ExectOS (i686, debug) (push) Failing after 25s
Builds / ExectOS (amd64, release) (push) Successful in 26s
Builds / ExectOS (amd64, debug) (push) Failing after 37s
Builds / ExectOS (i686, release) (push) Failing after 35s
2025-09-01 16:27:28 +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
c4a7df6f38 Extract trampoline code into a separate file
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 20s
Builds / ExectOS (i686, release) (push) Successful in 24s
Builds / ExectOS (amd64, debug) (push) Successful in 46s
Builds / ExectOS (amd64, release) (push) Successful in 45s
2025-08-20 20:20:35 +02:00
2468d80078 Add trampoline to enable 5-level paging
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 24s
Builds / ExectOS (i686, debug) (push) Successful in 24s
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (i686, release) (push) Successful in 40s
2025-08-20 00:20:10 +02:00
c409400cbf Correct VA masking in AMD64 page mapping functions
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (amd64, release) (push) Successful in 27s
Builds / ExectOS (amd64, debug) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 40s
2025-08-18 01:07:28 +02:00
017b8603d5 Align parameters in PTE manipulation functions
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 23s
Builds / ExectOS (i686, debug) (push) Successful in 25s
Builds / ExectOS (amd64, release) (push) Successful in 40s
Builds / ExectOS (i686, release) (push) Successful in 40s
2025-08-17 21:55:21 +02:00
a9dd1eaacd Implement MmpSetPteCaching function for AMD64 architecture
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 26s
Builds / ExectOS (i686, release) (push) Successful in 25s
Builds / ExectOS (amd64, debug) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 40s
2025-08-17 21:51:43 +02:00
f30d3df5b3 Implement PTE manipulation functions for AMD64 architecture
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 18s
Builds / ExectOS (i686, debug) (push) Successful in 22s
Builds / ExectOS (amd64, release) (push) Failing after 34s
Builds / ExectOS (i686, release) (push) Successful in 31s
2025-08-17 21:48:28 +02:00
1e11acee72 Refactor hardware memory mapping to use page map routine callbacks
Some checks failed
Builds / ExectOS (i686, release) (push) Failing after 21s
Builds / ExectOS (i686, debug) (push) Failing after 23s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (amd64, release) (push) Successful in 39s
2025-08-17 00:47:56 +02:00
57193eecc0 Implement PML2/PML3 page table routines
Some checks failed
Builds / ExectOS (amd64, debug) (push) Successful in 21s
Builds / ExectOS (i686, release) (push) Failing after 19s
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Failing after 32s
2025-08-17 00:45:12 +02:00
720d525b95 Assign page map routines
Some checks failed
Builds / ExectOS (i686, release) (push) Failing after 21s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 37s
2025-08-17 00:29:28 +02:00
f77f2bbf92 Introduce architecture-specific page map routines
Some checks failed
Builds / ExectOS (i686, release) (push) Failing after 23s
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Failing after 31s
Builds / ExectOS (amd64, release) (push) Successful in 33s
2025-08-17 00:23:19 +02:00
0ed59f223c Relocate page mapping helpers and add PML5 support
Some checks failed
Builds / ExectOS (i686, release) (push) Failing after 23s
Builds / ExectOS (amd64, release) (push) Successful in 26s
Builds / ExectOS (amd64, debug) (push) Successful in 37s
Builds / ExectOS (i686, debug) (push) Failing after 35s
2025-08-16 21:07:54 +02:00
de2973ac42 Implement page map info initialization
Some checks failed
Builds / ExectOS (amd64, debug) (push) Successful in 24s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (amd64, release) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Failing after 33s
2025-08-16 20:28:05 +02:00
6a330e38f2 Consolidate paging-related globals into MmpPageMapInfo
Some checks failed
Builds / ExectOS (amd64, release) (push) Successful in 25s
Builds / ExectOS (i686, release) (push) Failing after 21s
Builds / ExectOS (i686, debug) (push) Failing after 35s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
2025-08-16 20:14:18 +02:00
5768d4bba6 Prepare for architecture-specific paging initialization
Some checks failed
Builds / ExectOS (amd64, debug) (push) Successful in 22s
Builds / ExectOS (i686, release) (push) Failing after 21s
Builds / ExectOS (amd64, release) (push) Successful in 35s
Builds / ExectOS (i686, debug) (push) Failing after 33s
2025-08-16 19:58:00 +02:00
e8771dfc5b Use __asm__ to comply with disabled GNU extensions
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 27s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, release) (push) Successful in 39s
Builds / ExectOS (amd64, debug) (push) Successful in 43s
2025-08-15 00:32:56 +02:00
030575592c Revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable implementation'
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 40s
2025-08-11 23:30:40 +02:00
88fba6d408 revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable declaration'
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 20s
Builds / ExectOS (i686, release) (push) Failing after 17s
Builds / ExectOS (i686, debug) (push) Failing after 26s
Builds / ExectOS (amd64, release) (push) Failing after 29s
2025-08-11 23:29:57 +02:00
406c0a0cd2 Fix broken HlpInitializeAcpiSystemDescriptionTable declaration
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 25s
Builds / ExectOS (amd64, release) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 21s
Builds / ExectOS (amd64, debug) (push) Successful in 26s
2025-08-10 17:48:48 +02:00
c9f9f87973 Fix broken HlpInitializeAcpiSystemDescriptionTable implementation
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 18s
Builds / ExectOS (amd64, release) (push) Failing after 17s
Builds / ExectOS (i686, debug) (push) Failing after 27s
Builds / ExectOS (i686, release) (push) Failing after 27s
2025-08-10 17:48:01 +02:00
d806c8e1f2 Resolve compilation errors due to renamed CPUID requests
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 18s
Builds / ExectOS (i686, release) (push) Failing after 17s
Builds / ExectOS (amd64, release) (push) Failing after 28s
Builds / ExectOS (i686, debug) (push) Failing after 27s
2025-08-10 17:12:06 +02:00
2ea306097d Resolve compilation errors due to renamed CPUID requests
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 16s
Builds / ExectOS (i686, debug) (push) Failing after 17s
Builds / ExectOS (amd64, release) (push) Failing after 26s
Builds / ExectOS (i686, release) (push) Failing after 24s
2025-08-10 17:10:01 +02:00
e62820187d Resolve compilation errors due to updated CPUID requests
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 16s
Builds / ExectOS (i686, debug) (push) Failing after 16s
Builds / ExectOS (amd64, release) (push) Failing after 28s
Builds / ExectOS (i686, release) (push) Failing after 28s
2025-08-10 17:01:28 +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
d7552f1dce Fix race condition in HlComPortReadLsr
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (amd64, release) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 43s
Builds / ExectOS (i686, debug) (push) Successful in 46s
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
ff41b0d4f7 Fix incorrect TSS descriptor limit according to architecture specification
All checks were successful
Builds / ExectOS (i686) (push) Successful in 41s
Builds / ExectOS (amd64) (push) Successful in 41s
2025-07-28 18:25:47 +02:00
6130a34587 Align stack as required by the ABI
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 43s
2025-07-28 17:57:16 +02:00
da3e039a05 Use correct address when clearing COM port buffer
All checks were successful
Builds / ExectOS (i686) (push) Successful in 46s
Builds / ExectOS (amd64) (push) Successful in 48s
The code was reading from Port->Address to clear the RBR before the field was initialized.
2025-07-20 14:53:04 +02:00
e778a95a01 Use portable affinity mask for the idle process
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 41s
Builds / ExectOS (i686) (push) Successful in 38s
2025-07-20 12:34:20 +02:00
24b6cc2250 Use portable affinity mask for the idle process
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 42s
The hardcoded value 0xFFFFFFFF restricted the idle process to the first 32 processors on 64-bit system.
2025-07-20 12:33:10 +02:00
fdf649fcec Correctly initialize the boot stack pointer, as the stack grows downwards
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 52s
Builds / ExectOS (i686) (push) Successful in 49s
2025-07-19 17:41:38 +02:00
dcb0b8fb4b Initialize UBSAN mismatch data without relying on memset()
Some checks failed
Builds / ExectOS (amd64) (push) Failing after -59m51s
Builds / ExectOS (i686) (push) Failing after 21s
2025-07-09 10:40:15 +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
088940424d Fix data types and rename some fields to avoid confusion
All checks were successful
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-07-16 16:28:12 +02:00
7abd0f3017 Revert unintentional change
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 34s
2024-07-14 12:13:56 +02:00
f8519ec09d Rename HlpAcpiSystemInfo global variable to HlpSystemInfo
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 27s
Builds / ExectOS (i686) (push) Failing after 27s
2024-07-14 12:11:39 +02:00
3bda67be0a Basic ACPI system info initialization code for traversing MADT tables
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 35s
2024-07-13 21:08:58 +02:00
cb64235953 Use PHYSICAL_ADDRESS data type in MmAllocateHardwareMemory() routine as it is used in MmMapHardwareMemory() as well to avoid the need of data conversion
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 34s
2024-07-13 15:54:10 +02:00
801cf64f45 Update kernel readme
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 39s
Builds / ExectOS (i686) (push) Successful in 37s
2024-07-10 16:10:48 +02:00
f52c50242a Correct comment
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 38s
Builds / ExectOS (i686) (push) Successful in 36s
2024-07-09 22:57:02 +02:00
3f10e1b59e Fix page fault when trying to find ACPI table
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 35s
2024-07-09 22:47:26 +02:00
47219585d4 Fix pointer operation overflow
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 36s
2024-07-09 22:40:32 +02:00
e46f2e6116 Ensure that table header is not set before attempting to find ACPI table
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 41s
2024-07-09 22:36:40 +02:00
cc0edeeb47 Add missing forward reference update to fix build
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 37s
2024-06-22 19:16:00 +02:00