Commit Graph

341 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