)]}'
{
  "commit": "fc2102f560f25e0f2e5be91ec36646dcb69e6e1b",
  "tree": "0e4428ad10de82b614fbe399f61fd1b6be5c6350",
  "parents": [
    "a3edc6ef32d09c566b7ea3555bc753458ec63039"
  ],
  "author": {
    "name": "Nico Huber",
    "email": "nico.huber@secunet.com",
    "time": "Thu Jun 10 16:36:31 2021 +0200"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Sun Jun 13 20:10:35 2021 +0000"
  },
  "message": "dynamic_mmio: Use volatile access type\n\nGCC 11 complains about an incompatible access type, e.g.\n\nhw-pci-dev.adb:28:04: instantiation error at hw-mmio_range.adb:32\nhw-pci-dev.adb:28:04: instantiation error at hw-pci-mmconf.adb:36\nhw-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\n\nDeclaring the access type volatile works around the issue, but we\nhave to also treat `Range_A` as external state now. Declaring it\nas `Base_Address` state was an odd hack anyway.\n\nTo avoid further hassle, we also disable `SPARK_Mode`. Treating\nthis as SPARK code was never intended, and we use a shadow imple-\nmentation (`proof/hw-mmio_range.adb`) for proofs anyway.\n\nTEST\u003dDoesn\u0027t affect coreboot binaries.\n\nChange-Id: I9ddc8d1dafdcb41810e4c8bf29164ef7130def3f\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libhwbase/+/55390\nReviewed-by: Jacob Garber \u003cjgarber1@ualberta.ca\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nTested-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "86c8d1b0c628caf94bbf0abf7c898840cee86bb6",
      "old_mode": 33188,
      "old_path": "ada/dynamic_mmio/hw-mmio_range.adb",
      "new_id": "bdb6ab1a7efcd927dc49835d9fbef0bf290aa8c6",
      "new_mode": 33188,
      "new_path": "ada/dynamic_mmio/hw-mmio_range.adb"
    }
  ]
}
