Commit Graph

282 Commits

Author SHA1 Message Date
Rafal Kupiec 7704e5d399
Initial kernel ACPI support
Builds / ExectOS (amd64) (push) Successful in 37s Details
Builds / ExectOS (i686) (push) Successful in 36s Details
2024-06-04 16:24:13 +02:00
Rafal Kupiec db5d6c42c9
Rework AcpChecksumTable() routine into AcpValidateAcpiTable()
Builds / ExectOS (amd64) (push) Successful in 35s Details
Builds / ExectOS (i686) (push) Successful in 34s Details
2024-06-03 23:31:33 +02:00
Rafal Kupiec 54b7e46f1b
Simplify AcGetAcpiTable() routine a bit
Builds / ExectOS (amd64) (push) Successful in 35s Details
Builds / ExectOS (i686) (push) Successful in 34s Details
2024-06-03 23:24:54 +02:00
Rafal Kupiec f265810a5c
Fix AcGetAcpiTable() routine failing to validate FADT checksum on some ACPI 2.0 and older machines
Builds / ExectOS (amd64) (push) Successful in 38s Details
Builds / ExectOS (i686) (push) Successful in 37s Details
2024-06-03 21:58:19 +02:00
Rafal Kupiec 9124574bc5
Fixes and improvements to ACPI related structures and definitions
Builds / ExectOS (amd64) (push) Successful in 38s Details
Builds / ExectOS (i686) (push) Successful in 35s Details
2024-06-03 21:17:31 +02:00
Rafal Kupiec 7f922dd864
Let XTLDR provide ACPI system resource
Builds / ExectOS (amd64) (push) Successful in 37s Details
Builds / ExectOS (i686) (push) Successful in 36s Details
2024-06-02 22:30:52 +02:00
Rafal Kupiec 29ff9e114e
Mark XtMapHardwareMemoryPool() routine private
Builds / ExectOS (amd64) (push) Successful in 36s Details
Builds / ExectOS (i686) (push) Successful in 35s Details
2024-06-02 17:34:30 +02:00
Rafal Kupiec c1ab5fe98d
Cleanup hardware allocation memory pool related code for i686
Builds / ExectOS (amd64) (push) Successful in 35s Details
Builds / ExectOS (i686) (push) Successful in 35s Details
2024-06-02 17:32:39 +02:00
Rafal Kupiec 6176ca38a8
Cleanup hardware allocation memory pool related code
Builds / ExectOS (amd64) (push) Successful in 32s Details
Builds / ExectOS (i686) (push) Failing after 32s Details
2024-06-02 17:29:31 +02:00
Rafal Kupiec 6b1ccc4ce5
Do not hardcode PML shift values
Builds / ExectOS (amd64) (push) Successful in 35s Details
Builds / ExectOS (i686) (push) Successful in 35s Details
2024-05-27 22:26:05 +02:00
Rafal Kupiec f968eb21fd
Cleanup the code
Builds / ExectOS (amd64) (push) Successful in 35s Details
Builds / ExectOS (i686) (push) Successful in 34s Details
2024-05-27 22:20:53 +02:00
Rafal Kupiec 7f8846f23d
Map memory for hardware layer on i686
Builds / ExectOS (amd64) (push) Successful in 35s Details
Builds / ExectOS (i686) (push) Successful in 34s Details
2024-05-27 22:17:30 +02:00
Rafal Kupiec ae243a9d07
Map memory for hardware layer on amd64
Builds / ExectOS (i686) (push) Successful in 48s Details
Builds / ExectOS (amd64) (push) Successful in 51s Details
2024-05-27 21:54:21 +02:00
Rafal Kupiec 5221db2e63
Rename LOADER_MEMORY_MAPPING structure to more meaningful LOADER_MEMORY_DESCRIPTOR
Builds / ExectOS (i686) (push) Successful in 2m8s Details
Builds / ExectOS (amd64) (push) Successful in 2m11s Details
2024-05-23 19:00:50 +02:00
Rafal Kupiec 28903e0c10
Add missing forward reference for AcGetAcpiTable() routine
Builds / ExectOS (amd64) (push) Successful in 42s Details
Builds / ExectOS (i686) (push) Successful in 41s Details
2024-05-20 15:34:49 +02:00
Rafal Kupiec ac33b86c3d
Implement AcGetAcpiTable() routine
Builds / ExectOS (i686) (push) Successful in 53s Details
Builds / ExectOS (amd64) (push) Successful in 55s Details
2024-05-19 23:45:28 +02:00
Rafal Kupiec 34cc81c446
Provide framebuffer information via system resource
Builds / ExectOS (amd64) (push) Successful in 42s Details
Builds / ExectOS (i686) (push) Successful in 43s Details
2024-05-18 17:06:44 +02:00
Rafal Kupiec 058649036f
Take care about blink first, otherwise BlPhysicalListToVirtual() fails to properly map single-element linked list
Builds / ExectOS (amd64) (push) Successful in 57s Details
Builds / ExectOS (i686) (push) Successful in 56s Details
2024-05-16 22:17:40 +02:00
Rafal Kupiec c576f7f8f2
Provide pixel information to the kernel
Builds / ExectOS (amd64) (push) Successful in 41s Details
Builds / ExectOS (i686) (push) Successful in 40s Details
2024-05-12 22:28:06 +02:00
Rafal Kupiec 615a1457bf
Fixes to FbpGetPixelInformation() and FbpGetColorMask() routines
Builds / ExectOS (amd64) (push) Successful in 46s Details
Builds / ExectOS (i686) (push) Successful in 44s Details
2024-05-12 22:20:22 +02:00
Rafal Kupiec 07d7e06b2b
Flush keyboard buffer out of any keystrokes before waiting for user input
Builds / ExectOS (amd64) (push) Successful in 39s Details
Builds / ExectOS (i686) (push) Successful in 37s Details
2024-05-05 15:29:20 +02:00
Rafal Kupiec 5a013e3ab5
Properly free memory after reading a file
Builds / ExectOS (amd64) (push) Successful in 39s Details
Builds / ExectOS (i686) (push) Successful in 38s Details
2024-04-30 12:27:27 +02:00
Rafal Kupiec 99ff358287
Don't mess with input string
Builds / ExectOS (amd64) (push) Successful in 35s Details
Builds / ExectOS (i686) (push) Successful in 34s Details
2024-04-30 10:31:17 +02:00
Rafal Kupiec c4d5b5bb25
Truncate memory descriptor to 4GB only with PML2
Builds / ExectOS (i686) (push) Successful in 36s Details
Builds / ExectOS (amd64) (push) Successful in 37s Details
2024-04-29 23:59:17 +02:00
Rafal Kupiec 763bade115
Use correct string formatting when printing page mapping
Builds / ExectOS (amd64) (push) Successful in 36s Details
Builds / ExectOS (i686) (push) Successful in 36s Details
2024-04-29 23:57:09 +02:00
Rafal Kupiec 0756eb9b29
Allocate memory before copying a buffer
Builds / ExectOS (i686) (push) Successful in 34s Details
Builds / ExectOS (amd64) (push) Successful in 36s Details
2024-04-29 22:39:32 +02:00
Rafal Kupiec ab618f95b9
Use dedicated GUID for DUMMYOS boot protocol
Builds / ExectOS (amd64) (push) Successful in 37s Details
Builds / ExectOS (i686) (push) Successful in 35s Details
2024-04-29 13:48:01 +02:00
Rafal Kupiec a4bb5a8ecc
Correct formatting
Builds / ExectOS (amd64) (push) Successful in 35s Details
Builds / ExectOS (i686) (push) Successful in 35s Details
2024-04-29 12:35:32 +02:00
Rafal Kupiec 170b11f7a2
Change OS boot identifier, to be able to load both 'dummy' and 'xtos' modules at the same time
Builds / ExectOS (i686) (push) Successful in 32s Details
Builds / ExectOS (amd64) (push) Successful in 34s Details
2024-04-29 12:31:18 +02:00
Rafal Kupiec 6b8184aa04
Fix code formatting
Builds / ExectOS (i686) (push) Successful in 34s Details
Builds / ExectOS (amd64) (push) Successful in 35s Details
2024-04-29 08:38:45 +02:00
Rafal Kupiec e80927c5d3
Fix undefined behavior and NULL pointer in boot loader OS list renderer
Builds / ExectOS (amd64) (push) Successful in 33s Details
Builds / ExectOS (i686) (push) Successful in 32s Details
2024-04-27 00:42:25 +02:00
Rafal Kupiec 7193e698f1
Store page map level
Builds / ExectOS (i686) (push) Successful in 32s Details
Builds / ExectOS (amd64) (push) Successful in 33s Details
2024-04-07 17:49:24 +02:00
Rafal Kupiec 388ac1a8c2
Properly, recursively self map page tables on i686 architecture
Builds / ExectOS (i686) (push) Successful in 31s Details
Builds / ExectOS (amd64) (push) Successful in 34s Details
2024-04-07 17:11:14 +02:00
Rafal Kupiec 0af3a01acf
Pass compatible pointer type to fix compiler warning
Builds / ExectOS (i686) (push) Failing after 28s Details
Builds / ExectOS (amd64) (push) Successful in 31s Details
2024-04-07 10:50:21 +02:00
Rafal Kupiec 1305672875
Properly, recursively self map page tables; currently only for AMD64 and PML4
Builds / ExectOS (amd64) (push) Successful in 45s Details
Builds / ExectOS (i686) (push) Successful in 42s Details
2024-04-05 00:26:41 +02:00
Rafal Kupiec c6f3422c49
Update PTE related structures
Builds / ExectOS (amd64) (push) Successful in 42s Details
Builds / ExectOS (i686) (push) Successful in 41s Details
2024-04-03 16:00:26 +02:00
Rafal Kupiec dcca4870cd
Move cursor before changing console attributes
Builds / ExectOS (i686) (push) Successful in 38s Details
Builds / ExectOS (amd64) (push) Successful in 41s Details
2024-03-28 14:06:52 +01:00
Rafal Kupiec 1cdc1d3e54
Truncate EFI memory descriptor to 4GB and never map EFI reserved memory like PCI BAR
Builds / ExectOS (amd64) (push) Successful in 32s Details
Builds / ExectOS (i686) (push) Successful in 32s Details
2024-03-26 23:04:54 +01:00
Rafal Kupiec e24c37c9b1
First page is now always present in memory map, so there is no need to map it explicitly
Builds / ExectOS (i686) (push) Successful in 31s Details
Builds / ExectOS (amd64) (push) Successful in 30s Details
2024-03-24 23:01:52 +01:00
Rafal Kupiec ce8c66f93a
Always map first page
Builds / ExectOS (amd64) (push) Successful in 30s Details
Builds / ExectOS (i686) (push) Successful in 31s Details
2024-03-24 22:52:18 +01:00
Rafal Kupiec b3be36e23d
Map BIOS ROM and VRAM
Builds / ExectOS (amd64) (push) Successful in 38s Details
Builds / ExectOS (i686) (push) Successful in 36s Details
2024-03-24 15:53:36 +01:00
Rafal Kupiec 56d50ea2e8
Implement EDID support for getting the preferred screen resolution
Builds / ExectOS (i686) (push) Successful in 29s Details
Builds / ExectOS (amd64) (push) Successful in 31s Details
2024-03-21 15:40:09 +01:00
Rafal Kupiec eb75a27ac2
Use common handle and properly close GOP protocol on failures
Builds / ExectOS (i686) (push) Successful in 37s Details
Builds / ExectOS (amd64) (push) Successful in 38s Details
2024-03-21 06:59:05 +01:00
Rafal Kupiec 3cd55260e6
Expose BlEnterFirmwareSetup() routine via XTLDR protocol
Builds / ExectOS (i686) (push) Successful in 32s Details
Builds / ExectOS (amd64) (push) Successful in 34s Details
2024-03-19 17:11:38 +01:00
Rafal Kupiec e263effe13
Allow to reboot into UEFI Firmware setup interface after pressing F10 in the boot menu
Builds / ExectOS (amd64) (push) Successful in 32s Details
Builds / ExectOS (i686) (push) Successful in 31s Details
2024-03-19 17:04:14 +01:00
Rafal Kupiec 94e6ca7aec
Implement BlEnterFirmwareSetup() routine
Builds / ExectOS (amd64) (push) Successful in 39s Details
Builds / ExectOS (i686) (push) Successful in 37s Details
2024-03-19 16:50:04 +01:00
Rafal Kupiec 7b2a2565c5
Expose BlGetEfiVariable() and BlSetEfiVariable() routines via XTLDR protocol
Builds / ExectOS (i686) (push) Successful in 31s Details
Builds / ExectOS (amd64) (push) Successful in 31s Details
2024-03-18 22:20:21 +01:00
Rafal Kupiec 6accf62552
Expose BlGetConfigBooleanValue() via XTLDR protocol
Builds / ExectOS (i686) (push) Successful in 33s Details
Builds / ExectOS (amd64) (push) Successful in 34s Details
2024-03-18 22:16:20 +01:00
Rafal Kupiec 18c9cc1644
Remove unnecessary debug messages
Builds / ExectOS (amd64) (push) Successful in 33s Details
Builds / ExectOS (i686) (push) Successful in 32s Details
2024-03-18 21:55:17 +01:00
Rafal Kupiec 12e8704ffb
Implement BlGetConfigBooleanValue() routine
Builds / ExectOS (i686) (push) Successful in 32s Details
Builds / ExectOS (amd64) (push) Successful in 34s Details
2024-03-18 20:02:43 +01:00