ee23cd90cb
Implement BlGetEfiVariable() and BlSetEfiVariable() routines
Builds / ExectOS (i686) (push) Successful in 33s
Builds / ExectOS (amd64) (push) Successful in 33s
2024-03-18 17:04:58 +01:00
713f826387
XTOS boot protocol should use builtin mapping function
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 31s
2024-03-17 23:10:50 +01:00
db0e1d40aa
Allow boot protocols to supply own routine for converting EFI memory type into OS-specific memory type
Builds / ExectOS (i686) (push) Failing after 32s
Builds / ExectOS (amd64) (push) Failing after 33s
2024-03-17 23:06:37 +01:00
41ebabcb09
Provide only necessary framebuffer information to the kernel
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 32s
2024-03-15 16:46:53 +01:00
945b323606
Initialize framebuffer earlier and reset video screen mode to circumvent buggy firmwares
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 35s
2024-03-15 15:46:45 +01:00
848731c9e6
Introduce ability to change screen resolution
Builds / ExectOS (i686) (push) Successful in 44s
Builds / ExectOS (amd64) (push) Successful in 46s
2024-03-15 15:12:12 +01:00
662b49d96e
Remove unneeded infinite loop
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 34s
2024-03-13 16:34:47 +01:00
e6736087ba
Corrections in printing debug messages
Builds / ExectOS (amd64) (push) Successful in 1m18s
Builds / ExectOS (i686) (push) Successful in 1m13s
2024-03-13 15:55:03 +01:00
a4c22ab5e8
Improvements to FrameBuffer support
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-03-09 15:07:33 +01:00
7c210e8818
Improvements and fixes in framebuffer module
Builds / ExectOS (i686) (push) Successful in 45s
Builds / ExectOS (amd64) (push) Successful in 47s
2024-03-07 16:19:05 +01:00
70a52adb8b
Don't even try to load a dependency modules with invalid name set
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 31s
2024-03-02 22:59:20 +01:00
baaa729076
Correct typo in a comment
Builds / ExectOS (amd64) (push) Successful in 41s
Builds / ExectOS (i686) (push) Successful in 40s
2024-03-02 22:27:32 +01:00
bd6516cdf9
Reallocate memory when updating existing config entry via BlSetConfigValue()
Builds / ExectOS (i686) (push) Successful in 33s
Builds / ExectOS (amd64) (push) Successful in 35s
2024-03-02 17:15:37 +01:00
01983ef677
Small fixes to configuration parser
Builds / ExectOS (i686) (push) Successful in 43s
Builds / ExectOS (amd64) (push) Successful in 45s
2024-03-02 16:54:28 +01:00
d61fd4f9c7
Fix grim bug in PE/COFF image structures causing invalid data read from optional header
Builds / ExectOS (i686) (push) Successful in 31s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-03-02 00:56:38 +01:00
a57ae020fa
Implement PeGetFileSize(), PeGetImageSize() and PeUnloadImage() routines
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 45s
2024-03-01 23:12:12 +01:00
17c50ea912
Redesign a way of storing module information; this allows to store more data in a single section, like license or a list of authors, as well as solves the problem with different module name lengths
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2024-02-28 23:28:33 +01:00
632bb30b64
Implement BlGetRandomValue() and BlInitializeEntropy() routines for future KASLR support
Builds / ExectOS (amd64) (push) Successful in 1m16s
Builds / ExectOS (i686) (push) Successful in 1m14s
2024-02-26 23:06:44 +01:00
2dd4048416
Switch GUID specifier to %v and %V, thus allowing to write string with both lower and uppercase
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 41s
2024-02-17 22:52:49 +01:00
430557e08f
Fix printing hard drive GUID
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-16 23:05:24 +01:00
a70df7cbf8
Properly print status codes
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
2024-02-16 23:01:29 +01:00
70c66a5d70
Code formatting
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-16 22:44:19 +01:00
789e9d64f4
Properly print PA & VA addresses
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-16 22:40:36 +01:00
98acc6f3d4
Use uppercase when printing status codes
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2024-02-16 22:09:38 +01:00
6d66629124
Cleanup after switching to new way of printing formatted strings
Builds / ExectOS (i686) (push) Successful in 33s
Builds / ExectOS (amd64) (push) Successful in 34s
2024-02-16 22:04:17 +01:00
c99bd73dfd
Use uppercase when printing status codes
Builds / ExectOS (i686) (push) Successful in 31s
Builds / ExectOS (amd64) (push) Successful in 34s
2024-02-16 22:03:00 +01:00
8ddd6137da
XTLDR console/debug print refactor
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 39s
2024-02-16 15:09:18 +01:00
5de4d7a7f5
Use new string formatting mechanism in the boot loader
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2024-02-15 23:32:23 +01:00
f25a233d12
Make a use of ACPI module
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
2024-02-02 23:36:51 +01:00
360ddd5405
Export new routines from ACPI module
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-02 22:29:14 +01:00
0d4a4d3873
Link ACPI module against libxtos
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-02 22:11:47 +01:00
1828acbc56
Implement AcGetSMBiosTable() and AcGetSMBios3Table() routines
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 14s
2024-02-02 22:10:51 +01:00
4fa5b8f2a5
Implement AcGetApicBase()
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2024-02-02 22:07:28 +01:00
082568ae10
Rename AcGetAcpiTable() to AcGetAcpiDescriptionPointer()
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2024-02-02 22:04:58 +01:00
8a2e49ec60
Add initial version of ACPI module
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 26s
2024-02-01 16:26:12 +01:00
f55bdb6274
Correct module description
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
2024-01-31 18:24:42 +01:00
508fd27e92
Implement BlGetConfigurationTable() routine
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-31 16:25:43 +01:00
48d1e7f04c
Properly copy kernel parameters into the loader block
Builds / ExectOS (amd64) (push) Successful in 59s
Builds / ExectOS (i686) (push) Successful in 25s
2024-01-29 19:41:52 +01:00
8f7641d91f
Pass memory mapping information to the kernel
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-29 19:40:05 +01:00
a72f87e731
Update memory mapping related structures for i686 architecture
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-29 19:35:30 +01:00
0c691a40e3
Update memory mapping related structures
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Failing after 16s
2024-01-29 19:31:20 +01:00
d27a4cde4b
Implement BlGetVirtualAddress() and BlPhysicalListToVirtual() routines
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 32s
2024-01-29 18:03:58 +01:00
8115ae07b6
Unify variable types across project; use common type for storing numer of pages
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 31s
2024-01-29 16:17:51 +01:00
8e61e95cc2
Implement BlPhysicalAddressToVirtual() routine
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 23:16:01 +01:00
170d1c71c9
Map EfiReservedMemoryType to LoaderSpecialMemory
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 22:10:21 +01:00
b8acfe1b66
Implement BlGetMappingsCount() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-28 17:26:20 +01:00
670a812649
Store number of mappings when mapping virtual memory
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 17:01:44 +01:00
2e12d30aa4
Cleanup old XTOS boot protocol module
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 31s
2024-01-28 15:54:01 +01:00
4f657b4574
Add missing routine descriptions
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-28 15:46:26 +01:00
d6b207052b
Add 9 characters to switch to next dependency as it was increased in 4a67bc1230
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 15:22:26 +01:00
3c0a43d55a
Rework of EFI FrameBuffer module
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-28 15:03:55 +01:00
767ed21288
Correct module description
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-25 22:26:02 +01:00
73bd43d16d
Unify naming convention
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 45s
2024-01-25 22:25:23 +01:00
7a65b37f96
Implement new module providing a basic support for PE/COFF executables
Builds / ExectOS (amd64) (push) Failing after 24s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-25 22:04:30 +01:00
33e25f881e
Update debug message
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-23 22:20:31 +01:00
9421eee002
Implement chain loader module
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-23 22:04:57 +01:00
269858f5a1
Implement and use BlGetEfiPath() routine to get valid EFI path
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-23 20:56:58 +01:00
9f739df595
There is no need to allocate so much memory
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-23 20:53:26 +01:00
eec318a362
Reformat code
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-23 15:38:52 +01:00
f2887dba1f
Rename XtLdrProtocol variable
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-23 15:17:39 +01:00
f2ab4894a5
Use correct paths in debug messages
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 25s
2024-01-23 15:14:50 +01:00
435ee66ce1
Implement BlLoadEfiImage() and BlStartEfiImage() routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 23:04:24 +01:00
6733e092ba
Add missing comment
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-22 20:47:49 +01:00
9fe347fd0a
Correct comments
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 20:42:29 +01:00
af400920d0
Make a use of BlBuildPageMap()
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:20:22 +01:00
0c3aee829a
Add missing forward reference
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:16:39 +01:00
7128159c42
Implement BlBuildPageMap() routine
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 14s
2024-01-22 15:15:21 +01:00
85d43e54b8
Add missing forward reference
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-22 15:14:07 +01:00
22a7676b9b
Store boot loader image information and close EFI_LOADED_IMAGE_PROTOCOL afterwards
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-22 15:11:56 +01:00
8580557985
Check if new mapping is a subset of an already existing mapping
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-22 15:09:03 +01:00
c24745d233
Allow to specify virtual address during EFI memory mapping only
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-19 23:16:45 +01:00
88321b5f4d
Pass virtual memory area address by reference
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-18 23:10:47 +01:00
9f5018abf0
Update BlInitializePageMap() description
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-18 15:10:32 +01:00
02f0e34b83
Allow to provide page size during initialization
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 27s
2024-01-18 14:30:58 +01:00
0e4575b278
Use new paging implementation
Builds / ExectOS (amd64) (push) Successful in 55s
Builds / ExectOS (i686) (push) Successful in 41s
2024-01-17 22:24:55 +01:00
89c18bbce6
Initial paging support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-17 14:42:07 +01:00
8f40683270
Rename memory related routines to follow naming convention
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 25s
2024-01-15 15:13:34 +01:00
93340936d3
Update XTLDR help
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
2024-01-12 16:04:25 +01:00
019f084e49
Allow to reboot or shutdown from XTLDR boot menu
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-12 16:03:21 +01:00
c2e8e29775
Add missing forward references
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-12 16:02:14 +01:00
521006d939
Implement BlRebootSystem() and BlShutdownSystem() routines
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-12 15:59:38 +01:00
489734d5c9
Implement test function to get framebuffer address by accessing graphics adapter's BARs
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 39s
2024-01-12 15:18:36 +01:00
9501d3da36
Improvements to protocol support
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 30s
2024-01-12 15:10:27 +01:00
11979f758b
Conform BlExitBootServices() to UEFI Specification
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2024-01-10 21:59:51 +01:00
c98007a4a5
Do not link against libxtos if not needed
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-10 19:55:20 +01:00
c4450e88ab
Add common memory related routines to XTLDR protocol
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Failing after 15s
2024-01-10 19:51:27 +01:00
53cd4e0052
Cleanup PE/COFF related structures
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 29s
2024-01-10 16:05:36 +01:00
4412d4fc98
Rewrite core of the XTLDR boot loader
...
Builds / ExectOS (amd64) (push) Successful in 1m1s
Builds / ExectOS (i686) (push) Successful in 29s
Reviewed-on: #7
Reviewed-by: Piotr Likoski <likoski@noreply.codingworkshop.git>
Co-authored-by: Rafal Kupiec <belliash@codingworkshop.eu.org>
Co-committed-by: Rafal Kupiec <belliash@codingworkshop.eu.org>
2024-01-09 18:51:04 +01:00
d7fbe531fd
Improvements in string and wide string support
...
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
* Implement RtlCompareString(), RtlCompareStringInsensitive(), RtlCompareWideString() and RtlCompareWideStringInsensitive()
* Rename some routines t omatch naming conventions
* Switch to CHAR in string operations
2023-12-06 23:00:18 +01:00
ec63fe3fa6
Retry exiting boot services if first try fails
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-12-02 16:02:24 +01:00
146a331c80
Let UEFI firmware load xtldr into lower half
Builds / ExectOS (amd64) (push) Successful in 3m7s
Builds / ExectOS (i686) (push) Successful in 28s
2023-12-02 09:02:04 +01:00
a90a30ff7a
Move XTOS GUIDs into separate header
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 17:59:53 +01:00
d8403d01f5
Verify kernel and boot loader compatibility
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-22 17:22:57 +01:00
a3c28cee73
Initial XTLDR APIC support, finds and maps base APIC address for kernel
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-20 15:18:22 +01:00
a2af4841da
Move all globals into separate file
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-16 17:39:12 +01:00
6f5e7f63f3
Include xtver.h to access version related definitions
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 25s
2023-10-27 15:43:37 +02:00
ebb740b0e7
Add more readmes to describe XTOS components and source code tree directories
ci/woodpecker/push/build Pipeline was successful
2023-05-18 21:24:33 +02:00
89718213b8
Remove no longer needed dummy module
ci/woodpecker/push/build Pipeline was successful
2023-05-17 15:13:10 +02:00
9c083dc050
Map zero page, like e820 does
ci/woodpecker/push/build Pipeline was successful
2023-02-23 00:44:21 +01:00
e2c7d0f919
Zero fill memory map before fetching it once again
ci/woodpecker/push/build Pipeline was successful
2023-02-23 00:39:13 +01:00