Commit Graph
121 Commits
Author SHA1 Message Date
harraiken a7151dbc89 Fix boot stack initialization by returning the highest address
Builds / ExectOS (amd64, debug) (push) Successful in -59m26s
Builds / ExectOS (amd64, release) (push) Successful in -59m28s
Builds / ExectOS (i686, release) (push) Successful in -59m26s
Builds / ExectOS (i686, debug) (push) Successful in -59m24s
2026-05-03 18:49:51 +02:00
harraiken 98f2f449f9 Add wrapper for RDTSCP instruction
Builds / ExectOS (amd64, release) (push) Successful in 35s
Builds / ExectOS (amd64, debug) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Successful in 36s
2026-04-22 22:58:17 +02:00
harraiken 17f044cb3f Apply consistent coding style
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
harraiken 9ffb03217a Implement software interrupt dispatch table and secondary handler lookup
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
harraiken 4f65773aa9 Unify trap handler naming and remove unused kernel mode stack setup
Builds / ExectOS (amd64, release) (push) Failing after 40s
Builds / ExectOS (amd64, debug) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Successful in 32s
Builds / ExectOS (i686, release) (push) Successful in 39s
2026-04-08 19:52:55 +02:00
harraiken a0d5ee17c2 Replace trap dispatch wrappers with direct symbol mapping
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 49s
Builds / ExectOS (amd64, release) (push) Successful in 51s
2026-04-07 12:56:33 +02:00
belliash 9935d2d26b Update CPU identification code
Builds / ExectOS (amd64, debug) (push) Successful in 39s
Builds / ExectOS (i686, debug) (push) Successful in 36s
Builds / ExectOS (i686, release) (push) Failing after 1m3s
Builds / ExectOS (amd64, release) (push) Successful in 1m5s
2026-04-06 21:17:58 +02:00
harraiken 09516835d0 Consolidate boot and architecture support code into a single assembly file
Builds / ExectOS (amd64, debug) (push) Successful in 40s
Builds / ExectOS (i686, debug) (push) Successful in 34s
Builds / ExectOS (i686, release) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 35s
2026-04-02 15:08:12 +02:00
harraiken 9ea79c92a6 Refactor assembly includes and delete manual offset definitions
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
harraiken 87a91bfeb1 Make XTDK headers assembly-safe
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
harraiken 232b92fd7e Implement spurious interrupt handler
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
harraiken d88f9f0a15 Remove erroneous swapgs and implement proper segment setting
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
harraiken 154b2062ba Unify GDT selector naming convention
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
harraiken d00577ac8d Fix previous mode detection by reading CS from the trap frame
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
harraiken 620fc24cd2 Fix previous mode detection by reading CS from the trap frame and sanitize segment restoration
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
harraiken 494b615dc2 Fix x64 ABI compliance by aligning stack and reserving shadow space
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 40s
2026-03-31 20:06:25 +02:00
harraiken d834b7e0c8 Correct kernel stack base calculation for downward growing stacks
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 34s
2026-03-31 18:59:59 +02:00
harraiken 987b8f45d7 Unify trap handler macro name
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 38s
2026-03-31 15:53:11 +02:00
harraiken 121f461491 Refactor trap handling to support task gates
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Failing after 29s
Builds / ExectOS (amd64, release) (push) Successful in 49s
Builds / ExectOS (i686, release) (push) Failing after 46s
2026-03-31 12:58:46 +02:00
harraiken f4b189adef Fix incorrect descriptor type used for NMI TSS
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 37s
2026-03-30 22:20:09 +02:00
harraiken 40c4860548 Refine LDT setup and restore critical TSS fields for hardware exceptions
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 43s
Builds / ExectOS (i686, release) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 36s
2026-03-30 20:29:43 +02:00
harraiken d2a7ae46ac Fix hardware task gate configuration
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (amd64, release) (push) Successful in 43s
Builds / ExectOS (i686, release) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 41s
2026-03-30 20:16:44 +02:00
harraiken 8a02a5aca3 Explicitly load GS and SS registers during segment initialization
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 45s
Builds / ExectOS (amd64, debug) (push) Successful in 47s
2026-03-30 18:43:52 +02:00
harraiken 96df5a80b8 Set CR3 field in TSS to ensure correct page table context on task switches
Builds / ExectOS (i686, release) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 45s
Builds / ExectOS (amd64, debug) (push) Successful in 46s
Builds / ExectOS (i686, debug) (push) Successful in 45s
2026-03-30 14:56:41 +02:00
harraiken 489ef8a514 Update IDT gate types for i686 exception handlers
Builds / ExectOS (amd64, debug) (push) Successful in 1m4s
Builds / ExectOS (amd64, release) (push) Successful in 50s
Builds / ExectOS (i686, debug) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Successful in 34s
2026-03-30 13:31:20 +02:00
harraiken 8c6c63465f Use dedicated NMI stack on i686
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
harraiken a608b26fde Implement NMI stack handling via IST
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
harraiken 32d3672a51 Generate distinct handlers for CPU traps and hardware interrupts
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
harraiken 0c17337388 Fix symbol naming convention for i686 trap handlers
Builds / ExectOS (amd64, debug) (push) Failing after 30s
Builds / ExectOS (amd64, release) (push) Failing after 39s
Builds / ExectOS (i686, debug) (push) Failing after 29s
Builds / ExectOS (i686, release) (push) Failing after 38s
2026-03-27 19:23:37 +01:00
harraiken 9c449bed43 Initialize IDT with specific trap handlers for each vector
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
harraiken 0fed593147 Ensure SS and RSP are saved in trap frame
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
harraiken 6cdb66cbb3 Ensure SS and ESP are saved in trap frame
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
harraiken 00b04f5405 Refactor IDT gate setup to use explicit DPL and type fields
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (amd64, release) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 36s
Builds / ExectOS (i686, debug) (push) Successful in 32s
2025-10-18 18:29:49 +02:00
harraiken 332e57f305 Add register dump to trap handler
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 29s
2025-09-25 08:28:02 +02:00
harraiken ae4b95380a Fix AP startup symbol name
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 28s
2025-09-19 19:23:39 +02:00
harraiken 2b49b23d41 Add trampoline support and move assembler prototypes
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Failing after 24s
Builds / ExectOS (i686, release) (push) Failing after 22s
2025-09-19 19:07:27 +02:00
harraiken d0577611ca Move asm headers
Builds / ExectOS (amd64, release) (push) Successful in 27s
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 27s
2025-09-19 13:47:18 +02:00
harraiken 4c380bae1c Fix build by replacing leftover Ar calls
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Failing after 24s
Builds / ExectOS (i686, release) (push) Failing after 23s
2025-09-19 13:29:15 +02:00
harraiken 1b0468f742 Fix build by replacing leftover Ar calls
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (amd64, release) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (i686, release) (push) Failing after 20s
2025-09-19 13:26:26 +02:00
harraiken e7425de523 Drop C wrappers and switch to C++ API
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Failing after 23s
Builds / ExectOS (i686, release) (push) Failing after 21s
2025-09-19 12:56:06 +02:00
harraiken fabf3a3a5e Replace all occurrences of NULL with NULLPTR for unified C and C++ null pointer handling
Builds / ExectOS (amd64, release) (push) Failing after 24s
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Successful in 27s
Builds / ExectOS (i686, release) (push) Failing after 25s
2025-09-16 15:59:56 +02:00
harraiken 307ec1794c Clean up after migration to C++
Builds / ExectOS (amd64, release) (push) Successful in 27s
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 30s
2025-09-16 14:20:20 +02:00
harraiken f4561c1f4f Remove leftover old headers and fix missed spots
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
harraiken ee97388981 Switch i686 processor structures setup to use class data
Builds / ExectOS (amd64, release) (push) Successful in 26s
Builds / ExectOS (amd64, debug) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (i686, release) (push) Successful in 26s
2025-09-15 22:50:52 +02:00
harraiken 4592955da1 Migrate HL subsystem to C++
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
harraiken 3a11d536d5 Refactor AR subsystem
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 32s
Builds / ExectOS (i686, release) (push) Successful in 32s
2025-09-11 20:23:51 +02:00
harraiken 4947f788d5 Migrate KE subsystem to C++
Builds / ExectOS (amd64, debug) (push) Failing after 23s
Builds / ExectOS (amd64, release) (push) Failing after 27s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (i686, release) (push) Failing after 25s
2025-09-09 23:20:50 +02:00
harraiken 3f5f57ef12 Remove leftover test code
Builds / ExectOS (i686, release) (push) Successful in 28s
Builds / ExectOS (amd64, release) (push) Successful in 24s
Builds / ExectOS (amd64, debug) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Successful in 33s
2025-09-08 15:44:12 +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 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