summaryrefslogtreecommitdiffhomepage
path: root/Private/EFIKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-31 14:41:48 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-31 14:41:48 +0100
commiteb2046d6cc73540f540b30e94bf4593ddf24100e (patch)
tree914d18ef616590806855a3c43bc2d2e1f17a420f /Private/EFIKit
parentc660c54ef256688553e3face26a8f6b5fe8553a7 (diff)
- Update UEFI implementation of SimpleTextProtocol.
- Working on BFileReader. - Working on Interrupts for AMD64. - Refactor copyright remove year. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/EFIKit')
-rw-r--r--Private/EFIKit/EFI.hxx25
-rw-r--r--Private/EFIKit/EFILib.hxx8
2 files changed, 20 insertions, 13 deletions
diff --git a/Private/EFIKit/EFI.hxx b/Private/EFIKit/EFI.hxx
index febed042..af9c0de9 100644
--- a/Private/EFIKit/EFI.hxx
+++ b/Private/EFIKit/EFI.hxx
@@ -45,6 +45,11 @@ typedef WideChar EfiCharType;
typedef UInt64 (*EfiTextString)(struct EfiSimpleTextOutputProtocol *This,
const WideChar *OutputString);
+typedef UInt64 (*EfiTextAttrib)(struct EfiSimpleTextOutputProtocol *This,
+ const WideChar Attribute);
+
+typedef UInt64 (*EfiTextClear)(struct EfiSimpleTextOutputProtocol *This);
+
typedef UInt64 (*EfiLoadFile)(EfiLoadFileProtocol *This,
EfiDevicePathProtocol *FilePath,
Boolean BootPolicy, UInt32 *BufferSize,
@@ -364,16 +369,16 @@ typedef struct EfiBootServices {
@brief PrintF like protocol.
*/
typedef struct EfiSimpleTextOutputProtocol {
- UInt64 Reset;
+ VoidPtr Reset;
EfiTextString OutputString;
- UInt64 TestString;
- UInt64 QueryMode;
- UInt64 SetMode;
- UInt64 SetAttribute;
- UInt64 ClearScreen;
- UInt64 SetCursorPosition;
- UInt64 EnableCursor;
- UInt64 Mode;
+ VoidPtr TestString;
+ VoidPtr QueryMode;
+ VoidPtr SetMode;
+ EfiTextAttrib SetAttribute;
+ EfiTextClear ClearScreen;
+ VoidPtr SetCursorPosition;
+ VoidPtr EnableCursor;
+ VoidPtr Mode;
} EfiSimpleTextOutputProtocol;
/**
@@ -413,4 +418,6 @@ typedef struct EfiIPV6 {
UInt8 Addr[16];
} EfiIPV6;
+#define kEFIYellow 0x0E
+
#endif // __EFI__
diff --git a/Private/EFIKit/EFILib.hxx b/Private/EFIKit/EFILib.hxx
index 147b4fe2..0d076b24 100644
--- a/Private/EFIKit/EFILib.hxx
+++ b/Private/EFIKit/EFILib.hxx
@@ -45,13 +45,13 @@ inline void KeInitEFI(EfiSystemTable* SystemTable) noexcept {
BS = ST->BootServices;
}
-inline void KeRuntimeStop(const EfiCharType* File,
+inline void KeRuntimeStop(const EfiCharType* ErrorCode,
const EfiCharType* Reason) noexcept {
ST->ConOut->OutputString(ST->ConOut, L"*** STOP ***\r\n");
- ST->ConOut->OutputString(ST->ConOut, L"*** File:");
- ST->ConOut->OutputString(ST->ConOut, File);
- ST->ConOut->OutputString(ST->ConOut, L", Reason:");
+ ST->ConOut->OutputString(ST->ConOut, L"*** ErrorCode: ");
+ ST->ConOut->OutputString(ST->ConOut, ErrorCode);
+ ST->ConOut->OutputString(ST->ConOut, L", Reason: ");
ST->ConOut->OutputString(ST->ConOut, Reason);
ST->ConOut->OutputString(ST->ConOut, L" ***\r\n");