diff options
author | Nico Huber <nico.huber@secunet.com> | 2018-06-04 15:10:54 +0200 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2018-06-07 16:35:20 +0000 |
commit | 4a00ccc74810b7761a046cf125ddf6855f7f7064 (patch) | |
tree | 79e961bc7e9ef134ad03c44dff35eeff28c941a8 | |
parent | 5ce400178a31cab7598cf6244b906ea435753115 (diff) |
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>
-rw-r--r-- | src/console/hw-debug_sink.adb | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/console/hw-debug_sink.adb b/src/console/hw-debug_sink.adb index 5a165562dc..4331b87549 100644 --- a/src/console/hw-debug_sink.adb +++ b/src/console/hw-debug_sink.adb @@ -19,14 +19,19 @@ use type Interfaces.C.int; 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); pragma Import (C, console_tx_byte, "console_tx_byte"); procedure Put (Item : String) is begin - if Sink_Enabled then + if console_log_level (Msg_Level_BIOS_DEBUG) /= 0 then for Idx in Item'Range loop console_tx_byte (Interfaces.C.To_C (Item (Idx))); end loop; @@ -35,7 +40,7 @@ package body HW.Debug_Sink is procedure Put_Char (Item : Character) is begin - if Sink_Enabled then + if console_log_level (Msg_Level_BIOS_DEBUG) /= 0 then console_tx_byte (Interfaces.C.To_C (Item)); end if; end Put_Char; @@ -45,15 +50,4 @@ package body HW.Debug_Sink is Put_Char (Character'Val (16#0a#)); 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; |