mutime: Make Sinfo an imported constant

The subject info data structure is static and is not changed during
runtime. Make Sinfo an imported constant and adjust refinement of
abstract timer state and global contract of Hz function accordingly.
They are no longer volatile.

Change-Id: I5729bc7f2d77c5c51a6cab2edc7953e95c9e4d29
Signed-off-by: Adrian-Ken Rueegsegger <ken@codelabs.ch>
Reviewed-on: https://review.coreboot.org/c/libhwbase/+/38982
Tested-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/common/hw-time-timer.ads b/common/hw-time-timer.ads
index 90978df..2bec99b 100644
--- a/common/hw-time-timer.ads
+++ b/common/hw-time-timer.ads
@@ -15,8 +15,7 @@
 private package HW.Time.Timer
    with
       Abstract_State => ((Timer_State with
-                           Part_Of => HW.Time.State,
-                           External => Async_Writers),
+                           Part_Of => HW.Time.State),
                          (Abstract_Time with
                            Part_Of => HW.Time.State,
                            External => Async_Writers))
@@ -38,7 +37,6 @@
 
    function Hz return T
    with
-      Volatile_Function,
       Global => (Input => Timer_State);
 
 end HW.Time.Timer;
diff --git a/common/mutime/hw-time-timer.adb b/common/mutime/hw-time-timer.adb
index c683d6f..8e9b497 100644
--- a/common/mutime/hw-time-timer.adb
+++ b/common/mutime/hw-time-timer.adb
@@ -25,10 +25,9 @@
      := ((Musinfo.Subject_Info_Type_Size + (16#1000# - 1))
          / 16#1000#) * 16#1000#;
 
-   Sinfo : Musinfo.Subject_Info_Type
+   Sinfo : constant Musinfo.Subject_Info_Type
    with
-      Volatile,
-      Async_Writers,
+      Import,
       Address => System'To_Address (Sinfo_Base_Address);
 
    Sched_Info : Muschedinfo.Scheduling_Info_Type