)]}'
{
  "log": [
    {
      "commit": "45290d0f2dbb9f5ed79be2d4c38954a5e3d3672a",
      "tree": "fff6bd33c2b1dd565e971c5da67b5132b4d5099e",
      "parents": [
        "5421b1b9a1bf0a7c5c41fb15aba1b23f543c5190"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 14 20:15:55 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 18 10:21:45 2026 +0000"
      },
      "message": "Draw struct flashchip into struct flashprog_flashctx\n\nWe used to have a reference to a dynamically allocated  struct flashchip\ninside the flash context. But now that we only ever allocate both in one\ngo, we can let go of the reference and make it a single structure.\n\nChange-Id: I857acb1def6d133a5cbc28fc7a99b7b1a22b55e0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/494\n"
    },
    {
      "commit": "0d2b45ee8afc1f41670f08a6b3cf666805598543",
      "tree": "32e89b901580fe8efd218ed252c197872f27b6bc",
      "parents": [
        "48d4a0437ecc25d7c23df16fa1eda0d8f4ae5156"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 23 22:42:46 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 18 10:21:45 2026 +0000"
      },
      "message": "libflashprog: Allow to query bus types, voltage, and test status\n\nThis is mostly an export of the long stable internal structures. We do\nsome renames, though,  and provide the voltage range as floating point\nnumbers. While we are at it, also rename:\n* flashprog_test_status.wp      \u003d\u003e .block_protection,\n* BUS_PROG                      \u003d\u003e BUS_OPAQUE,\n* BUS_NONSPI                    \u003d\u003e BUS_PRESPI.\nThe last one is a pseudonym for the older, memory-mapped buses, and\ndoesn\u0027t include BUS_OPAQUE.\n\nAlso try to name the captured test state consistently, either `tested`\nor `status`.\n\nChange-Id: Ibefb923fa5f566daa804651aa1a9bfe5602ca364\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/482\n"
    },
    {
      "commit": "a19cd392f287dfd12e9d27ce384c8903e1cde9c6",
      "tree": "d4dd20b75b5d30cb14636d2093d29438ae775802",
      "parents": [
        "cf09b3ca38bcc5f306863f21fd811e440cc0d93f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 04 15:25:27 2026 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jul 17 18:07:04 2026 +0000"
      },
      "message": "helpers: Export size-detection logic from amd_rom3read\n\nExport our logic to detect the size of a memory-mapped chip by looking\nfor repetitive reads.  This can be useful for other cases as well, for\ninstance when we don\u0027t know for sure how many address lines are connec-\nted to a parallel flash chip.\n\nChange-Id: Iccbe3aa882959baf496a04340dbfc7f552e4ef71\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/555\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "91f5152f499cb66540e69d78d3ee4b781ea31c57",
      "tree": "26c3f7dfbffbdb889958dbce611ffc426589c3d8",
      "parents": [
        "05790290bfb9999fcde9fc7833882b95c828a40e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 07 22:57:56 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 28 09:29:37 2026 +0000"
      },
      "message": "opaque: Move probing into PREPARE_POST_PROBE hook\n\nTo get rid of the flash context in probing, we have to split the\ndetection of chip parameters out into a preparation step. Below\nthe opaque-master API, things could actually stay as they are,\nwe rename `.probe` to `.prepare` though for completeness.\n\nChange-Id: Ic8418e6c5bdc49f5133cdb21efed0bf6dc2f820e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/449\n"
    },
    {
      "commit": "a193983b9647f1364e30bba56a1eef72726ccbc0",
      "tree": "ffefc51cc344409cede664cc45ba79a7df03aad1",
      "parents": [
        "1926900454166df3de18a1fa584e79dab8a48d75"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Oct 07 21:58:02 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 09 20:21:46 2026 +0000"
      },
      "message": "amd: Fall back to reading rom3 range in case of ROM Armor\n\nAMD is pushing ROM Armor forward, which leaves the SPI handling to\nthe PSP and only a mailbox interface (guarded by SMM) for the main\nCPU. With the current ROM Armor 3, there is no opt-out in the BIOS\nsetup anymore.\n\nOnly access left for the main CPU is the read-only memory mapping.\nWe make this available when active ROM Armor is detected (SPI BAR\nregister reads all ff). Probing of the flash size is peculiar, we\ncan only try to guess it when memory contents look repetitive.\n\nTo not pollute the `amd_spi100` driver, we start a new one.\n\nStory: https://icon.sourcearcade.org/posts/amd_firmware_reading/\nChange-Id: Ib4866084fe80853fd66501176dbc6b766750062f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/350\n"
    }
  ]
}
