)]}'
{
  "commit": "312433cd3d90ebd5ee44bc1795b10e3846c1f96c",
  "tree": "b9797382071153359c87386163f70bdfbd074da0",
  "parents": [
    "82ca09f1f372200046dad13db6e81829ff067caf"
  ],
  "author": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Sat Sep 28 03:15:48 2019 +0200"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Fri Oct 04 21:34:26 2019 +0000"
  },
  "message": "gma pcode: Move and revise mailbox handling\n\nUnify the PCODE mailbox implementations (Linux\u0027 i915 uses the same\nimplementation since Sandy Bridge, too) and add `Wait` and `Success`\nparameters so we can act correctly if something failed. This adds\na lot of boilerplate. But we keep it contained in the new package\n`PCode` and the code outside it looks cleaner and handles errors\nmore gracefully.\n\nIn GNATprove, we track state of the mailbox\u0027 readiness in a ghost\nvariable `Mailbox_Ready`. This allows us to skip the initial wait\nloop if we know that we already waited at the end of a previous\ncall. The first call to a mailbox procedure has to be made with\n`Wait_Ready \u003d\u003e True`.\n\nAlso, start to experiment with a `use` clause for the `Register`\npackage. It allows us to write a little more condensed code, with-\nout sacrificing much (in this program we can expect that `Read`/\n`Write` means register access?) So far it looks good?\n\nChange-Id: I5daa3effb7ab774e4a35bd8794b0f67f57e4caa4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35710\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7c5403beef4bc96fd6417a810988f3b6576bf6d2",
      "old_mode": 33188,
      "old_path": "common/Makefile.inc",
      "new_id": "67b6c175a37f341803465b4e3a5117a503947eca",
      "new_mode": 33188,
      "new_path": "common/Makefile.inc"
    },
    {
      "type": "modify",
      "old_id": "f6576d95e056c551d2bee87cc1143ed987a7b79a",
      "old_mode": 33188,
      "old_path": "common/broxton/hw-gfx-gma-power_and_clocks.adb",
      "new_id": "77f6b359a0fcf5a4485dcbd695f6d8ea5633c030",
      "new_mode": 33188,
      "new_path": "common/broxton/hw-gfx-gma-power_and_clocks.adb"
    },
    {
      "type": "modify",
      "old_id": "1c232540895c8a3cf25b435d9fd5f7bf9e8eccb7",
      "old_mode": 33188,
      "old_path": "common/haswell_shared/hw-gfx-gma-power_and_clocks_haswell.adb",
      "new_id": "332c3dfa06c3dae4d497997d694cc3faf29932c1",
      "new_mode": 33188,
      "new_path": "common/haswell_shared/hw-gfx-gma-power_and_clocks_haswell.adb"
    },
    {
      "type": "modify",
      "old_id": "87f5d07e81029b178ed67b2fa9bf23ed158d2292",
      "old_mode": 33188,
      "old_path": "common/haswell_shared/hw-gfx-gma-power_and_clocks_haswell.ads",
      "new_id": "7c5a647769f693a9366904540007629813b5f44b",
      "new_mode": 33188,
      "new_path": "common/haswell_shared/hw-gfx-gma-power_and_clocks_haswell.ads"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dd0fc6e89dbf665cb4ea2496006e9f035942a658",
      "new_mode": 33188,
      "new_path": "common/hw-gfx-gma-pcode.adb"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ef2564a3e942c7fb2b5cd2cd6f7378cf389aeff1",
      "new_mode": 33188,
      "new_path": "common/hw-gfx-gma-pcode.ads"
    },
    {
      "type": "modify",
      "old_id": "15d234a810d8810c3d6c07d25520ff14326e883d",
      "old_mode": 33188,
      "old_path": "common/hw-gfx-gma.adb",
      "new_id": "dbdee5c9f2374f7f12ef0ae7469585252e8eef6c",
      "new_mode": 33188,
      "new_path": "common/hw-gfx-gma.adb"
    },
    {
      "type": "modify",
      "old_id": "c6eb2cfda103fa045cca1159c9464b1072ff5760",
      "old_mode": 33188,
      "old_path": "common/skylake/hw-gfx-gma-power_and_clocks_skylake.adb",
      "new_id": "2ab7f21ab1729f6fd61b0ff1f484db556b80140a",
      "new_mode": 33188,
      "new_path": "common/skylake/hw-gfx-gma-power_and_clocks_skylake.adb"
    }
  ]
}
