gma config: Make Config.CPU and Config.CPU_Var variable

Introduce CONFIG_GFX_GMA_DYN_CPU that, if set to `y`, makes `Config.CPU`
and `Config.CPU_Var` variables. All other config values derived from
these are turned into expression functions.

Change-Id: If409b5afbd975f3a42e28ff191a092f89ece5ae2
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/libgfxinit/+/27068
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/common/hw-gfx-gma.adb b/common/hw-gfx-gma.adb
index 1d97adb..885072c 100644
--- a/common/hw-gfx-gma.adb
+++ b/common/hw-gfx-gma.adb
@@ -528,11 +528,11 @@
 
    pragma Warnings
      (GNATprove, Off, """Registers.Register_State"" * is not modified*",
-      Reason => "Power_Up_VGA is only effective on certain generations.");
+      Reason => "Power_Up_VGA is only effective in certain configurations.");
    procedure Power_Up_VGA
    with
       Refined_Global =>
-        (Input => (Cur_Configs, Time.State),
+        (Input => (Cur_Configs, Config.Variable, Time.State),
          In_Out => (Registers.Register_State),
          Proof_In => (Initialized))
    is
@@ -554,7 +554,7 @@
      (GNATprove, Off, "no check message justified*", Reason => "see below");
    pragma Annotate
      (GNATprove, Intentional, "unused global",
-      "Power_Up_VGA is only effective on certain generations.");
+      "Power_Up_VGA is only effective in certain configurations.");
    pragma Warnings (GNATprove, On, "no check message justified*");
    pragma Warnings
      (GNATprove, On, """Registers.Register_State"" * is not modified*");