XTLDR Rewrite #7

Merged
belliash merged 184 commits from xtldr_rewrite into master 2024-01-09 18:51:04 +01:00
Owner

Purpose

This is a complete XTLDR rewrite tested on bare metal, both 32 and 64 bits. It implements new modules system that no longer causes problems on Clevo P170SM as well as text UI with boot menu.
Currently it adopts existing modules to be able to boot ExectOS.

Implemented features

  • Text UI for informing users about common issues
  • Boot menu allowing to choose operating system to boot
  • New modules system
  • Enhanced debugging that allows to write to serial port and screen
  • Bugfixes and other smaller improvements

TODO

  • New memory and PML4/5 support
  • New modules necessary for booting XTOS
  • XTLDR shell
  • Events support and extending modules system for registering shell commands
  • Editing OS configuration from boot menu
<!-- 1. Please speak English, this is the language all of us can speak and write. 2. Please follow the CONTRIBUTING.md to make your changes smoothly merged. --> ## Purpose This is a complete XTLDR rewrite tested on bare metal, both 32 and 64 bits. It implements new modules system that no longer causes problems on Clevo P170SM as well as text UI with boot menu. Currently it adopts existing modules to be able to boot ExectOS. ## Implemented features - Text UI for informing users about common issues - Boot menu allowing to choose operating system to boot - New modules system - Enhanced debugging that allows to write to serial port and screen - Bugfixes and other smaller improvements ## TODO - New memory and PML4/5 support - New modules necessary for booting XTOS - XTLDR shell - Events support and extending modules system for registering shell commands - Editing OS configuration from boot menu
belliash added 160 commits 2024-01-06 23:58:33 +01:00
Add common header for XTLDR and its modules
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
7f41f83026
Initial XTLDR import
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
4076175436
Initialize the UEFI console
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
03b6e9cd90
Let UEFI firmware load xtldr into lower half
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
b1ef23148b
Implement BmDisableCursor(), BmEnableCursor() and BmPrintChar() routines
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
f0fbeadc1c
Add string manipulation support
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
78ac03b039
Include more headers
Builds / ExectOS (amd64) (push) Successful in 24s
Builds / ExectOS (i686) (push) Successful in 28s
26cee38e31
Add missing whitespace character to the comment
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 25s
6ba0557392
Implement BmPrint() routine
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
f161b37faf
Early print XTLDR version
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
a99ce415ca
Include iotypes as well
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
40696e2a1e
Basic memory support
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 24s
3fc97ae98b
Add missing forward references
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
5e4248351e
Implement BmActivateSerialIOController() routine
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
e302f662bb
Initial XTLDR configuration
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
ab7fa5ffa4
Add XTBM_CONFIGURATION structure definition
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
55bd9e326f
Refactor part 1
Builds / ExectOS (amd64) (push) Failing after 14s
Builds / ExectOS (i686) (push) Failing after 14s
fce8a50321
Refactor part 2
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
a66456979a
Refactor part 3
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
d2f06a2758
Refactor part 4
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 23s
023f2c72b3
Add debug port type definitions
Builds / ExectOS (amd64) (push) Successful in 24s
Builds / ExectOS (i686) (push) Successful in 25s
a101ddf555
Include hltypes header
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 23s
6a03db6fcd
Refactor part 5; Implement debugging ports
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 24s
5131a682b8
Do not overwrite some options for easy debugging and testing new themes
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
9f36d397f0
Disable watchdog timer
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
9a3e0f69fa
Refactor part 6
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 46s
2b2efd0dd3
Correct typo
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
aea69a33b9
Add XTLDR protocol support
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
02cd8efde9
Add XTLDR protocol support, add missing source file
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
0a1df55a0f
Not really needed as each module will get both ImageHandle and SystemTable
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
c4f1429a3b
Refactor, part 7; register XTLDR protocol
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 28s
6733146b71
Improvements in string and wide string support
Builds / ExectOS (amd64) (push) Failing after 19s
Builds / ExectOS (i686) (push) Failing after 15s
1c94f9ff02
* Implement RtlCompareString(), RtlCompareStringInsensitive(), RtlCompareWideString() and RtlCompareWideStringInsensitive()
* Rename some routines t omatch naming conventions
* Switch to CHAR in string operations
Match new RTL API to fix build
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 48s
cd1ab2128b
Import volumes suppport
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2356f4da54
Compile volume.c
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
2c132d4ab5
Discover and enumerate EFI block devices
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 14s
31c8e502c5
Add missing block devices definitions
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
a413ae852e
Check block devices enumeration status
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
3025338e71
Add basic volume support to XTLDR protocol
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
a261c68808
Compare input parameters, while ignoring differences in case
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
368035c105
BUGFIX: Do not cut last character
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
3bd4332573
Compare input parameters, while ignoring differences in case
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
089c2213a4
Implement BlReadFile() routine
Builds / ExectOS (amd64) (push) Failing after 19s
Builds / ExectOS (i686) (push) Failing after 15s
212091811f
Fix build
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
e1be0e56ea
Implement BlpLoadConfigurationFile() routine
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
40e7b29af8
Reorganise bootman.h
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 27s
87dceb0ba7
Implement RtlTrimLeftString(), RtlTrimRightString() and RtlTrimString() routines
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 27s
b57ee630fd
Initial code for reading configuration from a file
Builds / ExectOS (amd64) (push) Failing after 19s
Builds / ExectOS (i686) (push) Failing after 15s
a06f32c61d
Fix build
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
6ffedf6302
Store all configuration in a linked list, read config from INI file and EFI shell
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 25s
0cea10ad42
Implement BlConsoleWrite() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 24s
02cc0cd522
Implement BlConsoleQueryMode() and BlSetCursorPosition()
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
9aa2efe17f
Do not use static linked list
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
a079423174
Reorder routines
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 24s
2434a018c4
Implement BlSetConsoleAttributes() routine
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
155ce1e366
Add EFI TUI definitions
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 25s
ced6909d82
Implement BlGetSecureBootStatus() and do some refactoring
Builds / ExectOS (amd64) (push) Failing after 17s
Builds / ExectOS (i686) (push) Failing after 14s
ff7ff90499
Fix build
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
616be9d9dd
Initial Text User Interface (TUI) support
Builds / ExectOS (amd64) (push) Successful in 1m8s
Builds / ExectOS (i686) (push) Successful in 27s
e3a4460dbc
Fix progress bar colors
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
c649087c3e
Compile XTLDR TUI
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
ea33166efa
Add documentation to private TUI-related routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
83e555043a
Implement more wrappers and refactoring
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
74cac842a5
Almost complete TUI
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
451a84a20f
Move definitions to proper header
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 29s
297b201f33
Always take a sizeof(WCHAR) into account when moving memory
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 30s
d8a260795e
Add XTLDR structures forward references
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
6f0895689e
Import TUI into loader protocol
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
e0932feac8
Rename some TUI definitions
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
a45b8c62db
Update XTLDR API
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 25s
ceee294df7
Do not print caption, nor message on the dialog box if not needed
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 29s
c2d40e3011
Remove leading and trialing quotes from config values
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
fbcf952dad
Remove unused, commented out variable
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
ebf95ba90a
Make a use of TUI dialogs to inform user about errors
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
6983b2eeac
Implement BlInitializeBootMenuList()
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
a7781c4b0b
Implement boot menu skeleton
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
019fdab193
Add separate definitions for XTLDR version
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
edcce638be
Semi-functional code for displaying boot menu
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
a7c345a9b2
Add more debugging
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 29s
093ef010c8
Make sure config list is not empty before trying to access it
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 28s
782e6e3987
Implement BlSetConsoleMode() and forcibly set mode to 80x25 to avoid offscreen
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 28s
5ee6377080
Get timeout value from configuration
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
16a2565ad9
Initialize XTLDR configuration list and check if EFI LoadedImage protocol opened successfully
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 28s
32042ef643
Fix XTLDR configuration
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
113a46ef10
Add ability to jump between first and last menu entry with PageUp/PageDown keys
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 26s
ec861c6296
Implement BlClearConsoleLine() routine
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 24s
10aaf7e24e
Quick fixes and improvements to BlDisplayBootMenu()
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
0c5f2d18b6
Formatting
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
57b6037dd6
Add a way to define custom boot menu handler
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
ea5365dcfd
Cleanup
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
c5b6aa108d
Prevent inverted colors
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 25s
4b683eb2cd
If any of this occur, return error status code
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 24s
aa534ef011
Do not hardcode path to config file, and move it to the right directory
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
e99afaba41
Update XTLDR config file
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
4ca81575fa
Add SEGMENT macro for specifying a segment in which the object will be allocated
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 26s
e686b6f342
Initial modules support
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
ea32946bbd
Small fixes
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
08fb9b92d5
Store SecureBoot status
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
ea06286a8b
Add more checks to BlLoadModule() and make it more verbose
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
aa03fc9cb2
Another improvements to module loading support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
effde90ece
Store module dependencies in a linked list
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 27s
1d61b2fb6a
Clean up code a bit
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
03ffa1d901
Make a copy of modules list, because RtlTokenizeWideString() modifies input data
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
a65c22c9c9
Add boot protocol parameters
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
5b64cf21a0
Improvements to EFI volume support
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
9aaf8ddb68
Allocate and copy the appropriate amount of memory
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 44s
aa4f917fa7
Add support for boot protocols
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
b4ef1932ab
Load boot loader modules
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
fc3d236405
Move XTLDR initialization code out of EFI utils
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
167c09be0a
Update boot loader configuration file
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
096b65c432
Initial version of XTBL_EXECUTABLE_IMAGE_PROTOCOL
Builds / ExectOS (i686) (push) Successful in 30s
Builds / ExectOS (amd64) (push) Successful in 30s
05865fd4c0
Comment out unnecessary code
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
835d2f3551
Loader protocol must be globally accessible
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
e728b9d299
Implement BlGetXtLdrProtocol()
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 26s
f4871801a7
Fix how GUID is passed to BlInvokeBootProtocol()
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 27s
89caaa977e
Update dummy module
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
35f36adfa6
Implement BlRegisterProtocol() routine
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
09ca6dace9
NULLify a list of modules
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 26s
e1670e5d58
Add missing description for BlDisplayBootMenu()
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
afb503961c
Use BlRegisterProtocol() wrapper
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 48s
e618f112b5
Limit number of boot menu entries to match box size, this usually should be enough to display all entries
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
46253c0503
Fix input field text positioning
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
acacc3f2e8
Add ability to produce linker map file
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
39208ac1cd
Let BlDisplayInputDialog() work on a copy of input text and save it only on ENTER key press
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
5425abb19f
Simplify BlDisplayInputDialog() saving input buffer
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 28s
3a0fd18211
Add missing comment
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
0055d3eaa5
Remove dummy2 module
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
d4252ebc05
Cleanup dummy module a bit
Builds / ExectOS (amd64) (push) Failing after 17s
Builds / ExectOS (i686) (push) Failing after 15s
46ebe5c250
Cleanup dummy module a bit #2
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
490501763f
Cleanup code
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
64b23a3e7d
Enable linker map for XTLDR and its modules
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 45s
c0f99cc798
Loader shell stub
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
ee0603c318
Import old and deprecated 'pecoff_o' module from old XTLDR
Builds / ExectOS (amd64) (push) Failing after 38s
Builds / ExectOS (i686) (push) Failing after 15s
45e2a7ec66
Export BlDisplayInputDialog() in XTLDR protocol
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
b5b7c1f86e
Return STATUS_EFI_PROTOCOL_ERROR
Builds / ExectOS (amd64) (push) Failing after 30s
Builds / ExectOS (i686) (push) Failing after 15s
a0700280c4
Fix build
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
8820440fb7
Install 'pecoff_o' module in correct place
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
339bbe163d
Import old and deprecated 'fb_o' module from old XTLDR
Builds / ExectOS (amd64) (push) Successful in 48s
Builds / ExectOS (i686) (push) Successful in 28s
4c0f4e74c2
Implement BlGetMemoryMap() routine
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 29s
a90cf727c5
Import old and deprecated 'xtos_o' module from old XTLDR
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
e0b31ad945
Increase buffer size
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 26s
8ccf37a1c1
Remove empty line
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
b79e650f5f
Remove test debug message
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 28s
dae5900bc7
Register 'XTOS' boot protocol support
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
927d256038
Move BlGetXtLdrProtocol() routine into separate file to avoid linking modules with whole libxtldr.lib statically
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 25s
17049d7e82
Store additional information about module, for further processing
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 27s
2734245d06
Separate library from boot loader
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 38s
f99b3c1136
Cleanup xtos_o module
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 29s
ed8b93beb0
Add temporary solution for mapping modules code
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
d7abe40e5d
Map XTLDR modules code to prevent PF exception after enabling paging
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 29s
297ac1acf6
Replace obsolete bootloader code, since new one can already start XTOS kernel
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2f8820a021
Update bootloader configuration
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
5d5f613ef5
Always check module mapping status and optionally map xtldr code
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 30s
9443da9817
Close directory after reading configuration file
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 32s
3fee69cbdf
Close directory after reading module file
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
2864fdd790
Allow to read XTLDR data from alternative arch-specific directory; this allows to prepare combined 32 & 64 bit disk
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
f49966b462
Don't print FB information
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 28s
602f8c1c0e
Fix memory mappings and exiting boot services for i686
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
60ce943cab
Cleanup
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
fd330e9631
belliash added 1 commit 2024-01-07 00:04:43 +01:00
Merge master branch
Builds / ExectOS (amd64) (push) Successful in 54s
Builds / ExectOS (i686) (push) Successful in 28s
244e149878
belliash added 1 commit 2024-01-07 00:08:24 +01:00
Add missing forward reference
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
de2100352d
belliash added 1 commit 2024-01-07 00:11:42 +01:00
Cleanup includes
Builds / ExectOS (amd64) (push) Successful in 57s
Builds / ExectOS (i686) (push) Successful in 27s
bb09741e0a
belliash added 1 commit 2024-01-07 00:13:15 +01:00
Correct project name
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
9aab75dae4
belliash added 1 commit 2024-01-07 00:14:52 +01:00
Update README
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
d768337b6a
belliash added 1 commit 2024-01-07 00:18:47 +01:00
Merge branch 'master' into xtldr_rewrite
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
a0e7e3b2c4
belliash added 1 commit 2024-01-07 12:01:30 +01:00
Print prompt
Builds / ExectOS (amd64) (push) Successful in 49s
Builds / ExectOS (i686) (push) Successful in 24s
cd03f4fbca
belliash added 1 commit 2024-01-07 14:02:22 +01:00
Set defaukt colors before clearing console screen
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 30s
2d544e5993
belliash added 1 commit 2024-01-07 14:05:03 +01:00
Color shell prompt
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
1f9b03b11b
belliash added 1 commit 2024-01-07 14:40:57 +01:00
Update help
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 29s
5653393002
belliash added 1 commit 2024-01-07 15:20:21 +01:00
Make a copy of dialog box message as it gets modified by RtlTokenizeWideString()
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 45s
fbcdc0d8d0
belliash added 1 commit 2024-01-07 15:27:44 +01:00
Cleanup
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 44s
b8a17a74c1
belliash added 1 commit 2024-01-07 19:26:26 +01:00
This is no longer an issue
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
b85b5a9655
belliash added 1 commit 2024-01-07 19:35:29 +01:00
Add shell related routines documentation
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2c6525cedd
belliash added 1 commit 2024-01-07 20:00:39 +01:00
Print status code where applicable
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
5106ed7bdc
belliash added 1 commit 2024-01-07 20:55:05 +01:00
Rename Protocol->Register() to Protocol->Install()
Builds / ExectOS (amd64) (push) Failing after 16s
Builds / ExectOS (i686) (push) Failing after 14s
7fd5273476
belliash added 1 commit 2024-01-07 20:58:26 +01:00
Rename Protocol->Register() to Protocol->Install(), add missing header changes
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
87a586ed68
belliash added 1 commit 2024-01-08 16:13:24 +01:00
Improvements to protocol support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
17c0fdecce
Author
Owner

This is a list of things that need/should be done at some time to make XTLDR complete product. They are not critical to boot ExectOS and fixes many errors present in master branch, thus I think we should merge.

This is a list of things that need/should be done at some time to make XTLDR complete product. They are not critical to boot ExectOS and fixes many errors present in master branch, thus I think we should merge.
@@ -27,3 +27,2 @@
Timeout=30
Theme=Fancy
Default=ExectOS
Modules=beep

There is no such module, so this configuration is invalid.

There is no such module, so this configuration is invalid.
Author
Owner

Of course it exists. ;)

Of course it exists. ;)
Ghost marked this conversation as resolved
belliash added 1 commit 2024-01-08 19:36:22 +01:00
Update dummy module
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 25s
91b7cd68ba
belliash added 1 commit 2024-01-08 19:57:03 +01:00
Cleanup dummy module
Builds / ExectOS (amd64) (push) Successful in 55s
Builds / ExectOS (i686) (push) Successful in 28s
332a9447a3
belliash added 1 commit 2024-01-08 22:51:39 +01:00
Add 'dummy' module routines forward references
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
7a18a0caeb
belliash added 1 commit 2024-01-08 22:53:19 +01:00
Allow modules to read boot loader configuration
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 26s
b561bc80cc
belliash added 1 commit 2024-01-08 23:17:06 +01:00
Import 'beep' module
Builds / ExectOS (amd64) (push) Successful in 1m3s
Builds / ExectOS (i686) (push) Successful in 26s
a674d2eb1b
belliash added 1 commit 2024-01-09 16:25:05 +01:00
Return a copy of config value, so that it won't get altered
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
cb4bd3db8b
Ghost approved these changes 2024-01-09 16:38:02 +01:00
belliash merged commit 4412d4fc98 into master 2024-01-09 18:51:04 +01:00
belliash deleted branch xtldr_rewrite 2024-01-09 18:51:05 +01:00
Sign in to join this conversation.