dynamic_mmio: Use volatile access type
GCC 11 complains about an incompatible access type, e.g.
hw-pci-dev.adb:28:04: instantiation error at hw-mmio_range.adb:32
hw-pci-dev.adb:28:04: instantiation error at hw-pci-mmconf.adb:36
hw-pci-dev.adb:28:04: designated type and access type are not compatible with respect to volatility due to Async_Readers, Async_Writers, Effective_Reads, Effective_Writes
Declaring the access type volatile works around the issue, but we
have to also treat `Range_A` as external state now. Declaring it
as `Base_Address` state was an odd hack anyway.
To avoid further hassle, we also disable `SPARK_Mode`. Treating
this as SPARK code was never intended, and we use a shadow imple-
mentation (`proof/hw-mmio_range.adb`) for proofs anyway.
TEST=Doesn't affect coreboot binaries.
Signed-off-by: Nico Huber <firstname.lastname@example.org>
Reviewed-by: Jacob Garber <email@example.com>
Reviewed-by: Angel Pons <firstname.lastname@example.org>
Reviewed-by: Patrick Georgi <email@example.com>
Tested-by: Patrick Georgi <firstname.lastname@example.org>
1 file changed