coreboot-kgpe-d16/src/console/hw-debug_sink.adb

52 lines
1.4 KiB
Ada

--
-- This file is part of the coreboot project.
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; version 2 of the License.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
with Interfaces.C;
use type Interfaces.C.int;
package body HW.Debug_Sink is
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 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;
end if;
end Put;
procedure Put_Char (Item : Character) is
begin
if console_log_level (Msg_Level_BIOS_DEBUG) /= 0 then
console_tx_byte (Interfaces.C.To_C (Item));
end if;
end Put_Char;
procedure New_Line is
begin
Put_Char (Character'Val (16#0a#));
end New_Line;
end HW.Debug_Sink;