Commit Graph

439 Commits

Author SHA1 Message Date
ceb36ae8ec Add PAGES_TO_SIZE macro definition 2024-07-13 15:39:08 +02:00
94076b7471 Separate image base address per architecture 2024-07-10 22:42:48 +02:00
ebc2607446 Update compiler optimization flags 2024-07-10 17:57:29 +02:00
3804786e89 All ACPI related structures should be packed 2024-07-07 22:13:34 +02:00
6bcf3e134f Unify naming convention and switch to ULONG in memory map related routines 2024-07-06 22:59:10 +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
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