sd-boot: Save and restore console attributes
This also only writes the message on a new line if we aren't at the beginning of one already.
This commit is contained in:
+8
-1
@@ -493,14 +493,21 @@ void log_error_stall(const CHAR16 *fmt, ...) {
|
||||
|
||||
assert(fmt);
|
||||
|
||||
INT32 attr = ST->ConOut->Mode->Attribute;
|
||||
ST->ConOut->SetAttribute(ST->ConOut, EFI_LIGHTRED|EFI_BACKGROUND_BLACK);
|
||||
|
||||
Print(L"\n");
|
||||
if (ST->ConOut->Mode->CursorColumn > 0)
|
||||
Print(L"\n");
|
||||
|
||||
va_start(args, fmt);
|
||||
VPrint(fmt, args);
|
||||
va_end(args);
|
||||
|
||||
Print(L"\n");
|
||||
|
||||
ST->ConOut->SetAttribute(ST->ConOut, attr);
|
||||
|
||||
/* Give the user a chance to see the message. */
|
||||
BS->Stall(3 * 1000 * 1000);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user