395 Commits

Author SHA1 Message Date
d6999fad2f
Extend RTL with substring search and character case functions 2025-09-02 21:51:10 +02:00
e4981b52ed
Comment RtlTokenizeWideString for clarity 2025-09-02 20:18:33 +02:00
3c25934495
Add explanatory comments to string handling code 2025-09-02 19:31:13 +02:00
e23a4c71a2
Fix framebuffer address calculations by using Pitch and BytesPerPixel 2025-09-02 12:42:06 +02:00
6ee7243e04
Refactor APIC delivery mode handling and unify naming 2025-09-01 19:54:12 +02:00
3c8b7cb1f2
Remove unused variable 2025-09-01 19:25:45 +02:00
2e415f6ec2
Remove broadcast INIT IPI 2025-09-01 19:23:02 +02:00
5ff9303bd1
Add debug screen clear at end of kernel initialization 2025-09-01 16:27:28 +02:00
84ac8f00e0
Fix APIC initialization and refine comments 2025-09-01 15:41:06 +02:00
c4a7df6f38
Extract trampoline code into a separate file 2025-08-20 20:20:35 +02:00
2468d80078
Add trampoline to enable 5-level paging 2025-08-20 00:20:10 +02:00
c409400cbf
Correct VA masking in AMD64 page mapping functions 2025-08-18 01:07:28 +02:00
017b8603d5
Align parameters in PTE manipulation functions 2025-08-17 21:55:21 +02:00
a9dd1eaacd
Implement MmpSetPteCaching function for AMD64 architecture 2025-08-17 21:51:43 +02:00
f30d3df5b3
Implement PTE manipulation functions for AMD64 architecture 2025-08-17 21:48:28 +02:00
1e11acee72
Refactor hardware memory mapping to use page map routine callbacks 2025-08-17 00:47:56 +02:00
57193eecc0
Implement PML2/PML3 page table routines 2025-08-17 00:45:12 +02:00
720d525b95
Assign page map routines 2025-08-17 00:29:28 +02:00
f77f2bbf92
Introduce architecture-specific page map routines 2025-08-17 00:23:19 +02:00
0ed59f223c
Relocate page mapping helpers and add PML5 support 2025-08-16 21:07:54 +02:00
de2973ac42
Implement page map info initialization 2025-08-16 20:28:05 +02:00
6a330e38f2
Consolidate paging-related globals into MmpPageMapInfo 2025-08-16 20:14:18 +02:00
5768d4bba6
Prepare for architecture-specific paging initialization 2025-08-16 19:58:00 +02:00
e8771dfc5b
Use __asm__ to comply with disabled GNU extensions 2025-08-15 00:32:56 +02:00
030575592c
Revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable implementation' 2025-08-11 23:30:40 +02:00
88fba6d408
revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable declaration' 2025-08-11 23:29:57 +02:00
406c0a0cd2
Fix broken HlpInitializeAcpiSystemDescriptionTable declaration 2025-08-10 17:48:48 +02:00
c9f9f87973
Fix broken HlpInitializeAcpiSystemDescriptionTable implementation 2025-08-10 17:48:01 +02:00
d806c8e1f2
Resolve compilation errors due to renamed CPUID requests 2025-08-10 17:12:06 +02:00
2ea306097d
Resolve compilation errors due to renamed CPUID requests 2025-08-10 17:10:01 +02:00
e62820187d
Resolve compilation errors due to updated CPUID requests 2025-08-10 17:01:28 +02:00
a6814aa2a3
Resolve compilation errors due to renamed CPUID requests 2025-08-10 16:59:32 +02:00
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
ff41b0d4f7
Fix incorrect TSS descriptor limit according to architecture specification 2025-07-28 18:25:47 +02:00
6130a34587
Align stack as required by the ABI 2025-07-28 17:57:16 +02:00
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
e778a95a01
Use portable affinity mask for the idle process 2025-07-20 12:34:20 +02:00
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
fdf649fcec
Correctly initialize the boot stack pointer, as the stack grows downwards 2025-07-19 17:41:38 +02:00
dcb0b8fb4b
Initialize UBSAN mismatch data without relying on memset() 2025-07-09 10:40:15 +02:00
2e7793dc2b
Implement HlpGetCpuApicId() routine 2024-07-22 23:31:20 +02:00
2c5b680426
Implement HlpSendIpi() routine 2024-07-22 23:23:55 +02:00
626ece8046
HlReadApicRegister() should return and HlWriteApicRegister() should take ULONGLONG value 2024-07-16 22:36:45 +02:00
088940424d
Fix data types and rename some fields to avoid confusion 2024-07-16 16:28:12 +02:00
7abd0f3017
Revert unintentional change 2024-07-14 12:13:56 +02:00
f8519ec09d
Rename HlpAcpiSystemInfo global variable to HlpSystemInfo 2024-07-14 12:11:39 +02:00
3bda67be0a
Basic ACPI system info initialization code for traversing MADT tables 2024-07-13 21:08:58 +02:00
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
801cf64f45
Update kernel readme 2024-07-10 16:10:48 +02:00
f52c50242a
Correct comment 2024-07-09 22:57:02 +02:00