Commit Graph
100 Commits
Author SHA1 Message Date
harraiken 52c4d2a346 Complete MM class definitions with missing fields 2025-09-15 22:17:46 +02:00
harraiken 404595801d Migrate MM subsystem to C++ 2025-09-15 22:15:07 +02:00
harraiken 3e097c260d Add stubs for C++ exception and purecall handlers 2025-09-15 20:52:40 +02:00
harraiken e0844b38cd Move dbg.hh into KD namespace 2025-09-14 01:40:21 +02:00
harraiken f321ca908b Refine and export kernel debugger printing 2025-09-14 01:25:56 +02:00
harraiken 79ec28641a Migrate KD subsystem to C++ 2025-09-13 23:40:07 +02:00
harraiken 4592955da1 Migrate HL subsystem to C++ 2025-09-13 19:15:13 +02:00
harraiken a2fe39defd Refine formatting 2025-09-13 00:12:57 +02:00
harraiken 7cdfa8f79d Refactor KE subsystem 2025-09-12 13:11:15 +02:00
harraiken 0647b853a6 Migrate PO subsystem to C++ 2025-09-11 22:52:40 +02:00
harraiken 3a11d536d5 Refactor AR subsystem 2025-09-11 20:23:51 +02:00
harraiken 96043f3d70 Build SDK 2025-09-11 20:09:21 +02:00
harraiken 5f44458e64 Fix calling conventions 2025-09-11 19:44:00 +02:00
harraiken cc632c5ef9 Update kernel exports 2025-09-11 19:35:38 +02:00
harraiken 631c260280 Update SpinLock and DPC to use C++ helpers 2025-09-11 19:23:19 +02:00
harraiken 1357e92627 Update EX subsystem to use C++ RTL api 2025-09-11 19:15:52 +02:00
harraiken 3395934330 Match renamed I/O register helpers 2025-09-11 19:08:20 +02:00
harraiken 744fffdd8a Clean up atomic routine declarations 2025-09-11 19:05:12 +02:00
harraiken 0a3450f649 Add missing header files 2025-09-11 18:58:43 +02:00
harraiken 7d5eab1a8e Remove redundant source list and reuse XTOSKRNL_SOURCE for libxtos 2025-09-11 18:55:31 +02:00
harraiken 7674196cc1 Unify sdk library output path 2025-09-11 18:53:58 +02:00
harraiken c160e5ddf2 Improve CMake SDK output handling and linker configuration 2025-09-11 18:48:22 +02:00
harraiken 9518e7da8e Migrate RTL subsystem to C++ 2025-09-11 18:28:24 +02:00
harraiken e507dd0390 Clean up cmake output directory configuration 2025-09-11 14:07:20 +02:00
harraiken 510dccc5dc Add missing forward reference to KeGetInitializationBlock 2025-09-10 15:38:30 +02:00
harraiken 17712883c5 Include new KE headers 2025-09-09 23:24:43 +02:00
harraiken 5cb6474ade Sync CMakeLists with source tree 2025-09-09 23:22:37 +02:00
harraiken 4947f788d5 Migrate KE subsystem to C++ 2025-09-09 23:20:50 +02:00
harraiken 465a23633e Sync CMakeLists with current source tree 2025-09-08 22:39:07 +02:00
harraiken 7c5d6326f8 Migrate EX subsystem to C++ 2025-09-08 22:35:59 +02:00
harraiken 3f5f57ef12 Remove leftover test code 2025-09-08 15:44:12 +02:00
harraiken 4e24b239a4 Fix cmake source path 2025-09-08 15:40:26 +02:00
harraiken c8dc2a1407 Migrate AR subsystem to C++ 2025-09-08 15:29:13 +02:00
harraiken 27fec1bacb Add boot options with on-screen debugging 2025-09-05 21:30:01 +02:00
harraiken d8e0e07805 Correct format specifier for partition size to prevent stack corruption 2025-09-04 12:21:04 +02:00
harraiken 8898a427df Rewrite and clarify kernel subsystem descriptions 2025-09-04 11:16:03 +02:00
harraiken 7e039c47ae Simplify BlpDebugPutChar return path 2025-09-04 10:56:17 +02:00
harraiken c2a4ad026a Implement KD subsystem, add serial & framebuffer debug providers 2025-09-04 10:49:40 +02:00
harraiken db81e43525 Add missing forward references for RTL types 2025-09-04 10:28:32 +02:00
harraiken 9cc776e06a Add generic kernel information support 2025-09-03 21:00:18 +02:00
harraiken 602da0960c Unify string API parameter types to PCSTR/PCWSTR 2025-09-03 19:54:46 +02:00
harraiken 9577a39046 Fix initialization block size calculation to account for variable-length kernel parameters 2025-09-03 18:10:42 +02:00
harraiken f9fe20ba68 Adjust forward references for HL_FRAMEBUFFER_DATA and HL_SCROLL_REGION_DATA 2025-09-03 16:44:52 +02:00
harraiken 227da47bfc Add scroll region support and refactor framebuffer handling 2025-09-03 15:06:25 +02:00
harraiken 9f5daafad9 Unify wide string types across console and debug functions 2025-09-03 10:41:24 +02:00
harraiken b2df65f5cc Fix KeDbgPrint prototype to use PCWSTR 2025-09-03 10:29:21 +02:00
harraiken d6999fad2f Extend RTL with substring search and character case functions 2025-09-02 21:51:10 +02:00
harraiken e4981b52ed Comment RtlTokenizeWideString for clarity 2025-09-02 20:18:33 +02:00
harraiken 3c25934495 Add explanatory comments to string handling code 2025-09-02 19:31:13 +02:00
harraiken e23a4c71a2 Fix framebuffer address calculations by using Pitch and BytesPerPixel 2025-09-02 12:42:06 +02:00
harraiken 6ee7243e04 Refactor APIC delivery mode handling and unify naming 2025-09-01 19:54:12 +02:00
harraiken d45cc5ffe5 Fix incorrect APIC delivery mode definitions 2025-09-01 19:32:29 +02:00
harraiken 3c8b7cb1f2 Remove unused variable 2025-09-01 19:25:45 +02:00
harraiken 2e415f6ec2 Remove broadcast INIT IPI 2025-09-01 19:23:02 +02:00
harraiken 5ff9303bd1 Add debug screen clear at end of kernel initialization 2025-09-01 16:27:28 +02:00
harraiken 84ac8f00e0 Fix APIC initialization and refine comments 2025-09-01 15:41:06 +02:00
harraiken 418ff68be4 Add ESP boot support and improve block device enumeration 2025-09-01 14:02:38 +02:00
harraiken 2d1b6363e6 Add CTRL-B shortcut to boot OS directly from edit menu 2025-09-01 12:43:33 +02:00
harraiken 34cebf2810 Allow editing boot options using 'e' key 2025-09-01 11:47:36 +02:00
harraiken 0fa4a175e0 Correct Backspace behavior in input dialog 2025-09-01 11:40:48 +02:00
harraiken 72a832f190 Fix type mismatch in BlGetEditableOptions OptionsCount parameter 2025-08-30 20:35:01 +02:00
harraiken ba65264d1e Remove unnecessary console input buffer reset 2025-08-27 22:21:39 +02:00
harraiken 2ee33ab229 Refactor BlGetConfigValue to return EFI_STATUS and output value via parameter 2025-08-27 19:44:52 +02:00
harraiken 1eea654a36 Expose BlGetBootOptionValue, BlGetEditableOptions and BlSetBootOptionValue 2025-08-27 19:26:01 +02:00
harraiken c6643125e1 Implement boot entry editor 2025-08-27 19:15:38 +02:00
harraiken b68514b176 Limit boot menu entry names to available menu width 2025-08-25 19:03:57 +02:00
harraiken 960e913222 Optimize boot menu drawing to eliminate screen flickering 2025-08-25 17:56:40 +02:00
harraiken e99e563aff Correct .modinfo section parsing 2025-08-25 12:07:49 +02:00
harraiken a84ef21571 Adjust LA57 base addresses to prevent overflow 2025-08-21 01:42:36 +02:00
harraiken 1ef2560ef6 Enable LA57 by invoking the trampoline code 2025-08-21 00:14:49 +02:00
harraiken d1b14fccdd Resolve build issues caused by the last commit 2025-08-20 21:08:43 +02:00
harraiken 88b3a57962 Allow specifying an allocation type when allocating pages 2025-08-20 20:59:31 +02:00
harraiken 9f6121e9b2 Map the physical page for trampoline code 2025-08-20 20:37:55 +02:00
harraiken 4a7ea6009d Expose ArEnableExtendedPhysicalAddressing function in XTDK 2025-08-20 20:23:44 +02:00
harraiken c4a7df6f38 Extract trampoline code into a separate file 2025-08-20 20:20:35 +02:00
harraiken 2468d80078 Add trampoline to enable 5-level paging 2025-08-20 00:20:10 +02:00
harraiken ebae8c655c Expand CR4, MSR, and EFER register definitions 2025-08-19 23:59:58 +02:00
harraiken 1a0bc7f65f Update and correct CR4 bit definitions 2025-08-19 21:45:13 +02:00
harraiken 91a5db2ee4 Implement PML5 support in XtpMapHardwareMemoryPool 2025-08-18 12:13:48 +02:00
harraiken b639bf3077 Implement PML5 self-mapping 2025-08-18 11:59:05 +02:00
harraiken c409400cbf Correct VA masking in AMD64 page mapping functions 2025-08-18 01:07:28 +02:00
harraiken d602038858 Temporarily disable LA57 paging 2025-08-18 00:10:32 +02:00
harraiken 017b8603d5 Align parameters in PTE manipulation functions 2025-08-17 21:55:21 +02:00
harraiken a9dd1eaacd Implement MmpSetPteCaching function for AMD64 architecture 2025-08-17 21:51:43 +02:00
harraiken f30d3df5b3 Implement PTE manipulation functions for AMD64 architecture 2025-08-17 21:48:28 +02:00
harraiken c3ece4f317 Fix type usage in XtpMapHardwareMemoryPool 2025-08-17 00:51:26 +02:00
harraiken 1e11acee72 Refactor hardware memory mapping to use page map routine callbacks 2025-08-17 00:47:56 +02:00
harraiken 57193eecc0 Implement PML2/PML3 page table routines 2025-08-17 00:45:12 +02:00
harraiken 720d525b95 Assign page map routines 2025-08-17 00:29:28 +02:00
harraiken f77f2bbf92 Introduce architecture-specific page map routines 2025-08-17 00:23:19 +02:00
harraiken 0ed59f223c Relocate page mapping helpers and add PML5 support 2025-08-16 21:07:54 +02:00
harraiken de2973ac42 Implement page map info initialization 2025-08-16 20:28:05 +02:00
harraiken 8491e5fed1 Remove PageMapLevel from the loader information block 2025-08-16 20:18:34 +02:00
harraiken 6a330e38f2 Consolidate paging-related globals into MmpPageMapInfo 2025-08-16 20:14:18 +02:00
harraiken 1dcd3fceed Define page map information structure for both supported architectures 2025-08-16 20:08:12 +02:00
harraiken 5768d4bba6 Prepare for architecture-specific paging initialization 2025-08-16 19:58:00 +02:00
harraiken f85fe31b38 Adapt i686 memory mapping to new PML3 types 2025-08-16 00:36:20 +02:00
harraiken 22f81a106b Update forward declarations for PML2/PML3 types 2025-08-16 00:33:18 +02:00
harraiken 7e08dc286e Separate types for legacy (PML2) and PAE (PML3) paging 2025-08-16 00:29:20 +02:00
harraiken 3ca6d04f6b Add definitions for 5-level paging and refactor constants 2025-08-16 00:22:21 +02:00