Commit Graph
503 Commits
Author SHA1 Message Date
harraiken 4e24b239a4 Fix cmake source path
Builds / ExectOS (amd64, debug) (push) Failing after 27s
Builds / ExectOS (amd64, release) (push) Failing after 25s
Builds / ExectOS (i686, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 30s
2025-09-08 15:40:26 +02:00
harraiken c8dc2a1407 Migrate AR subsystem to C++
Builds / ExectOS (amd64, debug) (push) Failing after 24s
Builds / ExectOS (amd64, release) (push) Failing after 27s
Builds / ExectOS (i686, debug) (push) Failing after 24s
Builds / ExectOS (i686, release) (push) Failing after 24s
2025-09-08 15:29:13 +02:00
harraiken 8898a427df Rewrite and clarify kernel subsystem descriptions
Builds / ExectOS (amd64, debug) (push) Successful in 26s
Builds / ExectOS (i686, debug) (push) Successful in 26s
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 32s
2025-09-04 11:16:03 +02:00
harraiken c2a4ad026a Implement KD subsystem, add serial & framebuffer debug providers
Builds / ExectOS (amd64, debug) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 27s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 22s
2025-09-04 10:49:40 +02:00
harraiken 9cc776e06a Add generic kernel information support
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 31s
Builds / ExectOS (amd64, release) (push) Successful in 32s
2025-09-03 21:00:18 +02:00
harraiken 602da0960c Unify string API parameter types to PCSTR/PCWSTR
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 32s
2025-09-03 19:54:46 +02:00
harraiken 227da47bfc Add scroll region support and refactor framebuffer handling
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 35s
Builds / ExectOS (i686, debug) (push) Successful in 23s
2025-09-03 15:06:25 +02:00
harraiken b2df65f5cc Fix KeDbgPrint prototype to use PCWSTR
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 29s
2025-09-03 10:29:21 +02:00
harraiken d6999fad2f Extend RTL with substring search and character case functions
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, release) (push) Successful in 32s
Builds / ExectOS (i686, debug) (push) Successful in 29s
2025-09-02 21:51:10 +02:00
harraiken e4981b52ed Comment RtlTokenizeWideString for clarity
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (amd64, release) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Successful in 30s
2025-09-02 20:18:33 +02:00
harraiken 3c25934495 Add explanatory comments to string handling code
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 32s
2025-09-02 19:31:13 +02:00
harraiken e23a4c71a2 Fix framebuffer address calculations by using Pitch and BytesPerPixel
Builds / ExectOS (i686, debug) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (amd64, release) (push) Successful in 33s
2025-09-02 12:42:06 +02:00
harraiken 6ee7243e04 Refactor APIC delivery mode handling and unify naming
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
harraiken 3c8b7cb1f2 Remove unused variable
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
harraiken 2e415f6ec2 Remove broadcast INIT IPI
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
harraiken 5ff9303bd1 Add debug screen clear at end of kernel initialization
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
harraiken 84ac8f00e0 Fix APIC initialization and refine comments
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
harraiken c4a7df6f38 Extract trampoline code into a separate file
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
harraiken 2468d80078 Add trampoline to enable 5-level paging
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
harraiken c409400cbf Correct VA masking in AMD64 page mapping functions
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
harraiken 017b8603d5 Align parameters in PTE manipulation functions
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
harraiken a9dd1eaacd Implement MmpSetPteCaching function for AMD64 architecture
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
harraiken f30d3df5b3 Implement PTE manipulation functions for AMD64 architecture
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
harraiken 1e11acee72 Refactor hardware memory mapping to use page map routine callbacks
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
harraiken 57193eecc0 Implement PML2/PML3 page table routines
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
harraiken 720d525b95 Assign page map routines
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
harraiken f77f2bbf92 Introduce architecture-specific page map routines
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
harraiken 0ed59f223c Relocate page mapping helpers and add PML5 support
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
harraiken de2973ac42 Implement page map info initialization
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
harraiken 6a330e38f2 Consolidate paging-related globals into MmpPageMapInfo
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
harraiken 5768d4bba6 Prepare for architecture-specific paging initialization
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
harraiken e8771dfc5b Use __asm__ to comply with disabled GNU extensions
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
harraiken 030575592c Revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable implementation'
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
harraiken 88fba6d408 revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable declaration'
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
harraiken 406c0a0cd2 Fix broken HlpInitializeAcpiSystemDescriptionTable declaration
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
harraiken c9f9f87973 Fix broken HlpInitializeAcpiSystemDescriptionTable implementation
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
harraiken d806c8e1f2 Resolve compilation errors due to renamed CPUID requests
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
harraiken 2ea306097d Resolve compilation errors due to renamed CPUID requests
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
harraiken e62820187d Resolve compilation errors due to updated CPUID requests
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
harraiken a6814aa2a3 Resolve compilation errors due to renamed CPUID requests
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
harraiken d7552f1dce Fix race condition in HlComPortReadLsr
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
harraiken ff41b0d4f7 Fix incorrect TSS descriptor limit according to architecture specification
Builds / ExectOS (i686) (push) Successful in 41s
Builds / ExectOS (amd64) (push) Successful in 41s
2025-07-28 18:25:47 +02:00
harraiken 6130a34587 Align stack as required by the ABI
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 43s
2025-07-28 17:57:16 +02:00
harraiken da3e039a05 Use correct address when clearing COM port buffer
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
harraiken e778a95a01 Use portable affinity mask for the idle process
Builds / ExectOS (amd64) (push) Successful in 41s
Builds / ExectOS (i686) (push) Successful in 38s
2025-07-20 12:34:20 +02:00
harraiken 24b6cc2250 Use portable affinity mask for the idle process
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
harraiken fdf649fcec Correctly initialize the boot stack pointer, as the stack grows downwards
Builds / ExectOS (amd64) (push) Successful in 52s
Builds / ExectOS (i686) (push) Successful in 49s
2025-07-19 17:41:38 +02:00
harraiken dcb0b8fb4b Initialize UBSAN mismatch data without relying on memset()
Builds / ExectOS (amd64) (push) Failing after -59m51s
Builds / ExectOS (i686) (push) Failing after 21s
2025-07-09 10:40:15 +02:00
belliash 2e7793dc2b Implement HlpGetCpuApicId() routine
Builds / ExectOS (amd64) (push) Failing after 27s
Builds / ExectOS (i686) (push) Failing after 27s
2024-07-22 23:31:20 +02:00
belliash 2c5b680426 Implement HlpSendIpi() routine
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 38s
2024-07-22 23:23:55 +02:00