Commit Graph
396 Commits
Author SHA1 Message Date
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 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 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 c409400cbf Correct VA masking in AMD64 page mapping functions 2025-08-18 01:07:28 +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 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 6a330e38f2 Consolidate paging-related globals into MmpPageMapInfo 2025-08-16 20:14:18 +02:00
harraiken 5768d4bba6 Prepare for architecture-specific paging initialization 2025-08-16 19:58:00 +02:00
harraiken e8771dfc5b Use __asm__ to comply with disabled GNU extensions 2025-08-15 00:32:56 +02:00
harraiken 030575592c Revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable implementation' 2025-08-11 23:30:40 +02:00
harraiken 88fba6d408 revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable declaration' 2025-08-11 23:29:57 +02:00
harraiken 406c0a0cd2 Fix broken HlpInitializeAcpiSystemDescriptionTable declaration 2025-08-10 17:48:48 +02:00
harraiken c9f9f87973 Fix broken HlpInitializeAcpiSystemDescriptionTable implementation 2025-08-10 17:48:01 +02:00
harraiken d806c8e1f2 Resolve compilation errors due to renamed CPUID requests 2025-08-10 17:12:06 +02:00
harraiken 2ea306097d Resolve compilation errors due to renamed CPUID requests 2025-08-10 17:10:01 +02:00
harraiken e62820187d Resolve compilation errors due to updated CPUID requests 2025-08-10 17:01:28 +02:00
harraiken a6814aa2a3 Resolve compilation errors due to renamed CPUID requests 2025-08-10 16:59:32 +02:00
harraiken d7552f1dce Fix race condition in HlComPortReadLsr
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 2025-07-28 18:25:47 +02:00
harraiken 6130a34587 Align stack as required by the ABI 2025-07-28 17:57:16 +02:00
harraiken da3e039a05 Use correct address when clearing COM port buffer
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 2025-07-20 12:34:20 +02:00
harraiken 24b6cc2250 Use portable affinity mask for the idle process
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 2025-07-19 17:41:38 +02:00
harraiken dcb0b8fb4b Initialize UBSAN mismatch data without relying on memset() 2025-07-09 10:40:15 +02:00
belliash 2e7793dc2b Implement HlpGetCpuApicId() routine 2024-07-22 23:31:20 +02:00
belliash 2c5b680426 Implement HlpSendIpi() routine 2024-07-22 23:23:55 +02:00
belliash 626ece8046 HlReadApicRegister() should return and HlWriteApicRegister() should take ULONGLONG value 2024-07-16 22:36:45 +02:00
belliash 088940424d Fix data types and rename some fields to avoid confusion 2024-07-16 16:28:12 +02:00
belliash 7abd0f3017 Revert unintentional change 2024-07-14 12:13:56 +02:00
belliash f8519ec09d Rename HlpAcpiSystemInfo global variable to HlpSystemInfo 2024-07-14 12:11:39 +02:00
belliash 3bda67be0a Basic ACPI system info initialization code for traversing MADT tables 2024-07-13 21:08:58 +02:00
belliash cb64235953 Use PHYSICAL_ADDRESS data type in MmAllocateHardwareMemory() routine as it is used in MmMapHardwareMemory() as well to avoid the need of data conversion 2024-07-13 15:54:10 +02:00
belliash 801cf64f45 Update kernel readme 2024-07-10 16:10:48 +02:00