coreboot-libre-fam15h-rdimm/3rdparty/libhwbase/proof/hw-mmio_range.adb

46 lines
1.2 KiB
Ada

--
-- Copyright (C) 2015 secunet Security Networks AG
--
-- 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; either version 2 of the License, or
-- (at your option) any later version.
--
-- 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.
--
package body HW.MMIO_Range
with
Refined_State =>
(State => Range_A,
Base_Address => Address)
is
Range_A : Array_T
with
Volatile,
Async_Readers, Async_Writers, Effective_Reads, Effective_Writes,
Import;
Address : Word64 := Base_Addr;
procedure Read (Value : out Element_T; Index : in Index_T) is
begin
Value := Range_A (Index);
end Read;
procedure Write (Index : in Index_T; Value: in Element_T) is
begin
Range_A (Index) := Value;
end Write;
procedure Set_Base_Address (Base : Word64) is
begin
Address := Base;
end Set_Base_Address;
end HW.MMIO_Range;