Commit Graph

484 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