Commit Graph

391 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
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
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
03727a61d3 Implement hardware layer pool memory management 2024-05-22 18:51:09 +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
811b173387 Re-enable interrupts only if they were enabled previously 2024-05-17 23:24:04 +02:00
740df726e9 Implement ArInterruptsEnabled() routine 2024-05-17 23:19:25 +02:00
5591e1b377 Fix ArGetCpuFlags() routine 2024-05-17 23:16:16 +02:00
41bc673694 Initialize framebuffer device based on a system resource provided by boot loader 2024-05-17 22:37:42 +02:00
8a15d46198 Initialize system resource as soon as possible 2024-05-17 22:31:29 +02:00
74c1b03a6b Implement a system resources management routines 2024-05-16 23:08:59 +02:00
9f1a4f0ced Compose the AMD family and model IDs according to the AMD CPUID manual, section 2 2024-05-14 19:39:07 +02:00
2a8cc7397e Implement ArGetCpuFlags() routine 2024-05-14 16:26:02 +02:00
01d127f49e Consider not initialized list as empty, what prevents page faults 2024-05-14 15:53:21 +02:00
60a9e4b534 Rename source file with fb-related stuff, fix build 2024-05-13 15:59:24 +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
3d08be4fac Refactor kernel startup code 2024-05-12 09:06:24 +02:00
eeeb9d6ed7 Update PoInitializeProcessorControlBlock() routine and corresponding structures 2024-05-09 22:12:50 +02:00
c34b6ff6c1 Take CPU number from processor block 2024-05-08 21:59:18 +02:00
38b0b2ac7d Use correct stack when using preallocated processor structures 2024-05-08 15:57:24 +02:00
3c3a756771 Allow to initialize CPU with allocated processor structures 2024-05-08 00:02:47 +02:00