Commit Graph

293 Commits

Author SHA1 Message Date
9eff9874c5 Synchronize headers with merged assembly code
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (i686, release) (push) Successful in 38s
2026-04-02 15:16:21 +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
9ea79c92a6 Refactor assembly includes and delete manual offset definitions
Some checks failed
Builds / ExectOS (i686, debug) (push) Successful in 35s
Builds / ExectOS (amd64, release) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Failing after 33s
Builds / ExectOS (amd64, debug) (push) Successful in 39s
2026-04-02 10:50:00 +02:00
87a91bfeb1 Make XTDK headers assembly-safe
Some checks failed
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Failing after 30s
2026-04-01 16:05:34 +02:00
232b92fd7e Implement spurious interrupt handler
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 39s
2026-04-01 13:03:46 +02:00
d88f9f0a15 Remove erroneous swapgs and implement proper segment setting
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 34s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 36s
Builds / ExectOS (i686, release) (push) Successful in 36s
2026-04-01 11:18:28 +02:00
154b2062ba Unify GDT selector naming convention
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 37s
2026-04-01 11:02:05 +02:00
d00577ac8d Fix previous mode detection by reading CS from the trap frame
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 40s
Builds / ExectOS (amd64, release) (push) Successful in 41s
2026-03-31 23:10:45 +02:00
620fc24cd2 Fix previous mode detection by reading CS from the trap frame and sanitize segment restoration
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 38s
2026-03-31 20:38:21 +02:00
52ecbdeaff Add missing TrapVector constant
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (i686, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 40s
2026-03-31 13:02:53 +02:00
8c6c63465f Use dedicated NMI stack on i686
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (amd64, release) (push) Successful in 41s
Builds / ExectOS (i686, release) (push) Successful in 42s
Builds / ExectOS (amd64, debug) (push) Successful in 47s
2026-03-30 11:43:09 +02:00
a608b26fde Implement NMI stack handling via IST
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 40s
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 39s
2026-03-28 20:49:18 +01:00
3ce009db41 Merge branch 'master' into memmgr
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 24s
Builds / ExectOS (i686, debug) (push) Successful in 24s
Builds / ExectOS (i686, release) (push) Successful in 1m3s
2026-03-28 13:59:34 +01:00
a0b0938099 Remove unused header
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 29s
Builds / ExectOS (amd64, release) (push) Failing after 40s
Builds / ExectOS (i686, debug) (push) Failing after 29s
Builds / ExectOS (i686, release) (push) Failing after 38s
2026-03-27 22:07:20 +01:00
32d3672a51 Generate distinct handlers for CPU traps and hardware interrupts
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 30s
Builds / ExectOS (i686, debug) (push) Failing after 29s
Builds / ExectOS (amd64, release) (push) Failing after 40s
Builds / ExectOS (i686, release) (push) Failing after 38s
2026-03-27 20:42:41 +01:00
9c449bed43 Initialize IDT with specific trap handlers for each vector
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 28s
Builds / ExectOS (amd64, debug) (push) Failing after 38s
Builds / ExectOS (i686, release) (push) Failing after 36s
Builds / ExectOS (i686, debug) (push) Failing after 25s
2026-03-27 19:16:16 +01: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
4e02664977 Merge branch 'master' into memmgr
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
2026-03-26 23:48:49 +01:00
9b19bc94b3 Replace manual IDT manipulation with SetIdtGate function call
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 34s
Builds / ExectOS (amd64, release) (push) Successful in 51s
Builds / ExectOS (i686, release) (push) Successful in 48s
2026-03-26 23:10:00 +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
e734ddda65 Implement TLB flushing for cache attribute changes during page removal
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 27s
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (amd64, debug) (push) Successful in 39s
2026-03-25 13:24:44 +01:00
4292d89185 Add expansion table and overflow handling for pool tag tracking
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (amd64, debug) (push) Successful in 51s
Builds / ExectOS (i686, debug) (push) Successful in 49s
2026-03-24 08:13:05 +01:00
3c52b88802 Unify naming convention for pool tracking structures
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 39s
Builds / ExectOS (amd64, release) (push) Successful in 43s
2026-03-23 20:12:18 +01:00
944d5b5c0a Implement pool allocations and frees tracking
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Successful in 48s
Builds / ExectOS (i686, debug) (push) Successful in 51s
2026-03-23 18:54:18 +01:00
b97babb2bf Remove temporary hack and allocate processor structures from non-paged pool
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 46s
2026-03-22 23:40:15 +01:00
caacd9e275 Separate synchronization guards from spinlock implementation
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 40s
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 29s
2026-03-21 22:46:56 +01:00
916d124c9b Separate synchronization guards from spinlock implementation
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 40s
Builds / ExectOS (i686, debug) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 34s
2026-03-21 22:44:00 +01:00
d85e313c15 Implement core pool allocation and deallocation logic
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 40s
Builds / ExectOS (i686, release) (push) Successful in 38s
2026-03-21 20:35:02 +01:00
233440c8be Merge branch 'master' into memmgr
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 23s
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 38s
2026-03-21 18:30:45 +01:00
140af4278e Fix uninitialized member in SpinLockGuard
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 39s
Builds / ExectOS (i686, debug) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 52s
Builds / ExectOS (i686, release) (push) Successful in 50s
2026-03-21 18:29:19 +01:00
f862871a1f Implement RAII guard for memory pool synchronization
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 29s
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Failing after 39s
Builds / ExectOS (i686, debug) (push) Successful in 41s
2026-03-19 19:59:40 +01:00
afb20a1796 Decouple pool initialization and validation from allocation logic
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 46s
Builds / ExectOS (amd64, release) (push) Successful in 50s
2026-03-18 20:31:06 +01:00
876923e107 Track valid physical memory pages using a PFN bitmap
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 47s
Builds / ExectOS (i686, release) (push) Successful in 44s
2026-03-17 00:05:33 +01:00
184ce5735e Add runlevel verification to memory pool allocations
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 23s
Builds / ExectOS (i686, release) (push) Successful in 39s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 28s
2026-03-16 15:33:36 +01:00
76d99dc9db Introduce pool allocation and free routines
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 42s
Builds / ExectOS (amd64, debug) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 52s
Builds / ExectOS (i686, release) (push) Successful in 49s
2026-03-16 13:54:42 +01:00
42525e5993 Unify PTE type definitions across architectures
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 23s
Builds / ExectOS (i686, debug) (push) Successful in 27s
Builds / ExectOS (i686, release) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 40s
2026-03-15 20:23:44 +01:00
0fed593147 Ensure SS and RSP are saved in trap frame
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (amd64, debug) (push) Successful in 46s
Builds / ExectOS (i686, release) (push) Successful in 43s
2026-03-15 17:32:01 +01:00
6cdb66cbb3 Ensure SS and ESP are saved in trap frame
Some checks failed
Builds / ExectOS (amd64, release) (push) Successful in 36s
Builds / ExectOS (amd64, debug) (push) Failing after 45s
Builds / ExectOS (i686, debug) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Successful in 42s
2026-03-15 00:33:09 +01:00
6175413db2 Merge branch 'master' into memmgr
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 27s
Builds / ExectOS (i686, debug) (push) Failing after 26s
Builds / ExectOS (i686, release) (push) Failing after 31s
Builds / ExectOS (amd64, debug) (push) Failing after 35s
2026-03-13 19:43:01 +01:00
428928c7e1 Simplify panic interface by using C++ overloading
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (i686, release) (push) Successful in 27s
Builds / ExectOS (amd64, release) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 40s
2026-03-13 19:42:03 +01:00
35eac9d34c Make MM::Pte::InitializeSystemPtePool public
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 37s
Builds / ExectOS (amd64, debug) (push) Successful in 1m12s
Builds / ExectOS (i686, debug) (push) Successful in 1m10s
2026-03-10 23:01:50 +01:00
b7a92ccce4 Implement memory deallocation and coalescing for non-paged pool
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (i686, debug) (push) Successful in 42s
2026-03-05 10:08:54 +01:00
5a9b7c0258 Implement canonical address validation routine
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 41s
Builds / ExectOS (i686, release) (push) Successful in 39s
2026-03-04 14:15:33 +01:00
7bdd0dfe2c Implement basic non-paged pool allocator
Some checks failed
Builds / ExectOS (i686, debug) (push) Failing after 22s
Builds / ExectOS (amd64, debug) (push) Failing after 23s
Builds / ExectOS (i686, release) (push) Failing after 30s
Builds / ExectOS (amd64, release) (push) Failing after 32s
2026-02-26 20:10:03 +01:00
511dd15c0c Implement page allocation interface
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 25s
Builds / ExectOS (i686, debug) (push) Successful in 26s
Builds / ExectOS (amd64, release) (push) Successful in 36s
Builds / ExectOS (i686, release) (push) Successful in 34s
2026-02-26 13:42:58 +01:00
0658e98436 Expose the number of available physical pages
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 26s
Builds / ExectOS (i686, release) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 37s
2026-02-25 20:25:50 +01:00
bfdb7bc476 Refactor PFN linking logic
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 31s
2026-02-25 19:27:53 +01:00
44fa2ca13a Merge branch 'master' into memmgr
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 37s
2026-02-25 13:08:48 +01:00
7e62919c6b Rework singly linked list API
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (amd64, release) (push) Successful in 50s
Builds / ExectOS (i686, debug) (push) Successful in 44s
Builds / ExectOS (i686, release) (push) Successful in 32s
2026-02-24 14:49:56 +01:00
a136f21f4b Merge branch 'master' into memmgr
Some checks failed
Builds / ExectOS (amd64, release) (push) Successful in 48s
Builds / ExectOS (i686, debug) (push) Successful in 2m10s
Builds / ExectOS (amd64, debug) (push) Successful in 2m12s
Builds / ExectOS (i686, release) (push) Failing after 13m28s
2026-02-23 09:31:53 +01:00