102 Commits

Author SHA1 Message Date
227da47bfc
Add scroll region support and refactor framebuffer handling 2025-09-03 15:06:25 +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
84ac8f00e0
Fix APIC initialization and refine comments 2025-09-01 15:41:06 +02:00
2e0a87e596
Use __asm__ to comply with disabled GNU extensions 2025-08-15 11:07:07 +02:00
030575592c
Revert 'Fix broken HlpInitializeAcpiSystemDescriptionTable implementation' 2025-08-11 23:30:40 +02:00
c9f9f87973
Fix broken HlpInitializeAcpiSystemDescriptionTable implementation 2025-08-10 17:48:01 +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
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
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
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
906e09fd9f
Refactor COM port support, to get rid of global variables in library 2024-06-12 18:02:29 +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
94a40501d4
Mask APIC ICR0 and disable APIC interrupts for initialization time by raising APIC TPR 2024-05-24 23:39:06 +02:00
2103b2dafd
Make sure frame buffer is initialized before drawing 2024-05-18 16:57:38 +02:00
d2014a5e82
Use HlpRGBColor() internally 2024-05-17 23:29:03 +02:00
41bc673694
Initialize framebuffer device based on a system resource provided by boot loader 2024-05-17 22:37:42 +02:00
086d9ed7e2
Rename source file with fb-related stuff 2024-05-13 15:55:39 +02:00
78424385fc
Convert RGB colors to FrameBuffer format 2024-05-13 08:51:27 +02:00
e311cad8f7
Allow to clear framebuffer screen with any, custom background color 2024-05-12 22:43:06 +02:00
c34b6ff6c1
Take CPU number from processor block 2024-05-08 21:59:18 +02:00
f66e9aea9e
Store CPU number and mask interrupts in processor block 2024-05-07 16:21:38 +02:00
ac0b8ab36a
Allow to specify CPU number when initializing (A)PIC 2024-05-07 16:16:49 +02:00
40e0dd8c5e
Mask LVTERR first to prevent local APIC errors 2024-05-05 15:24:17 +02:00
bb44caee31
Implement HlPutCharacter() routine 2024-03-10 17:02:30 +01:00
cb4292dccf
Allow to use custom framebuffer fonts 2024-03-10 10:02:30 +01:00