libhwbase/ada
Nico Huber fc2102f560 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.

Change-Id: I9ddc8d1dafdcb41810e4c8bf29164ef7130def3f
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/c/libhwbase/+/55390
Reviewed-by: Jacob Garber <jgarber1@ualberta.ca>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Tested-by: Patrick Georgi <pgeorgi@google.com>
2021-06-13 20:10:35 +00:00
..
clock_gettime Relicense libhwbase under GPL v2+ 2016-10-20 13:05:03 +02:00
dynamic_mmio dynamic_mmio: Use volatile access type 2021-06-13 20:10:35 +00:00
posix posix file: Add procedure to query the size of a file 2017-08-20 21:16:06 +00:00
static_mmio Relicense libhwbase under GPL v2+ 2016-10-20 13:05:03 +02:00
Makefile.inc mutime: Move to common/ 2019-05-06 16:12:50 +00:00