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

This commit is contained in:
2023-12-11 16:31:15 +01:00
parent 6ffedf6302
commit 0cea10ad42
9 changed files with 344 additions and 124 deletions

View File

@@ -56,6 +56,10 @@ BlFindVolumeDevicePath(IN PEFI_DEVICE_PATH_PROTOCOL FsHandle,
IN CONST PWCHAR FileSystemPath,
OUT PEFI_DEVICE_PATH_PROTOCOL* DevicePath);
XTCDECL
PWCHAR
BlGetConfigValue(IN CONST PWCHAR ConfigName);
XTCDECL
EFI_STATUS
BlGetVolumeDevicePath(IN PCHAR SystemPath,
@@ -100,6 +104,11 @@ EFI_STATUS
BlOpenXtProtocol(OUT PVOID *ProtocolHandler,
IN PEFI_GUID ProtocolGuid);
XTCDECL
EFI_STATUS
BlSetConfigValue(IN CONST PWCHAR ConfigName,
IN CONST PWCHAR ConfigValue);
XTCDECL
VOID
BlSleepExecution(IN ULONG_PTR Milliseconds);
@@ -115,7 +124,7 @@ BlpActivateSerialIOController();
XTCDECL
VOID
BlpConsoleInitialize();
BlpInitializeConsole();
XTCDECL
VOID
@@ -168,19 +177,23 @@ BlpInitializeSerialPort(IN ULONG PortNumber,
IN ULONG BaudRate);
XTCDECL
VOID
EFI_STATUS
BlpLoadConfiguration();
XTCDECL
EFI_STATUS
BlpParseCommandLine(VOID);
XTCDECL
EFI_STATUS
BlpParseConfigurationFile(IN CONST PCHAR RawConfig,
OUT PLIST_ENTRY Configuration);
BlpParseConfigFile(IN CONST PCHAR RawConfig,
OUT PLIST_ENTRY Configuration);
XTCDECL
EFI_STATUS
BlpReadConfigurationFile(IN CONST PWCHAR ConfigDirectory,
IN CONST PWCHAR ConfigFile,
OUT PCHAR *ConfigData);
BlpReadConfigFile(IN CONST PWCHAR ConfigDirectory,
IN CONST PWCHAR ConfigFile,
OUT PCHAR *ConfigData);
XTCDECL
EFI_STATUS
@@ -230,6 +243,6 @@ BlpStringReadPadding(IN PUINT16 *Format);
XTCDECL
VOID
BlpUpdateGlobalConfiguration(IN PWCHAR Options);
BlpUpdateConfiguration(IN PLIST_ENTRY NewConfig);
#endif /* __XTLDR_BOOTMAN_H */

View File

@@ -12,12 +12,18 @@
#include <xtblapi.h>
/* XT Boot Loader configuration data */
EXTERN XTBL_CONFIGURATION BlpConfiguration;
/* XT Boot Loader configuration list */
EXTERN PLIST_ENTRY BlpConfig;
/* XT Boot Loader debug port configuration */
EXTERN ULONG BlpDebugPort;
/* XT Boot Loader hex table */
EXTERN PUINT16 BlpHexTable;
/* XT Boot Loader menu list */
EXTERN PLIST_ENTRY BlpMenuList;
/* Serial port configuration */
EXTERN CPPORT BlpSerialPort;