Commit Graph
391 Commits
Author SHA1 Message Date
belliash 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
belliash c2db94125d Add appropriate crediting for Minoca authors for the System Resources component 2024-06-21 17:00:20 +02:00
belliash 330d3fa72e Fix routines order for better maintainability 2024-06-21 16:50:05 +02:00
belliash 712107ae10 Simplify XTOS library 2024-06-12 18:40:52 +02:00
belliash 906e09fd9f Refactor COM port support, to get rid of global variables in library 2024-06-12 18:02:29 +02:00
belliash 91e8a86ee2 Implement kernel undefined behavior sanitizer support 2024-06-12 16:19:24 +02:00
belliash 2f16f4f613 Traverse Local x2APIC structures to find all processors 2024-06-07 23:05:12 +02:00
belliash f36b59c961 Store processor identities in system info structure 2024-06-07 20:19:56 +02:00
belliash 86bc2042e5 Cleanup XTDK headers 2024-06-06 23:09:03 +02:00
belliash 658cb2d3c8 Get system information based on the ACPI (currently only number of CPUs) 2024-06-06 22:05:32 +02:00
belliash 829fc49aac Fix ACPI cache causing some undefined behavior 2024-06-06 21:52:41 +02:00
belliash 92e861ebae Cleanup APIC related headers 2024-06-06 21:50:20 +02:00
belliash 4212453cf5 Fix APIC initialization code 2024-06-06 16:49:08 +02:00
belliash ef65bceccd Initialize legacy PIC and mask all interrupts 2024-06-05 16:08:54 +02:00
belliash b061c87fc9 Fix routines with no prototype using XTAPI calling convention compiler warnings 2024-06-04 21:41:16 +02:00
belliash 8a4caba26f Fix routine with no prototype using XTAPI calling convention compiler warning 2024-06-04 21:39:10 +02:00
belliash 76e1fc6099 Enable hardware layer initialization code 2024-06-04 21:36:09 +02:00
belliash 7b29897efb Initialize ACPI Timer 2024-06-04 21:04:09 +02:00
belliash 7704e5d399 Initial kernel ACPI support 2024-06-04 16:24:13 +02:00
belliash c289dab514 Add ACPI resource type 2024-06-02 21:36:59 +02:00
belliash 6176ca38a8 Cleanup hardware allocation memory pool related code 2024-06-02 17:29:31 +02:00
belliash abb65b99fe HlPool manages hardware related memory 2024-06-02 17:01:45 +02:00
belliash a7c4f6c2aa Fix MmMapHalMemory() not using the ReturnAddress for calculating virtual address 2024-05-26 10:50:31 +02:00
belliash 4a275b3dec Just skip unsupported system resources 2024-05-26 00:09:31 +02:00
belliash 94a40501d4 Mask APIC ICR0 and disable APIC interrupts for initialization time by raising APIC TPR 2024-05-24 23:39:06 +02:00
belliash b4588d5b4c Make ExectOS only run on processors which support PAE 2024-05-24 16:30:39 +02:00
belliash 5221db2e63 Rename LOADER_MEMORY_MAPPING structure to more meaningful LOADER_MEMORY_DESCRIPTOR 2024-05-23 19:00:50 +02:00
belliash edbc2cc045 Initialize architecture specific hardware extensions 2024-05-22 22:53:29 +02:00
belliash 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
belliash 03727a61d3 Implement hardware layer pool memory management 2024-05-22 18:51:09 +02:00
belliash 2103b2dafd Make sure frame buffer is initialized before drawing 2024-05-18 16:57:38 +02:00
belliash d2014a5e82 Use HlpRGBColor() internally 2024-05-17 23:29:03 +02:00
belliash 811b173387 Re-enable interrupts only if they were enabled previously 2024-05-17 23:24:04 +02:00
belliash 740df726e9 Implement ArInterruptsEnabled() routine 2024-05-17 23:19:25 +02:00
belliash 5591e1b377 Fix ArGetCpuFlags() routine 2024-05-17 23:16:16 +02:00
belliash 41bc673694 Initialize framebuffer device based on a system resource provided by boot loader 2024-05-17 22:37:42 +02:00
belliash 8a15d46198 Initialize system resource as soon as possible 2024-05-17 22:31:29 +02:00
belliash 74c1b03a6b Implement a system resources management routines 2024-05-16 23:08:59 +02:00
belliash 9f1a4f0ced Compose the AMD family and model IDs according to the AMD CPUID manual, section 2 2024-05-14 19:39:07 +02:00
belliash 2a8cc7397e Implement ArGetCpuFlags() routine 2024-05-14 16:26:02 +02:00
belliash 01d127f49e Consider not initialized list as empty, what prevents page faults 2024-05-14 15:53:21 +02:00
belliash 60a9e4b534 Rename source file with fb-related stuff, fix build 2024-05-13 15:59:24 +02:00
belliash 086d9ed7e2 Rename source file with fb-related stuff 2024-05-13 15:55:39 +02:00
belliash 78424385fc Convert RGB colors to FrameBuffer format 2024-05-13 08:51:27 +02:00
belliash e311cad8f7 Allow to clear framebuffer screen with any, custom background color 2024-05-12 22:43:06 +02:00
belliash 3d08be4fac Refactor kernel startup code 2024-05-12 09:06:24 +02:00
belliash eeeb9d6ed7 Update PoInitializeProcessorControlBlock() routine and corresponding structures 2024-05-09 22:12:50 +02:00
belliash c34b6ff6c1 Take CPU number from processor block 2024-05-08 21:59:18 +02:00
belliash 38b0b2ac7d Use correct stack when using preallocated processor structures 2024-05-08 15:57:24 +02:00
belliash 3c3a756771 Allow to initialize CPU with allocated processor structures 2024-05-08 00:02:47 +02:00