authorgravatar for ybham6@gmail.comYusuf Bham <ybham6@gmail.com> 2024-02-16 14:04:42-05:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2024-07-22 16:23:10+03:00
logc16aeda8a66451e77c0113b5d160413f97fc72b0
treef7cb01df4d069ce7a42f4eaa9a1face39481270c
parent1fc42ed3e7ca0b74b54aaa827276d995d6c7c6cd

std.builtin.panic(uefi): also output to con_out


1 files changed, 9 insertions(+), 4 deletions(-)

lib/std/builtin.zig+9-4
...@@ -830,10 +830,15 @@ pub fn default_panic(msg: []const u8, error_return_trace: ?*StackTrace, ret_addr...@@ -830,10 +830,15 @@ pub fn default_panic(msg: []const u8, error_return_trace: ?*StackTrace, ret_addr
830 const exit_data = ExitData.create_exit_data(msg, &exit_size) catch null;830 const exit_data = ExitData.create_exit_data(msg, &exit_size) catch null;
831831
832 if (exit_data) |data| {832 if (exit_data) |data| {
833 if (uefi.system_table.std_err) |out| {833 // Output to both std_err and con_out, as std_err is easier
834 _ = out.setAttribute(uefi.protocol.SimpleTextOutput.red);834 // to read in stuff like QEMU at times, but, unlike con_out,
835 _ = out.outputString(data);835 // isn't visible on actual hardware if directly booted into
836 _ = out.setAttribute(uefi.protocol.SimpleTextOutput.white);836 inline for ([_]?*uefi.protocol.SimpleTextOutput{ uefi.system_table.std_err, uefi.system_table.con_out }) |o| {
837 if (o) |out| {
838 _ = out.setAttribute(uefi.protocol.SimpleTextOutput.red);
839 _ = out.outputString(data);
840 _ = out.setAttribute(uefi.protocol.SimpleTextOutput.white);
841 }
837 }842 }
838 }843 }
839844