Commit Graph

434 Commits

Author SHA1 Message Date
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
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
c7e96184e6
Correct typo 2024-06-12 16:11:38 +02:00
bd7d4f5a0d
Fix function type mismatch undefined behavior when calling through a pointer 2024-06-09 22:26:01 +02:00
3097ff6250
Get rid of NULL pointer dereference 2024-06-09 12:45:01 +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
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
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
de709162e3
ACPI_RSDT structure does not need to be packed 2024-06-03 22:27:36 +02:00
5d2d409d0f
Add more XTSTATUS status codes 2024-06-03 22:14:58 +02:00
9124574bc5
Fixes and improvements to ACPI related structures and definitions 2024-06-03 21:17:31 +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
6b1ccc4ce5
Do not hardcode PML shift values 2024-05-27 22:26:05 +02:00
7f8846f23d
Map memory for hardware layer on i686 2024-05-27 22:17:30 +02:00
70d1295919
Do not support non-PAE systems 2024-05-24 23:47:29 +02:00
03ba3b5583
Add missing forward references for APIC related structures 2024-05-24 23:41:27 +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
143803aad9
PPE needs PAE on i686 2024-05-22 23:09:30 +02:00
609538b9be
Implement MmpGetPdeAddress() and MmpGetPteAddress() routines for i686 architecture as well as MmpMemoryExtensionEnabled() for checking PAE/LA57 support 2024-05-22 22:47:28 +02:00
4db5425238
Add PHYSICAL_ADDRESS type definition 2024-05-22 18:52:57 +02:00
03727a61d3
Implement hardware layer pool memory management 2024-05-22 18:51:09 +02:00
500498508e
Rename PACK definition 2024-05-20 15:34:15 +02:00
ac33b86c3d
Implement AcGetAcpiTable() routine 2024-05-19 23:45:28 +02:00
4931f1b9a3
Cleanup loader information block after switching to system resources 2024-05-18 17:32:56 +02:00
c17f6a95d4
Use relative path in debug output 2024-05-18 17:30:11 +02:00
1e2efce26a
Add a system resources list to the initialization block 2024-05-16 23:20:57 +02:00
74c1b03a6b
Implement a system resources management routines 2024-05-16 23:08:59 +02:00
f74a5521ba
Update KPROCESS and KTHREAD structure definitions 2024-05-14 19:44:10 +02:00
efef3cb80d
Cleanup EFLAGS related definitions 2024-05-14 16:22:10 +02:00
e311cad8f7
Allow to clear framebuffer screen with any, custom background color 2024-05-12 22:43:06 +02:00
c576f7f8f2
Provide pixel information to the kernel 2024-05-12 22:28:06 +02:00
615a1457bf
Fixes to FbpGetPixelInformation() and FbpGetColorMask() routines 2024-05-12 22:20:22 +02:00
eeeb9d6ed7
Update PoInitializeProcessorControlBlock() routine and corresponding structures 2024-05-09 22:12:50 +02:00
38b0b2ac7d
Use correct stack when using preallocated processor structures 2024-05-08 15:57:24 +02:00
b65ff2a767
Implement MmAllocateProcessorStructures() routine as a temporary hack to get a buffer for AP initialization 2024-05-07 23:30:11 +02:00
276eb77862
Update KPROCESSOR_BLOCK structure 2024-05-07 16:20:40 +02:00
7a62ce3feb
Enable Bochs-based emulation 2024-04-30 12:16:19 +02:00
ecf62ff231
Add OVMF firmware and VGA Bios suitable for use with Bochs 2024-04-30 11:57:35 +02:00
ab618f95b9
Use dedicated GUID for DUMMYOS boot protocol 2024-04-29 13:48:01 +02:00
e80927c5d3
Fix undefined behavior and NULL pointer in boot loader OS list renderer 2024-04-27 00:42:25 +02:00
22693a48d3
Rework trap handling assembly code 2024-04-23 15:07:08 +02:00