Commit Graph

679 Commits

Author SHA1 Message Date
0fa23ccf40 Automate generation of assembly offsets from C structures via XTADK 2026-04-02 09:07:01 +02:00
87a91bfeb1 Make XTDK headers assembly-safe 2026-04-01 16:05:34 +02:00
232b92fd7e Implement spurious interrupt handler 2026-04-01 13:03:46 +02:00
d88f9f0a15 Remove erroneous swapgs and implement proper segment setting 2026-04-01 11:18:28 +02:00
154b2062ba Unify GDT selector naming convention 2026-04-01 11:02:05 +02:00
d00577ac8d Fix previous mode detection by reading CS from the trap frame 2026-03-31 23:10:45 +02:00
620fc24cd2 Fix previous mode detection by reading CS from the trap frame and sanitize segment restoration 2026-03-31 20:38:21 +02:00
494b615dc2 Fix x64 ABI compliance by aligning stack and reserving shadow space 2026-03-31 20:06:25 +02:00
d834b7e0c8 Correct kernel stack base calculation for downward growing stacks 2026-03-31 18:59:59 +02:00
987b8f45d7 Unify trap handler macro name 2026-03-31 15:53:11 +02:00
52ecbdeaff Add missing TrapVector constant 2026-03-31 13:02:53 +02:00
121f461491 Refactor trap handling to support task gates 2026-03-31 12:58:46 +02:00
f4b189adef Fix incorrect descriptor type used for NMI TSS 2026-03-30 22:20:09 +02:00
40c4860548 Refine LDT setup and restore critical TSS fields for hardware exceptions 2026-03-30 20:29:43 +02:00
d2a7ae46ac Fix hardware task gate configuration 2026-03-30 20:16:44 +02:00
8a02a5aca3 Explicitly load GS and SS registers during segment initialization 2026-03-30 18:43:52 +02:00
96df5a80b8 Set CR3 field in TSS to ensure correct page table context on task switches 2026-03-30 14:56:41 +02:00
489ef8a514 Update IDT gate types for i686 exception handlers 2026-03-30 13:31:20 +02:00
8c6c63465f Use dedicated NMI stack on i686 2026-03-30 11:43:09 +02:00
e9aaeab982 Replace hardcoded stack count with architecture specific constant 2026-03-28 20:53:50 +01:00
a608b26fde Implement NMI stack handling via IST 2026-03-28 20:49:18 +01:00
3ce009db41 Merge branch 'master' into memmgr 2026-03-28 13:59:34 +01:00
a0b0938099 Remove unused header 2026-03-27 22:07:20 +01:00
32d3672a51 Generate distinct handlers for CPU traps and hardware interrupts 2026-03-27 20:42:41 +01:00
0c17337388 Fix symbol naming convention for i686 trap handlers 2026-03-27 19:23:37 +01:00
9c449bed43 Initialize IDT with specific trap handlers for each vector 2026-03-27 19:16:16 +01:00
a64aa83eb8 Provide implementation for HL::Irq 2026-03-27 13:00:13 +01:00
64b5de98c8 Move IRQ handling from kernel executive to hardware layer 2026-03-27 12:00:09 +01:00
4e02664977 Merge branch 'master' into memmgr 2026-03-26 23:48:49 +01:00
bad3aaf6e0 Export memory manager pool allocation and free functions 2026-03-26 23:46:50 +01:00
9b19bc94b3 Replace manual IDT manipulation with SetIdtGate function call 2026-03-26 23:10:00 +01:00
9479f3d364 Implement APIC presence check and panic if unsupported 2026-03-25 22:52:58 +01:00
40d54743e0 Enhance kernel panic output 2026-03-25 15:02:26 +01:00
576a2b7f1b Enhance kernel panic output 2026-03-25 14:59:40 +01:00
3c2ad358ef Implement MM::KernelPool::FreeProcessorStructures 2026-03-25 14:11:24 +01:00
e734ddda65 Implement TLB flushing for cache attribute changes during page removal 2026-03-25 13:24:44 +01:00
a79f26250a Fix check for PTE removal flag 2026-03-25 09:53:57 +01:00
441e4f510b Mark PFN as deleted instead of clearing PteAddress when freeing pages 2026-03-25 09:51:09 +01:00
33665839ad Revert 1e01c52c0c 2026-03-25 08:59:46 +01:00
1e01c52c0c Clear the internal list links to prevent corruption 2026-03-25 07:48:13 +01:00
970902f3f9 Rephrase comments for consistency 2026-03-24 23:07:06 +01:00
adff181f5a Add bounds checking and implement reclamation for large expansion pool allocations 2026-03-24 23:00:28 +01:00
92986e1386 Set PTE frame for non-paged pool allocations 2026-03-24 20:03:23 +01:00
b95613787a Strip MM_POOL_PROTECTED flag to maintain NT compatibility and ensure correct pool tracking hash lookups 2026-03-24 08:39:47 +01:00
4292d89185 Add expansion table and overflow handling for pool tag tracking 2026-03-24 08:13:05 +01:00
214051e873 Update pool tracking statistics when resizing big allocations table 2026-03-23 20:36:24 +01:00
3c52b88802 Unify naming convention for pool tracking structures 2026-03-23 20:12:18 +01:00
944d5b5c0a Implement pool allocations and frees tracking 2026-03-23 18:54:18 +01:00
597628a644 Refactor big allocation tracker to use Tag 2026-03-23 12:38:31 +01:00
b97babb2bf Remove temporary hack and allocate processor structures from non-paged pool 2026-03-22 23:40:15 +01:00