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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
7f41f83026
Initial XTLDR import
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
4076175436
Initialize the UEFI console
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
03b6e9cd90
Let UEFI firmware load xtldr into lower half
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
b1ef23148b
Implement BmDisableCursor(), BmEnableCursor() and BmPrintChar() routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
f0fbeadc1c
Add string manipulation support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
78ac03b039
Include more headers
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 24s
Builds / ExectOS (i686) (push) Successful in 28s
26cee38e31
Add missing whitespace character to the comment
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 25s
6ba0557392
Implement BmPrint() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
f161b37faf
Early print XTLDR version
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
a99ce415ca
Include iotypes as well
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
40696e2a1e
Basic memory support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 24s
3fc97ae98b
Add missing forward references
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
5e4248351e
Implement BmActivateSerialIOController() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
e302f662bb
Initial XTLDR configuration
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
ab7fa5ffa4
Add XTBM_CONFIGURATION structure definition
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
55bd9e326f
Refactor part 1
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 14s
Builds / ExectOS (i686) (push) Failing after 14s
fce8a50321
Refactor part 2
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
a66456979a
Refactor part 3
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
d2f06a2758
Refactor part 4
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 23s
023f2c72b3
Add debug port type definitions
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 24s
Builds / ExectOS (i686) (push) Successful in 25s
a101ddf555
Include hltypes header
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 23s
6a03db6fcd
Refactor part 5; Implement debugging ports
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
9f36d397f0
Disable watchdog timer
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
9a3e0f69fa
Refactor part 6
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 46s
2b2efd0dd3
Correct typo
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
aea69a33b9
Add XTLDR protocol support
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
02cd8efde9
Add XTLDR protocol support, add missing source file
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
c4f1429a3b
Refactor, part 7; register XTLDR protocol
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 28s
6733146b71
Improvements in string and wide string support
Some checks failed
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 48s
cd1ab2128b
Import volumes suppport
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2356f4da54
Compile volume.c
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
2c132d4ab5
Discover and enumerate EFI block devices
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 14s
31c8e502c5
Add missing block devices definitions
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
a413ae852e
Check block devices enumeration status
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
3025338e71
Add basic volume support to XTLDR protocol
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
a261c68808
Compare input parameters, while ignoring differences in case
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
368035c105
BUGFIX: Do not cut last character
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
3bd4332573
Compare input parameters, while ignoring differences in case
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
089c2213a4
Implement BlReadFile() routine
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 19s
Builds / ExectOS (i686) (push) Failing after 15s
212091811f
Fix build
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
e1be0e56ea
Implement BlpLoadConfigurationFile() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
40e7b29af8
Reorganise bootman.h
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 27s
87dceb0ba7
Implement RtlTrimLeftString(), RtlTrimRightString() and RtlTrimString() routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 27s
b57ee630fd
Initial code for reading configuration from a file
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 19s
Builds / ExectOS (i686) (push) Failing after 15s
a06f32c61d
Fix build
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 25s
0cea10ad42
Implement BlConsoleWrite() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 24s
02cc0cd522
Implement BlConsoleQueryMode() and BlSetCursorPosition()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
9aa2efe17f
Do not use static linked list
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
a079423174
Reorder routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 24s
2434a018c4
Implement BlSetConsoleAttributes() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
155ce1e366
Add EFI TUI definitions
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 25s
ced6909d82
Implement BlGetSecureBootStatus() and do some refactoring
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 17s
Builds / ExectOS (i686) (push) Failing after 14s
ff7ff90499
Fix build
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
616be9d9dd
Initial Text User Interface (TUI) support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 1m8s
Builds / ExectOS (i686) (push) Successful in 27s
e3a4460dbc
Fix progress bar colors
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
c649087c3e
Compile XTLDR TUI
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
ea33166efa
Add documentation to private TUI-related routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
83e555043a
Implement more wrappers and refactoring
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
74cac842a5
Almost complete TUI
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
451a84a20f
Move definitions to proper header
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 30s
d8a260795e
Add XTLDR structures forward references
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
6f0895689e
Import TUI into loader protocol
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
e0932feac8
Rename some TUI definitions
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
a45b8c62db
Update XTLDR API
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 29s
c2d40e3011
Remove leading and trialing quotes from config values
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
fbcf952dad
Remove unused, commented out variable
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
6983b2eeac
Implement BlInitializeBootMenuList()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
a7781c4b0b
Implement boot menu skeleton
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
019fdab193
Add separate definitions for XTLDR version
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
edcce638be
Semi-functional code for displaying boot menu
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
a7c345a9b2
Add more debugging
All checks were successful
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
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 28s
5ee6377080
Get timeout value from configuration
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 28s
32042ef643
Fix XTLDR configuration
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 26s
ec861c6296
Implement BlClearConsoleLine() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 24s
10aaf7e24e
Quick fixes and improvements to BlDisplayBootMenu()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
0c5f2d18b6
Formatting
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 25s
57b6037dd6
Add a way to define custom boot menu handler
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
ea5365dcfd
Cleanup
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
c5b6aa108d
Prevent inverted colors
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 25s
4b683eb2cd
If any of this occur, return error status code
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
e99afaba41
Update XTLDR config file
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 26s
e686b6f342
Initial modules support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
ea32946bbd
Small fixes
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
08fb9b92d5
Store SecureBoot status
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
aa03fc9cb2
Another improvements to module loading support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
effde90ece
Store module dependencies in a linked list
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 27s
1d61b2fb6a
Clean up code a bit
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
a65c22c9c9
Add boot protocol parameters
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
5b64cf21a0
Improvements to EFI volume support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
9aaf8ddb68
Allocate and copy the appropriate amount of memory
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 44s
aa4f917fa7
Add support for boot protocols
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
b4ef1932ab
Load boot loader modules
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
fc3d236405
Move XTLDR initialization code out of EFI utils
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
167c09be0a
Update boot loader configuration file
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
096b65c432
Initial version of XTBL_EXECUTABLE_IMAGE_PROTOCOL
All checks were successful
Builds / ExectOS (i686) (push) Successful in 30s
Builds / ExectOS (amd64) (push) Successful in 30s
05865fd4c0
Comment out unnecessary code
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
835d2f3551
Loader protocol must be globally accessible
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
e728b9d299
Implement BlGetXtLdrProtocol()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 26s
f4871801a7
Fix how GUID is passed to BlInvokeBootProtocol()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 27s
89caaa977e
Update dummy module
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
35f36adfa6
Implement BlRegisterProtocol() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
09ca6dace9
NULLify a list of modules
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 26s
e1670e5d58
Add missing description for BlDisplayBootMenu()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
afb503961c
Use BlRegisterProtocol() wrapper
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
46253c0503
Fix input field text positioning
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
acacc3f2e8
Add ability to produce linker map file
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 25s
5425abb19f
Simplify BlDisplayInputDialog() saving input buffer
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 28s
3a0fd18211
Add missing comment
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
0055d3eaa5
Remove dummy2 module
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
d4252ebc05
Cleanup dummy module a bit
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 17s
Builds / ExectOS (i686) (push) Failing after 15s
46ebe5c250
Cleanup dummy module a bit #2
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
490501763f
Cleanup code
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
64b23a3e7d
Enable linker map for XTLDR and its modules
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 45s
c0f99cc798
Loader shell stub
All checks were successful
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
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 38s
Builds / ExectOS (i686) (push) Failing after 15s
45e2a7ec66
Export BlDisplayInputDialog() in XTLDR protocol
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 15s
Builds / ExectOS (i686) (push) Failing after 15s
b5b7c1f86e
Return STATUS_EFI_PROTOCOL_ERROR
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 30s
Builds / ExectOS (i686) (push) Failing after 15s
a0700280c4
Fix build
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
8820440fb7
Install 'pecoff_o' module in correct place
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 48s
Builds / ExectOS (i686) (push) Successful in 28s
4c0f4e74c2
Implement BlGetMemoryMap() routine
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
e0b31ad945
Increase buffer size
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 26s
8ccf37a1c1
Remove empty line
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
b79e650f5f
Remove test debug message
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 28s
dae5900bc7
Register 'XTOS' boot protocol support
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 25s
17049d7e82
Store additional information about module, for further processing
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 27s
2734245d06
Separate library from boot loader
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 38s
f99b3c1136
Cleanup xtos_o module
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 29s
ed8b93beb0
Add temporary solution for mapping modules code
All checks were successful
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
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2f8820a021
Update bootloader configuration
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 30s
9443da9817
Close directory after reading configuration file
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 32s
3fee69cbdf
Close directory after reading module file
All checks were successful
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
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 29s
f49966b462
Don't print FB information
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 28s
602f8c1c0e
Fix memory mappings and exiting boot services for i686
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 26s
60ce943cab
Cleanup
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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()
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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()
Some checks failed
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
All checks were successful
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
All checks were successful
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.
Ghost reviewed 2024-01-08 16:49:51 +01:00
@ -27,3 +27,2 @@
Timeout=30
Theme=Fancy
Default=ExectOS
Modules=beep
First-time contributor

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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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.
No description provided.