363 Commits

Author SHA1 Message Date
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
3f10e1b59e
Fix page fault when trying to find ACPI table 2024-07-09 22:47:26 +02:00
47219585d4
Fix pointer operation overflow 2024-07-09 22:40:32 +02:00
e46f2e6116
Ensure that table header is not set before attempting to find ACPI table 2024-07-09 22:36:40 +02:00
cc0edeeb47
Add missing forward reference update to fix build 2024-06-22 19:16:00 +02:00
156cb7bcac
Refactor system resources to be able to distinguish if requested resource does not exist or if it is locked and cannot be reused 2024-06-22 18:54:34 +02:00
c2db94125d
Add appropriate crediting for Minoca authors for the System Resources component 2024-06-21 17:00:20 +02:00
330d3fa72e
Fix routines order for better maintainability 2024-06-21 16:50:05 +02:00
712107ae10
Simplify XTOS library 2024-06-12 18:40:52 +02:00
906e09fd9f
Refactor COM port support, to get rid of global variables in library 2024-06-12 18:02:29 +02:00
91e8a86ee2
Implement kernel undefined behavior sanitizer support 2024-06-12 16:19:24 +02:00
2f16f4f613
Traverse Local x2APIC structures to find all processors 2024-06-07 23:05:12 +02:00
f36b59c961
Store processor identities in system info structure 2024-06-07 20:19:56 +02:00
86bc2042e5
Cleanup XTDK headers 2024-06-06 23:09:03 +02:00
658cb2d3c8
Get system information based on the ACPI (currently only number of CPUs) 2024-06-06 22:05:32 +02:00
829fc49aac
Fix ACPI cache causing some undefined behavior 2024-06-06 21:52:41 +02:00
92e861ebae
Cleanup APIC related headers 2024-06-06 21:50:20 +02:00
4212453cf5
Fix APIC initialization code 2024-06-06 16:49:08 +02:00
ef65bceccd
Initialize legacy PIC and mask all interrupts 2024-06-05 16:08:54 +02:00
b061c87fc9
Fix routines with no prototype using XTAPI calling convention compiler warnings 2024-06-04 21:41:16 +02:00
8a4caba26f
Fix routine with no prototype using XTAPI calling convention compiler warning 2024-06-04 21:39:10 +02:00
76e1fc6099
Enable hardware layer initialization code 2024-06-04 21:36:09 +02:00
7b29897efb
Initialize ACPI Timer 2024-06-04 21:04:09 +02:00
7704e5d399
Initial kernel ACPI support 2024-06-04 16:24:13 +02:00
c289dab514
Add ACPI resource type 2024-06-02 21:36:59 +02:00
6176ca38a8
Cleanup hardware allocation memory pool related code 2024-06-02 17:29:31 +02:00
abb65b99fe
HlPool manages hardware related memory 2024-06-02 17:01:45 +02:00
a7c4f6c2aa
Fix MmMapHalMemory() not using the ReturnAddress for calculating virtual address 2024-05-26 10:50:31 +02:00
4a275b3dec
Just skip unsupported system resources 2024-05-26 00:09:31 +02:00
94a40501d4
Mask APIC ICR0 and disable APIC interrupts for initialization time by raising APIC TPR 2024-05-24 23:39:06 +02:00
b4588d5b4c
Make ExectOS only run on processors which support PAE 2024-05-24 16:30:39 +02:00
5221db2e63
Rename LOADER_MEMORY_MAPPING structure to more meaningful LOADER_MEMORY_DESCRIPTOR 2024-05-23 19:00:50 +02:00
edbc2cc045
Initialize architecture specific hardware extensions 2024-05-22 22:53:29 +02:00