console/hw-debug_sink: Do not cache state of log level
As we suppress output now before console_init() is done, the log level read at start of ramstage is always -1. Change-Id: Ia078d647c47aaa41ca9f2df9cf8506148ef86538 Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/26832 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
parent
5ce400178a
commit
4a00ccc748
|
@ -19,14 +19,19 @@ use type Interfaces.C.int;
|
||||||
|
|
||||||
package body HW.Debug_Sink is
|
package body HW.Debug_Sink is
|
||||||
|
|
||||||
Sink_Enabled : Boolean;
|
function console_log_level
|
||||||
|
(msg_level : Interfaces.C.int)
|
||||||
|
return Interfaces.C.int;
|
||||||
|
pragma Import (C, console_log_level, "console_log_level");
|
||||||
|
|
||||||
|
Msg_Level_BIOS_DEBUG : constant := 7;
|
||||||
|
|
||||||
procedure console_tx_byte (chr : Interfaces.C.char);
|
procedure console_tx_byte (chr : Interfaces.C.char);
|
||||||
pragma Import (C, console_tx_byte, "console_tx_byte");
|
pragma Import (C, console_tx_byte, "console_tx_byte");
|
||||||
|
|
||||||
procedure Put (Item : String) is
|
procedure Put (Item : String) is
|
||||||
begin
|
begin
|
||||||
if Sink_Enabled then
|
if console_log_level (Msg_Level_BIOS_DEBUG) /= 0 then
|
||||||
for Idx in Item'Range loop
|
for Idx in Item'Range loop
|
||||||
console_tx_byte (Interfaces.C.To_C (Item (Idx)));
|
console_tx_byte (Interfaces.C.To_C (Item (Idx)));
|
||||||
end loop;
|
end loop;
|
||||||
|
@ -35,7 +40,7 @@ package body HW.Debug_Sink is
|
||||||
|
|
||||||
procedure Put_Char (Item : Character) is
|
procedure Put_Char (Item : Character) is
|
||||||
begin
|
begin
|
||||||
if Sink_Enabled then
|
if console_log_level (Msg_Level_BIOS_DEBUG) /= 0 then
|
||||||
console_tx_byte (Interfaces.C.To_C (Item));
|
console_tx_byte (Interfaces.C.To_C (Item));
|
||||||
end if;
|
end if;
|
||||||
end Put_Char;
|
end Put_Char;
|
||||||
|
@ -45,15 +50,4 @@ package body HW.Debug_Sink is
|
||||||
Put_Char (Character'Val (16#0a#));
|
Put_Char (Character'Val (16#0a#));
|
||||||
end New_Line;
|
end New_Line;
|
||||||
|
|
||||||
----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
function console_log_level
|
|
||||||
(msg_level : Interfaces.C.int)
|
|
||||||
return Interfaces.C.int;
|
|
||||||
pragma Import (C, console_log_level, "console_log_level");
|
|
||||||
|
|
||||||
Msg_Level_BIOS_DEBUG : constant := 7;
|
|
||||||
|
|
||||||
begin
|
|
||||||
Sink_Enabled := console_log_level (Msg_Level_BIOS_DEBUG) /= 0;
|
|
||||||
end HW.Debug_Sink;
|
end HW.Debug_Sink;
|
||||||
|
|
Loading…
Reference in New Issue