)]}'
{
  "log": [
    {
      "commit": "dd6e07ab3ab12346ab68f9e93f725d651a90964d",
      "tree": "384798d6614b860a9cff68e3ed5fe0665f15dcad",
      "parents": [
        "47aa85c8fdf82b4e3b92dbcdfa3e4490c6782b69"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Feb 21 17:55:26 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 28 09:29:37 2026 +0000"
      },
      "message": "memory_bus: Pass master instead of flash to .chip_read/write\n\nThere is / should be no need to know flash-chip details in a programmer\ndriver. They should only pass data around and leave the chip details to\neach chip driver.\n\nThis will allow us to probe for chips before knowing the details and as\na bonus gets rid of many `flash.h` dependencies.\n\nChange-Id: Iae78fbbd95567134da890613114999cb14c3a011\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/437\n"
    },
    {
      "commit": "47aa85c8fdf82b4e3b92dbcdfa3e4490c6782b69",
      "tree": "965bb18274b8fb44beb583b34a8a9098b4a87ad2",
      "parents": [
        "84914db6304ccd0f6f41ba7b4f6c0a83ef66e5d0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Feb 21 14:57:20 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 28 09:29:37 2026 +0000"
      },
      "message": "memory_bus: Turn flashbase into a par_master member `rom_base`\n\nGet rid of the global `flashbase`. Treat overrides for the `rom_base`\nsimilar to `max_rom_decode`: Gather the information in `internal_data`\nand then pass it to register_par_master().\n\nChange-Id: Ib9ed7234a849fe3550200fd602226d0036da15f0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/436\n"
    },
    {
      "commit": "89569d60e3aeeec651496b2e7a2e6064d782ab3b",
      "tree": "bf0c3951886de60086d32ff6e1a850adad926da6",
      "parents": [
        "929d2e1b17a448d3352dbecb6a620ee0c1e65a58"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 23:31:40 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "memory_mapped: Reduce `decode_sizes` to a single `max_rom_decode`\n\nWe used to store the maximum decode size, i.e. the maximum memory-mapped\nrange of the flash chip, per bus type (Parallel, LPC, FWH, SPI). There\nwas no programmer in the tree that really made use of it, though:\n* The chipset drivers usually focus on a single bus type. And even if\n  they advertise the whole default set (PAR, LPC, FWH), they only pro-\n  vide a maximum decode size for one of them. The latter is probably\n  wrong, should really more than one bus type be supported.\n* PCI and external programmers all support only a single bus type, with\n  the exception of `serprog` which doesn\u0027t set a maximum decode size.\n\nWhat made the distinction even less useful is that for some chips that\nsupport multiple bus types, i.e. LPC+FWH, we can\u0027t even detect which\ntype it is. The existing code around this also only tried to provide\nthe best possible warning message at the expense of breaking the pro-\ngrammer abstraction.\n\nHence, unify the set of sizes into a single `max_rom_decode` property.\nWe store it inside the `registered_master` struct right away, to avoid\nany more use of globals.\n\nChange-Id: I2aaea18d5b4255eb843a625b016ee74bb145ed85\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72531\n"
    },
    {
      "commit": "929d2e1b17a448d3352dbecb6a620ee0c1e65a58",
      "tree": "dcbad4698ce5741a1080fc7ba89d4bd5c5804417",
      "parents": [
        "7c717c36c533f56ddc7fbac2ff944870fa0249f8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 00:47:05 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "internal: Pass programmer context down into chipset enables\n\nChipset enables potentially need access to programmer data, e.g.\nto process parameters, register masters etc.\n\nChange-Id: Iad211ff97e92d1973f981156bfa3154d1ba71d45\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72528\n"
    },
    {
      "commit": "7c717c36c533f56ddc7fbac2ff944870fa0249f8",
      "tree": "b91afaf1498cde1de33e7222632ec05999bf0b73",
      "parents": [
        "e3a26888e14d16592c2c79d1516828d3d32961a4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 00:28:15 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "internal: Pass programmer context down into board enables\n\nBoard enables potentially need access to programmer data, e.g. to\nprocess parameters, register masters etc.\n\nChange-Id: I1531a6e1be9866adc5dce74c6f62bbbeae1bd274\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72527\n"
    },
    {
      "commit": "e3a26888e14d16592c2c79d1516828d3d32961a4",
      "tree": "02d401e60defd27fe7bee194978bac782284cb39",
      "parents": [
        "2b66ad9c4465432e6f2aff2e95f1e7a556bfc3f0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jan 11 21:45:51 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "Pass programmer context to programmer-\u003einit()\n\nChange-Id: I064eb4e25c3d382e4e5bde802306698fafe5e1d0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72526\n"
    },
    {
      "commit": "0e76d99a7c0eda11515923c5457f0b5a4af9893f",
      "tree": "c914d5266909dad441bece2705593131f032c19c",
      "parents": [
        "9eec40780207a110f3ba7ea70d11c042c6d86abf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 20:22:55 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "memory_bus: Move (un)map_flash_region into par master\n\nNow that the map/unmap_flash functions are only called from memory-\nmapped chip drivers, we can safely move the hooks into the parallel\nmasters.\n\nThis also allows us to move the code away from the globals in\n`flashprog.c` into a new `memory_bus.c`.\n\nChange-Id: Ic476cf4d96200232900537b997e1d07bb4e8b809\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72522\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\n"
    },
    {
      "commit": "c3b02dce51aad2766512d1939a1b7447c2d526b8",
      "tree": "58069f464bb8a777ef06e93767813a4c5a042cb0",
      "parents": [
        "a02df33fbf1c196395a61049e60895d4ae0e0a5b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Aug 12 01:13:45 2023 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 18 19:24:39 2023 +0000"
      },
      "message": "Rebrand to flashprog and update URLs\n\nMostly automated `sed` work. As of now, URLs to the old wiki are broken\neither way, so changing them shouldn\u0027t hurt. Other URLs (e.g. to mailing\nlist archives) were hopefully filtered correctly.\n\nChange-Id: I9d43bfd0e675eff2fcbad05f304b9ce9f5006b08\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashrom-stable/+/21\n"
    },
    {
      "commit": "56684d9a2ed8a0f878472d5aa0518a3200526812",
      "tree": "020c2d8db0e05a74981b5b381c37febd46fb796d",
      "parents": [
        "78ed668a924db5dd78c3530655127f895728fe59"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Wed Sep 07 10:47:45 2022 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "drivers/: Make \u0027internal_delay\u0027 the default unless defined\n\nDrop the explicit need to specify the default \u0027internal_delay\u0027\ncallback function pointer in the programmer_entry struct.\nThis is a reasonable default for every other driver in the\ntree with only the two exceptions of ch341a_spi.c and serprog.c.\n\nThus this simplifies driver development.\n\nflashrom-stable: Updated `dirtyjtag_spi` which was added earlier.\n\nChange-Id: I17460bc2c0aebcbb48c8dfa052b260991525cc49\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/67391\nOriginal-Reviewed-by: Peter Marheine \u003cpmarheine@chromium.org\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nOriginal-Reviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nOriginal-Reviewed-by: Nikolai Artemiev \u003cnartemiev@google.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72359\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "b8db74a9b2bc91bb43942f7487c151bd598483b1",
      "tree": "8e2fdcf8c3bb95124ae1870bd7830fab6f415ee1",
      "parents": [
        "f2a1e073434485d54172e95fc88845a2bd917636"
      ],
      "author": {
        "name": "Felix Singer",
        "email": "felixsinger@posteo.net",
        "time": "Fri Aug 19 00:19:26 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "internal.c: Retype appropriate variables with bool\n\nUse the bool type instead of an integer for the variables\n`force_laptop`, `not_a_laptop`, `force_boardenable` and\n`force_boardmismatch` since this represents their purpose much better.\n\nSigned-off-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nChange-Id: I159d789112d7a778744b59b45133df3928b8445e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/66870\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72353\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "19ce50d3746fb1d9e5238bac49cf88ffe654848e",
      "tree": "90852ac71da4bc563f5bda33dd2954cd990f1d4b",
      "parents": [
        "6c73e27aa68e0e100f6573cd0910f6f54bff271d"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Sat Nov 13 17:59:18 2021 +1100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "pcidev: Move pci_dev_find() from internal to canonical place\n\nAlso rename to `pcidev_find()` in fitting with pcidev.c helpers.\n\nTested: ```sudo ./flashrom -p internal -r /tmp/bios\n\u003csnip\u003e\nFound Programmer flash chip \"Opaque flash chip\" (16384 kB, Programmer-specific) mapped at physical address 0x0000000000000000.\nReading flash... done.\n```\n\nChange-Id: Ie21f87699481a84398ca4450b3f03548f0528191\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/59280\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72310\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "6c73e27aa68e0e100f6573cd0910f6f54bff271d",
      "tree": "1aaa6f7595791fc24ee9601245607786ffd6c66d",
      "parents": [
        "4c39c439cbe3bf1e17ca115a8571e7cfc3d8bec9"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Sat Nov 13 17:56:20 2021 +1100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "pcidev: Move pci_card_find() from internal to canonical place\n\nAlso rename to `pcidev_card_find()` in fitting with pcidev.c helpers.\n\nTested: ```sudo ./flashrom -p internal -r /tmp/bios\n\u003csnip\u003e\nFound Programmer flash chip \"Opaque flash chip\" (16384 kB, Programmer-specific) mapped at physical address 0x0000000000000000.\nReading flash... done.\n```\n\nChange-Id: I026bfbecba114411728d4ad1ed8969b469fa7d2d\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/59279\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nOriginal-Reviewed-by: Nikolai Artemiev \u003cnartemiev@google.com\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72309\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "48a946673fa770a9224c2b79a8f8440c51b109ed",
      "tree": "62f3bd1fee1f4e6cf45d42011d2dcbb435ca028e",
      "parents": [
        "15004ba11d6c3b86c7824bb30a630c81e94cc9a4"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Sat Feb 26 11:36:17 2022 +1100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "pcidev: Move scandev_inclass logic from internal to pcidev\n\nTested: ```sudo ./flashrom -p internal -r /tmp/bios\n\u003csnip\u003e\nFound Programmer flash chip \"Opaque flash chip\" (16384 kB, Programmer-specific) mapped at physical address 0x0000000000000000.\nReading flash... done.\n```\n\nChange-Id: I1978e178fb73485f1c5c7e732853522847267cee\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/59277\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72302\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "15004ba11d6c3b86c7824bb30a630c81e94cc9a4",
      "tree": "8b6e88754b57846124a67a8d171d7bfa9647e68b",
      "parents": [
        "d58496b41eec27f52804c0dc6573a8612f2f0ec6"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Sat Nov 13 13:14:06 2021 +1100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "pcidev: Avoid internal programmer relying on pacc global\n\nMake progress towards the goal of removing pacc from global\nstate as noted in the FIXME of programmer.h\n\nTested: ```sudo ./flashrom -p internal --flash-size\n\u003csnip\u003e\nFound Programmer flash chip \"Opaque flash chip\" (16384 kB, Programmer-specific) mapped at physical address 0x0000000000000000.\n16777216\n```\n\nChange-Id: Id83bfd41f785f907e52a65a6689e8c7016fc1b77\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/59275\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72300\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "d91ee2cfd734d166c0e6156fb7c99f3bf160f9e6",
      "tree": "f550452bedb7a2bb6697fb64c7ff39ac5753147a",
      "parents": [
        "dcabdb27a92bf9201e69abdcb2ef7cee5ee22410"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Thu Feb 03 11:55:13 2022 +1100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "internal.c: Seperate out get_params() from internal_init()\n\nMove all programmer parameter wrangling into its own\nfunction.\n\nTested: `flashrom -p internal` on dooly DUT.\n\nChange-Id: I66bb370eb0466c5c838621762a6ba825c44567d4\nOriginal-Tested-by: Nikolai Artemiev \u003cnartemiev@google.com\u003e\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nSigned-off-by: Nikolai Artemiev \u003cnartemiev@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/61578\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72294\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "df3672d08beb0d1946dccc702fc4df75b051cd22",
      "tree": "c4996a38aa040f3824f9360f698b89e3265cb369",
      "parents": [
        "3f4d35daf4533650e75fcabb8f1ed9085e1fcf77"
      ],
      "author": {
        "name": "Peter Marheine",
        "email": "pmarheine@chromium.org",
        "time": "Wed Jan 19 17:11:09 2022 +1100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "hwaccess: fix build on non-x86 targets\n\nThe changes to hwaccess in commit 49d758698a0d (hwaccess: move x86\nport I/O related code into own files) cause build failure on non-x86\nsystems because the hwaccess_x86_* headers are included in some files\nthat are built for all platforms (particularly those in the internal\nprogrammer) and those headers in turn include \u003csys/io.h\u003e which only\nexists on x86.\n\nThis change avoids including those headers on non-x86 platforms so\nthe internal programmer can be built without errors.\n\nThe comment on the stub implementation of rget_io_perms() is also\nmodified to remove references to non-x86 platforms, since that file is\nonly built on x86 now.\n\nTested: meson build succeeds for both x86 and ARM targets\n\nSigned-off-by: Peter Marheine \u003cpmarheine@chromium.org\u003e\nChange-Id: I20f122679c30340b2c73afd7419e79644ddc3c4e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/61194\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72279\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "3f4d35daf4533650e75fcabb8f1ed9085e1fcf77",
      "tree": "ae3340f0a563d1d9ed48285cc861e7e90e2343ef",
      "parents": [
        "a6b45c4516e15aeb405028e5095e86259fcd9e34"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.com",
        "time": "Mon Jan 17 15:11:43 2022 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "hwaccess: move mmio functions into hwaccess_physmap\n\nThe mmio_le/be_read/writex functions are used for raw memory access.\nBundle them with the physmap functions.\n\nChange-Id: I313062b078e89630c703038866ac93c651f0f49a\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/61160\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72278\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "74b4aa0b15439a2ab2474889a7abed978439757a",
      "tree": "a3e6d01052b04bbae7c71af7c1148d3619ba1ab1",
      "parents": [
        "b3287b43dc2fc90913686eb7ca9adfdedac2fdb4"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.com",
        "time": "Tue Dec 14 17:52:30 2021 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "physmap: rename to hwaccess_physmap, create own header\n\nLine up physmap with the other hwaccess related code.\n\nChange-Id: Ieba6f4e94cfc3e668fcb8b3c978de5908aed2592\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/60113\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72267\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "a065520a7c7eedcca961de1fc891cc0b04e6df77",
      "tree": "f7a4c280f6d3114b98a52e147f988c4ae293271b",
      "parents": [
        "d96c97c77309f1cf1ff1cbe9fa521a75fc9d5698"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.com",
        "time": "Tue Dec 14 16:36:05 2021 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "hwaccess: move x86 port I/O related code into own files\n\nAllow port I/O related code to be compiled independent from memory\nmapping functionality. This enables for a better selection of needed\nhardware access types.\n\nChange-Id: I372b4a409f036da766c42bc406b596bc41b0f75a\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/60110\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72265\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "d96c97c77309f1cf1ff1cbe9fa521a75fc9d5698",
      "tree": "2ca206a0bb2873472e243eb2138c7f1e0345abf2",
      "parents": [
        "b7c6a66d5167a9cb6d83081f4c84b7a6c0d28046"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.com",
        "time": "Tue Nov 02 21:03:00 2021 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "pci.h: move include into own wrapper\n\nSplit the include of hwaccess and libpci. There is no need to have pci.h\nincluded in hwaccess.\n\nChange-Id: Ibf00356f0ef5cc92e0ec99f8fe5cdda56f47b166\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/58883\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72264\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "3d5be0b5f65fe191839b567cfc3bc8b76abeeef5",
      "tree": "e49001b4796c9a0e54b21a6eda49dd8a0308ea50",
      "parents": [
        "433dc1c647f0601dd5c7aa5d0c0584dc6ef80c96"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.de",
        "time": "Tue Oct 12 20:31:45 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "hwaccess: replace flashrom specific macros by compiler defines\n\nReplace the remaining IS_* macros with the associated compiler defines\n\nChange-Id: Ia0f022d12390722816066d292e1878824adc613c\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/58280\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72248\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "b91a203091fc43824bc57f3c8e2db0bcc311da59",
      "tree": "8fffff062afae6b9ce853c69a6636bc33bcabbbc",
      "parents": [
        "03f3a6d13e8bd62ef84ef6a4a6f21d6fb8b2a7b8"
      ],
      "author": {
        "name": "Anastasia Klimchuk",
        "email": "aklm@chromium.org",
        "time": "Fri May 21 09:40:58 2021 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "programmer: Smoothen register_par_master API\n\nIt was impossible to register a const struct par_master that would\npoint to dynamically allocated `data`. Fix that so that we won\u0027t\nhave to create more mutable globals.\n\nChange-Id: I95bc92f6c54c5bcdac1c522ca87054aaffed0f40\nSigned-off-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/54169\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72201\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "bd27581be60e7c59b3d0f814467260196c261281",
      "tree": "b444aee0a4bed45d7276377c89d57ddf852e16e3",
      "parents": [
        "7db7059e0ebe1b655c352dec8cf99fe31cc3876b"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Mon Nov 28 11:20:44 2022 +1100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "internal.c: laptop_ok global state can become stale\n\nCraask and similar DUT\u0027s are erroneously probing random second chips.\n\n```\nFound chipset \"Intel Alder Lake-N\".\nEnabling flash write... SPI Configuration is locked down.\nFREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-write.\nFREG1: BIOS region (0x003a0000-0x00ffffff) is read-write.\nFREG2: Management Engine region (0x00001000-0x0039ffff) is read-write.\nOK.\nFound Winbond flash chip \"W25Q128.V..M\" (16384 kB, Programmer-specific) on host.\nWarning: Setting BIOS Control at 0xdc from 0x8b to 0x89 failed.\nNew value is 0x8b.\nFound MoselVitelic flash chip \"V29C51000T\" (64 kB, Parallel) mapped at physical address 0x00000000ffff0000.\n```\n\nThis seems to be due to `laptop_ok` becoming a stale global state\nafter the first operation leading to probing on unrelated buses.\n\nTherefore unconditionally reset the global state upon entry into\nthe internal driver.\n\nTested: Craask reportly no longer finds duplicate chip.\n\nChange-Id: I2c00c351904307eeb1488c5dfaffc91d6468ee25\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/70026\nOriginal-Reviewed-by: Sam McNally \u003csammc@google.com\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71496\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d1ab7d2bb0c4ea7be2e251caa564ab91d27ee7ea",
      "tree": "905816b92fb3759fcb82767cb94b49d6e0f02594",
      "parents": [
        "8cfc7377ffa880659660b344e97333986aba9130"
      ],
      "author": {
        "name": "Felix Singer",
        "email": "felixsinger@posteo.net",
        "time": "Fri Aug 19 03:03:47 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "tree: Retype variable `laptop_ok` with bool\n\nUse the bool type instead of an integer for the variable `laptop_ok`,\nsince this represents its purpose much better.\n\nSigned-off-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nChange-Id: I5d9fc3516bc2d29f11b056e35b3e5e324ce93423\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/66891\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71485\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "43040f297e68cd4d826d58f57566581ef902d179",
      "tree": "a8357aba5a8dbfd43f3e7949c865f2682bf5962d",
      "parents": [
        "4203a47a102e2622f404ee6567b240882d584116"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.com",
        "time": "Thu Jun 23 14:38:35 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "tree: indent struct *_master consistently with tabs\n\nUse `\u003ctab\u003e.key\u003ctab\u003e*\u003d \u003cvalue\u003e,`\n\nTEST: `make VERSION\u003d0 MAN_DATE\u003d0` returns the same flashrom binary\nbefore and after the patch\n\nChange-Id: I1c45ea9804ca09e040d7ac98255042f58b01f8ef\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/65363\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71466\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "4b918a132c00c8a7075cab9a21e74f90e37ff489",
      "tree": "f556fb1d401cbf199b573bfd1755300008922c2f",
      "parents": [
        "140c1261b202aa0e1bf7fff55d6e96cf6bf44d0a"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.de",
        "time": "Sun Sep 26 13:42:39 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "internal.c: unify the macro for x86 only code\n\nThe #if defined(__i386__) || defined(__x86_64__) guard is commonly used\nfor x86 only code across flashrom.\nOnly platform.h and hwaccess.* use the IS_X86 macro.\n\nChange-Id: I94a599431f58666189c8cd601286e9b30c8bf62b\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/57942\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by:  Felix Singer \u003cfelixsinger@posteo.net\u003e\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71426\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "cc853d84ed2f8ecafc1f6daa443f8baa4c871805",
      "tree": "8e5f3e0b7a75d272a109e20af5aeeeec11dfebf7",
      "parents": [
        "7e1345602641114c8eeb5cfef992bf1da8d7fa6a"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.de",
        "time": "Tue May 04 15:32:17 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "programmer_table: move each entry to the associated programmer source\n\nChange-Id: I3d02bd789f0299e936eb86819b3b15b5ea2bb921\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/52946\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71373\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "1cea5c3c7958409245c43ce2df6e8e09795fe6c3",
      "tree": "d4d950cae311075b6d1227da709c6278ae57d631",
      "parents": [
        "abb34fee66dc5255ac0ae770eb3d7f1c28f7b792"
      ],
      "author": {
        "name": "Miriam Polzer",
        "email": "mpolzer@google.com",
        "time": "Wed Dec 23 17:28:38 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:07:04 2023 +0000"
      },
      "message": "Add missing platform.h includes\n\nInclude platform.h in all files using its macros.\n\nSigned-off-by: Miriam Polzer \u003cmpolzer@google.com\u003e\nChange-Id: If17a3d58c02222f61b4e0335879eeed1638b583c\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/48880\nOriginal-Reviewed-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\nOriginal-Reviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71334\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "380090faffcbe3cbdc20af9c75979fdafaa5a834",
      "tree": "d6dac3cefcc91f4451b73b0bf8da60473ca6c34c",
      "parents": [
        "298ac33bc495bba371629951dce8ea67e5e0ca78"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 23 01:45:11 2022 +0200"
      },
      "committer": {
        "name": "Felix Singer",
        "email": "felixsinger@posteo.net",
        "time": "Thu Sep 29 17:06:21 2022 +0000"
      },
      "message": "pcidev: Always fetch ident info\n\nAs discovered earlier[1], the `vendor_id` and `device_id` fields are not\nalways automatically set. However, we use these fields throughout flash-\nrom. To not lose track when we actually fetched them, let\u0027s always call\npci_fill_info(PCI_FILL_IDENT) before returning a `pci_dev` handle.\n\n[1] Commit ca2e3bce0 (pcidev.c: populate IDs with pci_fill_info())\n\nBackported to older versions where pcidev handling was much more\nscattered.\n\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nChange-Id: Iae2511178bec44343cbe902722fdca9eda036059\nTicket: https://ticket.coreboot.org/issues/367\nReviewed-on: https://review.coreboot.org/c/flashrom/+/64573\nReviewed-on: https://review.coreboot.org/c/flashrom/+/67877\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "1c091d1aebb055149c89f88fd5766ca4e33b7b3e",
      "tree": "1ca7c754bcaaf1b9e8150af14af58a8a609838bf",
      "parents": [
        "15f539c8c978e002f2b6397a7a74e1af817d5cb3"
      ],
      "author": {
        "name": "Jacob Garber",
        "email": "jgarber1@ualberta.ca",
        "time": "Mon Aug 12 11:14:14 2019 -0600"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Sep 24 19:02:48 2019 +0000"
      },
      "message": "internal: Fix board vendor and model memory leaks\n\nThe board vendor and model are sometimes specified as arguments during\nan internal flash, so make sure they are freed at the end of\ninitialization.\n\nChange-Id: I9f43708f3b075896be67acec114bc6f390f8c6ca\nSigned-off-by: Jacob Garber \u003cjgarber1@ualberta.ca\u003e\nFound-by: Coverity CID 1230664, 1230665\nReviewed-on: https://review.coreboot.org/c/flashrom/+/34846\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\n"
    },
    {
      "commit": "cf3976e658e06464e84d04c5230c466e0ec44df7",
      "tree": "a5d76371a4e67765060f63693568c9a3f26da8c1",
      "parents": [
        "6c68363d0c1db0fd5e2ac95fb4adeaf254f669a7"
      ],
      "author": {
        "name": "Jacob Garber",
        "email": "jgarber1@ualberta.ca",
        "time": "Fri Jun 21 15:40:33 2019 -0600"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 23 21:40:09 2019 +0000"
      },
      "message": "tree: Remove unused functions with no prototypes\n\nThese functions are no longer used, or were never used in the first place.\n\ngenerate_testpattern() - Introduced in commit eaac68bf8b, never used\nlist_programmers() - Introduced in commit 552420b0d6, never used\npci_dev_find_filter() - Prototype removed in commit 5c316f9549\nerase_chip_jedec() - Usage and prototype removed in commit f52f784bb3\nprintlock_regspace2_blocks() - Introduced in commit ef3ac8ac17, never used\nspi_write_status_enable() - Usage dropped in commit fcbdbbc0d4\n\nChange-Id: I742164670521fea65ffa3808446594848ce63cec\nSigned-off-by: Jacob Garber \u003cjgarber1@ualberta.ca\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/33669\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "2e50cdc494bf4e44c01e9e331b82a3633b1d9ef2",
      "tree": "78a7f9d9a0dd67f97d25e60c02a10e9785590fbf",
      "parents": [
        "ba22411335f26601a76dbdf0d74a71e932b7cff8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 23 20:20:26 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 06 15:54:46 2019 +0000"
      },
      "message": "Rework internal bus handling and laptop bail-out\n\nWe used to bail out on any unknown laptop. However, modern systems with\nSPI flashes don\u0027t suffer from the original problem. Even if a flash chip\nis shared with the EC, the latter has to expect the host to send regular\nJEDEC SPI commands any time.\n\nSo instead of bailing out, we limit the set of buses to probe. If we\nsuspect to be running on a laptop, we only allow probing of SPI and\nopaque programmers. The user can still use the existing force options\nto probe all buses.\n\nThis will obsolete some board-enables that could be moved to `print.c`\nin follow-up commits.\n\nChange-Id: I1dbda8cf0c10d7786106f14f0d18c3dcce35f0a3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/28716\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "f9a30554803a670f9b95a7794be00f03929d6ecd",
      "tree": "46da1dafce0c76ab5730540540aaf4093463f551",
      "parents": [
        "291764a70e6d8b212680e311bfb0825abf2b9a2f"
      ],
      "author": {
        "name": "David Hendricks",
        "email": "dhendricks@fb.com",
        "time": "Sat May 23 20:30:30 2015 -0700"
      },
      "committer": {
        "name": "David Hendricks",
        "email": "david.hendricks@gmail.com",
        "time": "Thu May 17 16:49:16 2018 +0000"
      },
      "message": "linux_mtd: Import driver from ChromiumOS\n\nThis imports a series of patches from chromiumos for MTD support.\nThe patches are squashed to ease review and original Change-Ids have\nbeen removed to avoid confusing Gerrit.\n\nThere are a few changes to integrate the code:\n- Conflict resolution\n- Makefile changes\n- Remove file library usage from linux_mtd. We may revisit this and use\n  it for other Linux interfaces later on.\n- Switch to using file stream functions for reads and writes.\n\nThis consolidated patch is\nSigned-off-by: David Hendricks \u003cdhendricks@fb.com\u003e\n\nThe first commit\u0027s message is:\nInitial MTD support\n\nThis adds MTD support to flashrom so that we can read, erase, and\nwrite content on a NOR flash chip via MTD.\n\nBUG\u003dchrome-os-partner:40208\nBRANCH\u003dnone\nTEST\u003dread, write, and erase works on Oak\n\nSigned-off-by: David Hendricks \u003cdhendrix@chromium.org\u003e\nReviewed-on: https://chromium-review.googlesource.com/272983\nReviewed-by: Shawn N \u003cshawnn@chromium.org\u003e\n\nThis is the 2nd commit message:\n\nlinux_mtd: Fix compilation errors\n\nThis fixes compilation errors from the initial import patch.\n\nSigned-off-by: David Hendricks \u003cdhendricks@fb.com\u003e\n\nThis is the 3rd commit message:\n\nlinux_mtd: Suppress message if NOR device not found\n\nThis just suppresses a message that might cause confusion for\nunsuspecting users.\n\nBUG\u003dnone\nBRANCH\u003dnone\nTEST\u003dran on veyron_mickey, \"NOR type device not found\" message\nno longer appears under normal circumstances.\nSigned-off-by: David Hendricks \u003cdhendrix@chromium.org\u003e\n\nReviewed-on: https://chromium-review.googlesource.com/302145\nCommit-Ready: David Hendricks \u003cdhendrix@chromium.org\u003e\nTested-by: David Hendricks \u003cdhendrix@chromium.org\u003e\nReviewed-by: Shawn N \u003cshawnn@chromium.org\u003e\n\nThis is the 4th commit message:\n\nlinux_mtd: Support for NO_ERASE type devices\n\nSome mtd devices have the MTD_NO_ERASE flag set. This means\nthese devices don\u0027t require an erase to write and might not have\nimplemented an erase function. We should be conservative and skip\nerasing altogether, falling back to performing writes over the whole\nflash.\n\nBUG\u003db:35104688\nTESTED\u003dZaius flash is now written correctly for the 0xff regions.\n\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\nReviewed-on: https://chromium-review.googlesource.com/472128\nCommit-Ready: William Kennington \u003cwak@google.com\u003e\nTested-by: William Kennington \u003cwak@google.com\u003e\nReviewed-by: Brian Norris \u003cbriannorris@chromium.org\u003e\n\nThis is the 5th commit message:\n\nlinux_mtd: do reads in eraseblock-sized chunks\n\nIt\u0027s probably not the best idea to try to do an 8MB read in one syscall.\nTheoretically, this should work; but MTD just relies on the SPI driver\nto deliver the whole read in one transfer, and many SPI drivers haven\u0027t\nbeen tested well with large transfer sizes.\n\nI\u0027d consider this a workaround, but it\u0027s still good to have IMO.\n\nBUG\u003dchrome-os-partner:53215\nTEST\u003dboot kevin; `flashrom --read ...`\nTEST\u003dcheck for performance regression on oak\nBRANCH\u003dnone\n\nSigned-off-by: Brian Norris \u003cbriannorris@chromium.org\u003e\nReviewed-on: https://chromium-review.googlesource.com/344006\nReviewed-by: David Hendricks \u003cdhendrix@chromium.org\u003e\n\nThis is the 6th commit message:\n\nlinux_mtd: make read/write loop chunks consistent, and documented\n\nTheoretically, there should be no maximum size for the read() and\nwrite() syscalls on an MTD (well, except for the size of the entire\ndevice). But practical concerns (i.e., bugs) have meant we don\u0027t quite\ndo this.\n\nFor reads:\nBug https://b/35573113 shows that some SPI-based MTD drivers don\u0027t yet\nhandle very large transactions. So we artificially limit this to\nblock-sized chunks.\n\nFor writes:\nIt\u0027s not clear there is a hard limit. Some drivers will already split\nlarge writes into smaller chunks automatically. Others don\u0027t do any\nsplitting. At any rate, using *small* chunks can actually be a problem\nfor some devices (b:35104688), as they get worse performance (doing an\ninternal read/modify/write). This could be fixed in other ways by\nadvertizing their true \"write chunk size\" to user space somehow, but\nthis isn\u0027t so easy.\n\nAs a simpler fix, we can just increase the loop increment to match the\nread loop. Per David, the original implementation (looping over page\nchunks) was just being paranoid.\n\nSo this patch:\n * clarifies comments in linux_mtd_read(), to note that the chunking is\n   somewhat of a hack that ideally can be fixed (with bug reference)\n * simplifies the linux_mtd_write() looping to match the structure in\n   linux_mtd_read(), including dropping several unnecessary seeks, and\n   correcting the error messages (they referred to \"reads\" and had the\n   wrong parameters)\n * change linux_mtd_write() to align its chunks to eraseblocks, not page\n   sizes\n\nNote that the \"-\u003epage_size\" parameter is still somewhat ill-defined, and\nonly set by the upper layers for \"opaque\" flash. And it\u0027s not actually\nused in this driver now. If we could figure out what we really want to\nuse it for, then we could try to set it appropriately.\n\nBRANCH\u003dnone\nBUG\u003db:35104688\nTEST\u003dvarious flashrom tests on Kevin\nTEST\u003dReading and writing to flash works on our zaius machines over mtd\n\nChange-Id: I3d6bb282863a5cf69909e28a1fc752b35f1b9599\nSigned-off-by: Brian Norris \u003cbriannorris@chromium.org\u003e\nReviewed-on: https://chromium-review.googlesource.com/505409\nReviewed-by: David Hendricks \u003cdhendrix@chromium.org\u003e\nReviewed-by: Martin Roth \u003cmartinroth@chromium.org\u003e\nReviewed-by: William Kennington \u003cwak@google.com\u003e\nReviewed-on: https://review.coreboot.org/25706\nTested-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Philipp Deppenwiese \u003czaolin.daisuki@gmail.com\u003e\n"
    },
    {
      "commit": "e083880279119677e443fc16b4694f8c81bf2c40",
      "tree": "03413b996779bc4c86ec41590f3e7bcdd97d0ef5",
      "parents": [
        "124ef38f7afc61ad7c713c22aad7c5c7f79bdb9b"
      ],
      "author": {
        "name": "Elyes HAOUAS",
        "email": "ehaouas@noos.fr",
        "time": "Mon Apr 02 11:14:02 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 24 20:21:41 2018 +0000"
      },
      "message": "Remove address from GPLv2 headers\n\nChange-Id: I7bfc339673cbf5ee2d2ff7564c4db04ca088d0a4\nSigned-off-by: Elyes HAOUAS \u003cehaouas@noos.fr\u003e\nReviewed-on: https://review.coreboot.org/25381\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "c8801734727e1e510cbd99e305007b73f9f57e93",
      "tree": "84c6914f12ad1f4e1b00ae5bc76d159951233af0",
      "parents": [
        "095522cceca4aede4b4a5e8cd74cbbd8f63e1116"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 01 18:19:43 2017 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 19 12:37:06 2017 +0000"
      },
      "message": "internal: Only build on x86 and mipsel\n\ninternal_init() explicitly fails on everything but x86 and mipsel.\nInstead, we can just never build the internal programmer on other\narchitectures and drop a lot of #if boilerplate.\n\nChange-Id: I672ddab0415df3baa49ff39a1c9db1b41d8143a4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22671\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nReviewed-by: Patrick Rudolph \u003csiro@das-labor.org\u003e\n"
    },
    {
      "commit": "97a90497a7d0df5076b4412c3e995a7e4a2ff8cc",
      "tree": "f590cd7fd6b2ab4cd4a6b45c17ff6dddf130fe7c",
      "parents": [
        "6891709a1f04a78bc45ad4174f4416f24169a020"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 01 18:19:43 2017 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Dec 09 22:42:55 2017 +0000"
      },
      "message": "internal: Fix warnings about unused constants\n\nBy adding more #if guards, fix warnings about unused constants that\nare enabled by default in newer GCC versions.\n\nChange-Id: Ib3b6d7c0c2fadc4faeab971673bfadb1a6d25919\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22669\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nReviewed-by: Patrick Rudolph \u003csiro@das-labor.org\u003e\n"
    },
    {
      "commit": "4c72315c10c0a760a6ed9181257aa7fe3ce9176d",
      "tree": "a98688792c28001185f29bd30ce569ca38f888ce",
      "parents": [
        "bfb067b076c048935314635ffb16c0913a171744"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 14 22:47:55 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 14 22:47:55 2016 +0000"
      },
      "message": "Pimp the manpage to create nicer hyperlinks and HTML output\n\nAlso, add a target to the makefile to build a flashrom.8.html with groff.\nTo fix some formatting issues this adds some indention commands as well.\n\nCorresponding to flashrom svn r1913.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "b0eee9b8d649efc3db9a6c5f333b0fff5204a979",
      "tree": "fcba10fdf1451557f3bc58de6f39d669e5106c46",
      "parents": [
        "be62d3fc07194ec13f091aa06beff0a032f1a418"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 10 09:32:50 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 10 09:32:50 2015 +0000"
      },
      "message": "Unify target OS and CPU architecture checks\n\nWe do CPU architecture checks once for the makefile in arch.h and\nonce for HW access abstraction in hwaccess.c. This patch unifies\nrelated files so that they can share the checks to improve\nmaintainability and reduce the chance of inconsistencies.\nFurthermore, it refines some of the definitions, which\n - adds \"support\" for AARCH64 and PPC64,\n - adds big-endian handling on arm as well as LE handling on PPC64,\n - fixes compilation of internal.c on AARCH64 and PPC64.\n\nAdditionally, this patch continues to unify all OS checks in\nflashrom by adding a new helper macro IS_WINDOWS.\n\nThe old header file for architecture checking is renamed to platform.h\nto reflect its broader scope and all new macros are add in there.\n\nCorresponding to flashrom svn r1864.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "2a1ed77f84e7cfc0a419c44edfbf41c78f211ac9",
      "tree": "1ce5908e88a7d94970f7f9fdd6a935db044599c5",
      "parents": [
        "4e32ec19b124a7431d1e3fd9f7e75196b7495a7e"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Aug 31 00:09:21 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Aug 31 00:09:21 2014 +0000"
      },
      "message": "Introduce generic shutdown_free() and remove redundant internal_shutdown()\n\nThe former will be useful in cases where cleanup equals a simple call to free().\n\nCorresponding to flashrom svn r1848.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "a5bcbceb581f27cfc0055369d3dd9cfd1ae00bfa",
      "tree": "5daecd880a16b7011be28e064fb7550f3e6b7e58",
      "parents": [
        "82b6ec1df30d3fca55547f230c76718d6e613b2a"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 19 22:03:29 2014 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 19 22:03:29 2014 +0000"
      },
      "message": "Rename programmer registration functions\n\nRegister_programmer suggests that we register a programmer. However,\nthat function registers a master for a given bus type, and a programmer\nmay support multiple masters (e.g. SPI, FWH). Rename a few other\nfunctions to be more consistent.\n\nCorresponding to flashrom svn r1831.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "4dd0f906c6ee620d16f2e87e56344a2cb0bf0a46",
      "tree": "aac06804cc25ac6df6fcd9c93c37671fede2bbd5",
      "parents": [
        "bdead0d27dc03c2f40b36d98dc94b717f38d56e7"
      ],
      "author": {
        "name": "Vadim Girlin",
        "email": "vadimgirlin@gmail.com",
        "time": "Sat Aug 24 12:18:17 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Aug 24 12:18:17 2013 +0000"
      },
      "message": "IT87: Add ability to select between chips on GIGABYTE DualBIOS boards\n\nThanks to Vadim Girlin for finding out how to do that.\nThis is known to work on GA-MA770-UD3, GA-B75M-D3V, GA-B75N and\nGA-H61M-S1 (only M_BIOS is populated).\n\nCorresponding to flashrom svn r1720.\n\nSigned-off-by: Vadim Girlin \u003cvadimgirlin@gmail.com\u003e\nSigned-off-by: Damien Zammit \u003cdamien@zamaudio.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by: Damien Zammit \u003cdamien@zamaudio.com\u003e\nTested-by: Anton Kochkov \u003canton.kochkov@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "11990da1d3a4ca913ed5b85888a37188c4a621db",
      "tree": "5c905e082327d5714b6a09d30ae38e210d610ca9",
      "parents": [
        "6bf5fe78f1064b56275056b2a90ea4e1c34e42be"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 13 23:21:05 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 23:21:05 2013 +0000"
      },
      "message": "Various cross-platform fixes\n\nImprove compilation with libpayload (compiling flashrom.c and\nlinking is still broken):\n - disable Ponyprog (which enforced serial.c compilation)\n - make errno available where it is needed\n\nFix internal.c for non-x86 and enable cb parsing on ARM.\n\nFix mingw builds by using its __USE_MINGW_ANSI_STDIO macro\nand gnu_printf definition for printf format style checking.\nSee http://sourceforge.net/apps/trac/mingw-w64/wiki/gnu%20printf\nThis requires inclusion of stdio.h in flash.h.\n\nFix order of libraries in the Makefile:\nFEATURE_LIBS needs to come *after* PCILIBS in case ZLIB is needed by it.\n\nCorresponding to flashrom svn r1697.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "352e50b79e084c8f5f768d7b6f2ba6b6bd2ea8ce",
      "tree": "a0bc1780c6b7940f9d159d4342fa55563da80044",
      "parents": [
        "77fa67d2df7395047476b77946fa807fc851f737"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Feb 22 15:58:45 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Feb 22 15:58:45 2013 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 17\n\nTested Mainboards:\nOK:\n - Acer V75-M (used in IBM Aptiva 2170-G)\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010300.html\n - Acorp 6M810C\n   http://www.flashrom.org/pipermail/flashrom/2013-January/010433.html\n - ASRock G31M-S rev 2.0\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010538.html\n - ASUS F1A75-V PRO\n   http://paste.flashrom.org/view.php?id\u003d1528\n - ASUS M5A97 (rev. 1.0)\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010483.html\n - ASUS P5KPL-AM IN/GB\n   http://www.flashrom.org/pipermail/flashrom/2013-January/010455.html\n - GABYTE GA-H77M-D3H\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010538.html\n\nNOT OK:\n - GIGABYTE GA-Z77MX-D3H\n   http://paste.flashrom.org/view.php?id\u003d1529\n   http://paste.flashrom.org/view.php?id\u003d1530\n\nTested flash chips:\n - Winbond W25X10 to PREW (+PREW)\n   Reported on IRC(?)\n - Eon EN25Q32(A/B) to PREW (+REW)\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010533.html\n - Eon EN25Q64 to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2013-January/010466.html\n\nMiscellaneous:\n- Fix superflouos line breaks in wiki mainboard and laptop output.\n- Use the .nh (no hyphenation) command in the manpage to enforce\n  single-line URLs where useful.\n- Reference the manpage (besides the Laptops wiki page) in the laptop warning.\n- Minor output and whitespace fixes.\n- Add Fidelix IDs.\n- Add ISSE clones of PMC chips.\n- Fix typo: EMST -\u003e ESMT.\n- Add ID of ESMT F25D08QA.\n- Refine GigaDevice GD25Q series (missing voltages and comments).\n- Use underscore instead of lower-case x as wildcard in Sharp chip names.\n\nCorresponding to flashrom svn r1650.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "c6fa32d2b5c08d2fcc92fee2974a3fc02a3ca1f7",
      "tree": "7ac561c734007cfe88577cdad895f87524e3184f",
      "parents": [
        "5561955b1158e8bd29299735abef1e26a5a9cdbc"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jan 04 22:54:07 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jan 04 22:54:07 2013 +0000"
      },
      "message": "Introduce msg_*warn\n\nAlso, unify all outputs of \"Warning:\" and \"Error:\" to use normal\ncapitalization instead of mixing it with all capitals.\n\nCorresponding to flashrom svn r1643.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\n"
    },
    {
      "commit": "5561955b1158e8bd29299735abef1e26a5a9cdbc",
      "tree": "5284fff71cacd837b0bea9b80977dee26a08765a",
      "parents": [
        "30dfdbaf3ab30974a6d76e085525d52c033e4215"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jan 04 22:24:58 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jan 04 22:24:58 2013 +0000"
      },
      "message": "Unify PCI init and let pcidev clean itself up\n\nPreviously the internal programmer used its own code to initialize pcilib.\nThis patch extracts the common code from the internal programmer and\npcidev_init() into pcidev_init_common().\nThis fixes the non-existent PCI cleanup of the internal programmer and adds\nan additional safety by checking for an already existing PCI context.\n\nWe got a nice shutdown function registration infrastructure, but did not use it\nvery wisely. Instead we added shutdown functions to a myriad of programmers\nunnecessarily. In this patch we get rid of those that do only call pci_cleanup(pacc)\nby adding a shutdown function the pcidev.c itself that gets registered by\npcidev_init().\n\nCorresponding to flashrom svn r1642.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "fa9fa7131a4c5a0bc49c17a428bb0388f9bc88e7",
      "tree": "183ed67b551d6e3c31010bed83cb7e6bc0db2af2",
      "parents": [
        "4e6d346c6ec0188aa309bfa2fe86ce52b9487ec6"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Sep 24 21:29:29 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Sep 24 21:29:29 2012 +0000"
      },
      "message": "Fix flashrom running on boards with coreboot\n\nIn r1577 we removed the discrimination of coreboot IDs and user-specified\nmainboards. The problem is that the board enable code required to find\na board enable if either of these model strings were set. Therefore boards\nrunning coreboot that do not need a board enable failed to execute flashrom\nsince then. This patch fixes this by handling coreboot IDs and user-supplied\nIDs differently again.\n\nCorresponding to flashrom svn r1605.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\n"
    },
    {
      "commit": "eb58257b9650b9191d8b987e0b214fed1ad2b77a",
      "tree": "8e37e169514dfba6083cc6f8c18943e69b81e9a4",
      "parents": [
        "3c0fcd0f30f2b3c0df57b66e645859d923e68d16"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Sep 21 12:52:50 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Sep 21 12:52:50 2012 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 14\n\nTested Mainboards:\nOK:\n - ASUS M3A78-EH\n   http://www.flashrom.org/pipermail/flashrom/2010-October/005297.html\n - ASUS P2B-LS\n   http://www.flashrom.org/pipermail/flashrom/2010-November/005506.html\n - Biostar TA790GX A3+\n   http://paste.flashrom.org/view.php?id\u003d1350\n - ECS 848P-A7\n   http://www.flashrom.org/pipermail/flashrom/2011-January/005781.html\n - GIGABYTE GA-G41MT-S2PT\n   Reported on IRC\n - GIGABYTE GA-H77-D3H\n   Reported and tested by Alexander Gordeev on IRC.\n - Gigabyte GA-X79-UD5\n   http://www.flashrom.org/pipermail/flashrom/2012-August/009811.html\n - Shuttle FN78S\n   http://www.flashrom.org/pipermail/flashrom/2012-August/009714.html\n - VIA EITX-3000\n   Reported on IRC by Tuju\n\nNOT OK:\n - Dell PowerEdge C6220 (0HYFFG)\n   http://www.flashrom.org/pipermail/flashrom/2012-September/009900.html\n - Foxconn Q45M\n   http://www.flashrom.org/pipermail/flashrom/2012-September/009923.html\n - MSI MS-7309 (K9N6SGM-V)\n   http://www.flashrom.org/pipermail/flashrom/2012-August/009712.html\n - Supermicro X9QRi-F+\n   http://www.flashrom.org/pipermail/flashrom/2012-September/009887.html\n - ZOTAC H61-ITX WiFi (H61ITX-A-E)\n   http://www.flashrom.org/pipermail/flashrom/2012-August/009649.html\n\nASUS CUSL2-C has been tested to be working with the board enable once\nimplemented for the TUSL2-C board. They seem to have the same PCI IDs\nas shown in the links below. Since only the CUSL2-C board enable has been\ntested yet, we distinguish the two by DMI strings.\nhttp://paste.flashrom.org/view.php?id\u003d1393\nhttp://www.flashrom.org/pipermail/flashrom/attachments/20091206/ddca2c6c/attachment-0002.eml\n\nTested flash chips:\n - Set EMST F25L008A to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2012-August/009714.html\n - Set GigaDevice GD25Q64 to PREW (+PREW)\n   http://git.chromium.org/gitweb/?p\u003dchromiumos/third_party/flashrom.git;a\u003dcommit;h\u003d9e8ef49b1f626c2197e131fba6c5b65c8af4eeea\n - Set Macronix MX25L12805 to P (+P)\n   http://www.flashrom.org/pipermail/flashrom/2012-September/009887.html\n - Set SST SST49LF003A/B to PREW (+EW)\n   http://paste.flashrom.org/view.php?id\u003d467\n - Set Winbond W49V002FA to PREW (+EW)\n   http://www.flashrom.org/pipermail/flashrom/2011-January/005781.html\n\nTested chipsets:\n - Intel X79 (0x1d41)\n   http://www.flashrom.org/pipermail/flashrom/2012-August/009811.html\n\nBoard enables:\n - add ASUS P4P800-X\n   Created by Idwer Vollering and tested by Mingsen Bao:\n   http://paste.flashrom.org/view.php?id\u003d467\n - add DMI string to P4P800-VM\n\nMiscellaneous:\n - Add remaining Intel 7 series chipset (LPC) PCI IDs\n - Add generic SPI detection for chips from Winbond\n - Minor manpage changes\n - Minor other cleanups\n - Escape full stops after abbreviations in the manpage.\n - Add ICH9 and successors to spi_get_valid_read_addr\n\nCorresponding to flashrom svn r1601.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "1c6d2ff03d16acf87c96d019153dcd10c779a5f6",
      "tree": "b211be01cc5f25fa78321dd434e42aafa9ea3f0e",
      "parents": [
        "6745d6f39d2642908035c7e4a6481f5349c767a7"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Aug 27 00:44:42 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 27 00:44:42 2012 +0000"
      },
      "message": "Some ISO C fixes\n\nThis patch just fixes a limited number of bits not conforming to c99 by using\n - __asm__ instead of just asm\n - {0} instead of {} for struct initialization\n - h_addr_list[0] instead of h_addr to access the host address in\n   struct hostent\n - #include \u003cstrings.h\u003e where needed (for ffs and strcasecmp)\n\nBased on a previous patch by Carl-Daniel.\n\nCorresponding to flashrom svn r1585.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "b4e06bde9b2a91d05c31b709d633464fca1c8815",
      "tree": "481c52c32309f394131ea7bb6e2792eb91e8faf4",
      "parents": [
        "a16a892ca462b6034fd513bb92245ad827b2945f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 20 00:24:22 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 20 00:24:22 2012 +0000"
      },
      "message": "Refactor the -p internal:mainboard handling\n\nThis patch gets rid of some global variables and makes lots of bits along\nthe code path that control the board enable execution more generic and\nclearer. From now on flashrom aborts on a few more occasions that should be\nsafer for the user. For example it aborts if the enable function for the\nspecified mainboard (enable) can not be found.\n\nParts of the board_match_cbname refactoring were done by Carl-Daniel.\n\nCorresponding to flashrom svn r1577.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "2a95e8713b941f58a7f5ff94aee38edae70af15d",
      "tree": "f97dccd7ef57d80a4fbee2c5d23a67869c298cb0",
      "parents": [
        "00ec027368e5ef46d9dec430124357915dc8b903"
      ],
      "author": {
        "name": "Niklas Söderlund",
        "email": "niso@kth.se",
        "time": "Mon Jul 30 19:42:33 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jul 30 19:42:33 2012 +0000"
      },
      "message": "Remove more exit calls\n\nThis patch removes the remaining exit calls from\n - sp_openserport\n - sp_opensocket\n - sp_docommand\n - internal_init\n\nAlmost all of this was done by Niklas.\n\nCorresponding to flashrom svn r1557.\n\nSigned-off-by: Niklas Söderlund \u003cniso@kth.se\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "d6bb828b017eaf89d5a4c52803ebc0029725383b",
      "tree": "722abce67e8d8864158ec9261405461a28e313b0",
      "parents": [
        "0b9af36772b655f4de118ddb296207b6ca49cb58"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 21 17:27:08 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 21 17:27:08 2012 +0000"
      },
      "message": "Automatically release I/O permissions on shutdown\n\nGet_io_perms() is renamed to rget_io_perms() and automatically registers\na function to release I/O permissions on shutdown.\n\nActually release I/O permissions on Solaris and iopl()-supporting\noperating systems like Linux.\n\nThis patch fixes quite a few programmers which forgot to release I/O\npermissions on shutdown, and it simplifies the shutdown and error\nhandling code for all others.\n\nDo not call exit(1) if I/O permissions are denied and return an error\ninstead. This part of the patch was written by Niklas Söderlund.\n\nCorresponding to flashrom svn r1551.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nSigned-off-by: Niklas Söderlund \u003cniso@kth.se\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "32508eb304428551cff40b291d44823aafec7574",
      "tree": "0641d77a791290f6842fd60446e87871f6867651",
      "parents": [
        "3834c2d7e5a08e09e580be0dc7f9369c941b2a70"
      ],
      "author": {
        "name": "Patrick Georgi",
        "email": "patrick.georgi@secunet.com",
        "time": "Fri Jul 20 20:35:14 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jul 20 20:35:14 2012 +0000"
      },
      "message": "Hide hwaccess.h from public API\n\nMove hwaccess.h #include from flash.h to individual drivers.\nlibflashrom users need flash.h, but they do not care about hwaccess.h\nand should not see its definitions because they may conflict with\nother hardware access functions and #defines used by the libflashrom\nuser.\n\nCorresponding to flashrom svn r1549.\n\nSigned-off-by: Patrick Georgi \u003cpatrick.georgi@secunet.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "f5e62cb151b4f109a319b58baedcd83976c9ac35",
      "tree": "57c496013e2629ec46ec4d35262cd5aefd0a2965",
      "parents": [
        "5e695ab4d7555952f0b020f235d868955251e3ae"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun May 06 22:48:01 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun May 06 22:48:01 2012 +0000"
      },
      "message": "Add Winbond W836xx SuperI/O detection\n\nAdd ITE IT8707F/IT8710F detection.\n\nNote that we autodetect those chips, but we don\u0027t handle their flash\ntranslation features automatically yet.\n\nCorresponding to flashrom svn r1533.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "ccd71c21222cd73c55284265d306d52e88d8c6c8",
      "tree": "d2ddcfc5b5c2f1e4f212280c7aa81f9ac2d42d96",
      "parents": [
        "8ee180d9114925c9337ed061502f4a02910e3ff7"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Mar 01 22:38:27 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Mar 01 22:38:27 2012 +0000"
      },
      "message": "Fix parallel-style programmer access from ITE IT87/Winbond W83627 SPI\n\nThe ITE IT87 SPI driver uses a trick to speed up reading and writing:\nIf a flash chip is 512 kByte or less, the flash chip can be completely\nmapped in memory and both read and write accesses are faster that way.\nThe current IT87 SPI code did use the parallel programmer interface for\nmemory mapped reads and writes, but that\u0027s the wrong abstraction. It has\nbeen fixed to use mmio_read*/mmio_write* for that purpose.\n\nThe Winbond W83627 SPI driver uses the same trick in its read path for\nall supported chip sizes. Fix it the same way.\n\nSwitch internal_chip_readn to use mmio_readn as proper abstraction.\n\nKudos to Michael Karcher for spotting the bugs.\n\nTested-by: Johan Svensson \u003cflashrom.js@crypt.se\u003e\n\nCorresponding to flashrom svn r1511.\n\nReported-by: Johan Svensson \u003cflashrom.js@crypt.se\u003e\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "2d927fbd7bbfd6d03280757d447991a60c690c6e",
      "tree": "7f14a4305d587d4ff56c1b3f764a9016dba5d03b",
      "parents": [
        "9bcf2684d7781de71551ab14d3c3be46890ca432"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jan 04 00:48:27 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jan 04 00:48:27 2012 +0000"
      },
      "message": "Replace --mainboard with -p internal:mainboard\n\nNOTE:\nThe --list-supported-wiki output changed to use -p internal:mainboard\u003d\ninstead of -m\nThe --list-supported output changed the heading of the mainboard list\nfrom\n\nVendor Board   Status  Required option\nto\nVendor Board   Status  Required value for\n                       -p internal:mainboard\u003d\n\nFix lb_vendor_dev_from_string() not to write to the supplied string.\n\nCorresponding to flashrom svn r1483.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "8a3c60cdd0e5632173567923ae1927763e31e857",
      "tree": "3a5514d022392cf4d8fa368f9f02653da21a93ca",
      "parents": [
        "63fd9026f1e82b67a65072fda862ba7af35839e1"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Dec 18 15:01:24 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Dec 18 15:01:24 2011 +0000"
      },
      "message": "Add struct flashctx * parameter to all functions accessing flash chips\n\nAll programmer access function prototypes except init have been made\nstatic and moved to the respective file.\n\nA few internal functions in flash chip drivers had chipaddr parameters\nwhich are no longer needed.\n\nThe lines touched by flashctx changes have been adjusted to 80 columns\nexcept in header files.\n\nCorresponding to flashrom svn r1474.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "eaacd2d4e7485d747e4e0bbd54b7bb44cf3fd179",
      "tree": "5e023363074cbe351bc6ded9f20c3f116e6c6f1c",
      "parents": [
        "f382e352ac63108ec0f912ff52b538c99f46c340"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 09 23:40:00 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 09 23:40:00 2011 +0000"
      },
      "message": "Register Parallel/LPC/FWH programmers the same way SPI programmers are registered\n\nAll programmers are now calling programmer registration functions and\ndirect manipulations of buses_supported are not needed/possible anymore.\n\nNote: Programmers without parallel/LPC/FWH chip support should not call\nregister_par_programmer().\n\nAdditional fixes:\nSet max_rom_decode.parallel for drkaiser.\nRemove abuse of programmer_map_flash_region in it85spi.\nAnnotate several FIXMEs in it85spi.\n\nCorresponding to flashrom svn r1463.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "a28087fab98105a46111af9d4dc1062aba38fd37",
      "tree": "59ef0a70048a38ea157293f38b15ce3811cf5320",
      "parents": [
        "ca081461af3b51cc30c33e48325ec2636fcbbf91"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Sep 13 23:14:25 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Sep 13 23:14:25 2011 +0000"
      },
      "message": "Make the laptop warning less scary if unsure\n\nTelling the user to use \"force_I_want_a_brick\" if it is not even a\nlaptop, is a bit over-the-top. Introduce a new laptop parameter\n\"this_is_not_a_laptop\" that allows to force operation, but only if\nthe detection is not sure.\n\nCorresponding to flashrom svn r1440.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "ad470347fdf7da1da2b690c4ae0579b09b879bfa",
      "tree": "47583e45701d93d66e0f8d34bf3d5c620305d71f",
      "parents": [
        "3093f8f75e807a17637921f2e20a4d3c83f5fd62"
      ],
      "author": {
        "name": "Tadas Slotkus",
        "email": "devtadas@gmail.com",
        "time": "Sat Sep 03 17:15:00 2011 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sat Sep 03 17:15:00 2011 +0000"
      },
      "message": "Introduce ERROR_FATAL, abort upon failed chipset enables\n\nCorresponding to flashrom svn r1426.\n\nSigned-off-by: Tadas Slotkus \u003cdevtadas@gmail.com\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "1a227954f2c7d0a25d42bcea2ea0b901ceb0f464",
      "tree": "ff9f4d8bbe04e1e80755b43b36b990b74d6845b3",
      "parents": [
        "4deb8c6a7ad0d4290cb7272a11da94139019c6ae"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 27 07:13:06 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 27 07:13:06 2011 +0000"
      },
      "message": "Rename CHIP_BUSTYPE_FOO to BUS_FOO\n\nIt\u0027s shorter to type, and we have less problems with the 80 column limit.\n\nCorresponding to flashrom svn r1396.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "a34d7190377cb085df5346e58405c117dbaede29",
      "tree": "cb91d6d51031de7b195f4586549603e3a0e82080",
      "parents": [
        "46fa068fa21353efe41d9b41092817f7a6f5a4aa"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jul 26 00:54:42 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jul 26 00:54:42 2011 +0000"
      },
      "message": "Be more refined regarding DMI chassis types\n\nWe had broken laptops in the past that were not detected as such because\ntheir DMI chassis-type was either undefined/out-of-spec, or set to\n\u0027other\u0027 or \u0027unknown\u0027.\n\nthis patch tries to mitigate this problem as follows:\n- if the DMI chassis-type clearly identifies the system as\n  laptop/notebook/mobile platform then nothing changes: the user gets\n  the laptop warning without a hint to the force switch.\n- if the DMI chassis-type is not specific enough, we warn the user\n  similarly, but tell them the switch.\n\nto reduce the number of false positives i have added a few new\nchassis types that we have encountered in the last months to the list.\n\nCorresponding to flashrom svn r1390.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "24c35e458da6cd59ba01d83cf07ac94daace2f6c",
      "tree": "3ec0dd1d91f4c723e0a61832e01f569fce341e01",
      "parents": [
        "269de3533ac58de85bf874afcbc862d73e1944c7"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Wed Jul 13 11:22:03 2011 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Wed Jul 13 11:22:03 2011 +0000"
      },
      "message": "Change \"class\" parameter name to \"devclass\" to avoid C++ issues\n\nIn C++ \"class\" is a reserved keyword, and as we\u0027ll want to use libflashrom\nfrom C++ code at some point, let\u0027s make sure it doesn\u0027t cause issues.\nOther places in the code already used \"devclass\" anyway, so it also increases\nconsistency and readability a bit.\n\nCorresponding to flashrom svn r1371.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "8bb2021d77c8ee213b53d671687b7a1179335522",
      "tree": "a77cc4239b59731e98cf6c9681b5a7c665613038",
      "parents": [
        "9d9a1042332cd08aa66eee6f37d80c0f09f47d70"
      ],
      "author": {
        "name": "David Hendricks",
        "email": "dhendrix@google.com",
        "time": "Tue Jun 14 01:35:36 2011 +0000"
      },
      "committer": {
        "name": "David Hendricks",
        "email": "david.hendricks@gmail.com",
        "time": "Tue Jun 14 01:35:36 2011 +0000"
      },
      "message": "Use shutdown callback mechanism to shutdown programmers\n\nThis patch attempts to resolve some programmer shutdown ordering issues\nby having the programmer init functions register shutdown callbacks explicitly\nwherever it makes most sense. Before, assumptions were made that could lead to\nthe internal programmer\u0027s state changing before the external programmer could be\nshut down properly. Now, each programmer cleans up after itself and (hopefully)\nperforms each operation in the correct order.\n\nAs a side-effect, this patch gives us a better usage model for reverse\noperations such as rpci_* and rmmio_*. In the long-run, this should make\nreversing the initialization process easier to understand, less tedious, and\nless error-prone.\n\nIn short, this patch does the following:\n- Registers a shutdown callback during initialization for each programmer.\n- Kills the .shutdown function pointer from programmer_entry struct. Also,\n  make most shutdown functions static.\n- Adds a few minor clean-ups and corrections (e.g. missing physunmap() calls).\n\nTODO: Remove forward declaration of serprog_shutdown() (added to simplify diff)\n\nCorresponding to flashrom svn r1338.\n\nSigned-off-by: David Hendricks \u003cdhendrix@google.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "b9dbe48b77384e2faf0619161fc5c55afe388ea9",
      "tree": "8b556f82073e824bc1e9a4cc9547d67b1d902cee",
      "parents": [
        "627975196d0630a137548df631756e656a8139af"
      ],
      "author": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed May 11 17:07:07 2011 +0000"
      },
      "committer": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed May 11 17:07:07 2011 +0000"
      },
      "message": "Kill central list of SPI programmers\n\nRemove the array spi_programmer, replace it by dynamic registration\ninstead. Also initially start with no busses supported, and switch to\nthe default non-SPI only for the internal programmer.\n\nAlso this patch changes the initialization for the buses_supported variable\nfrom \"everything-except-SPI\" to \"nothing\". All programmers have to set the\nbus type on their own, and this enables register_spi_programmer to just add\nthe SPI both for on-board SPI interfaces (where the internal programmer\nalready detected the other bus types), as well as for external programmers\n(where we have the default \"none\").\n\nCorresponding to flashrom svn r1299.\n\nSigned-off-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "580d29a9b13b828039ff58c2b3cc69a3d9bc2666",
      "tree": "27f06e9e298630e25a624033967e8b31c6d73861",
      "parents": [
        "4c82318e4ac57b6da384700fb9d454535b62b3ae"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu May 05 07:12:40 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu May 05 07:12:40 2011 +0000"
      },
      "message": "Revamp board-specific quirk handling, allow for laptop support\n\nHandle board-specific quirks in three phases:\n1. Before Super I/O probing (e.g. blacklisting of some Super I/O probes,\nor unhiding the Super I/O)\n2. Before the laptop enforcement decision (e.g. whitelisting a laptop\nfor flashing)\n3. After chipset enabling (all current board enables)\n\nImplementation note: All entries in board_pciid_enables get an\nadditional phase parameter. Alternative variants (3 tables instead of 1)\nalso have their downsides, and I chose table bloat over table\nmultiplication).\n\nWith this patch, it should be possible to whitelist supported laptops\nwith a matching entry (phase P2) in board_pciid_enables which points to\na function setting laptop_ok\u003d1. (In case DMI is broken, matching might\nbe a little bit more difficult, but it is still doable.)\n\nCorresponding to flashrom svn r1294.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "bfecef6986b25b630605054680264daf09046f65",
      "tree": "a54fe83e5bd047ca0ae0af1469973a76acddceb8",
      "parents": [
        "880e867ae823dbbd140731f2eaa2ea656b4b9153"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Apr 27 14:34:08 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Apr 27 14:34:08 2011 +0000"
      },
      "message": "Add support for more than one Super I/O or EC per machine\n\nFlashrom currently only supports exactly one Super I/O or Embedded\nController, and this means quite a few notebooks and a small subset of\ndesktop/server boards cannot be handled reliably and easily.\nAllow detection and initialization of up to 3 Super I/O and/or EC chips.\n\nWARNING! If a Super I/O or EC responds on multiple ports (0x2e and\n0x4e), the code will do the wrong thing (namely, initialize the hardware\ntwice). I have no idea if we should handle such situations, and whether\nwe should ignore the second chip with identical ID or not. Initializing\nthe hardware twice for the IT87* family is _not_ a problem, but I don\u0027t\nknow how well IT85* can handle it (and whether IT85* would listen at\nmore than one port anyway).\n\nCorresponding to flashrom svn r1289.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n\nThanks to Thomas Schneider for testing on a board with ITE IT87* SPI.\nTest report (success) is here: http://paste.flashrom.org/view.php?id\u003d379\n\nThanks to David Hendricks for testing on a Google Cr-48 laptop with\nITE IT85* EC SPI. Test report (success) is here:\nhttp://www.flashrom.org/pipermail/flashrom/2011-April/006275.html\nAcked-by: David Hendricks \u003cdhendrix@google.com\u003e\n"
    },
    {
      "commit": "18430a08aa144ee4bb5c5192970f2327a18d1ef9",
      "tree": "d8bb91fbf705263eccba22046515c5208a115acb",
      "parents": [
        "602de9829cc730e3fbc401297419e9acdfb0fe83"
      ],
      "author": {
        "name": "Stefan Reinauer",
        "email": "stepan@coresystems.de",
        "time": "Wed Oct 06 02:56:44 2010 +0000"
      },
      "committer": {
        "name": "Stefan Reinauer",
        "email": "stefan.reinauer@coreboot.org",
        "time": "Wed Oct 06 02:56:44 2010 +0000"
      },
      "message": "Remove duplicate includes from the code\n\nCorresponding to flashrom svn r1196.\n\nSigned-off-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "5cfc94a98be9fa2317220c76367fe1792c328461",
      "tree": "75b4baeb1b33fe031ef74aaddd2529f1330aa994",
      "parents": [
        "cb3eb051729118b3ac5acd67064ba519bb0cd88e"
      ],
      "author": {
        "name": "Vladimir \u0027phcoder\u0027 Serbinenko",
        "email": "phcoder@gmail.com",
        "time": "Wed Sep 29 23:37:24 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Sep 29 23:37:24 2010 +0000"
      },
      "message": "Support for Loongson-2F (MIPS) flashing\n\nCorresponding to flashrom svn r1183.\n\nSigned-off-by: Vladimir \u0027phcoder\u0027 Serbinenko \u003cphcoder@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "0a6f9ca171a205129573c11564c91701bc45f83c",
      "tree": "f13ccadb18e166402eeaa529276dbc570497a80e",
      "parents": [
        "eaf5ead473f738b948ec307d0f673414e04cf75c"
      ],
      "author": {
        "name": "Peter Lemenkov",
        "email": "lemenkov@gmail.com",
        "time": "Mon Sep 20 17:23:38 2010 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Mon Sep 20 17:23:38 2010 +0000"
      },
      "message": "internal: remove unused variable\n\nThe variable \u0027ret\u0027 is unused when compiling on big-endian architecture.\n\nThis produces an \"unused variable\" message, which might be treated as error\nif -Werror was passed to compiler.\n\nWith this patch I was able to compile flashrom cleanly on ppc and ppc64:\n\nhttp://koji.fedoraproject.org/koji/taskinfo?taskID\u003d2472482\nhttp://koji.fedoraproject.org/koji/taskinfo?taskID\u003d2472484\n\nCorresponding to flashrom svn r1180.\n\nSigned-off-by: Peter Lemenkov \u003clemenkov@gmail.com\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "5b997c3ed66ddbbb9470f27d4e27ab4c263bc9cf",
      "tree": "adbaace5de6bb0d97a58143c7e3ae775a15d47ff",
      "parents": [
        "1d3a2fefbc636fb569bd1d018fb97b1b17c08e99"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 27 22:41:39 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 27 22:41:39 2010 +0000"
      },
      "message": "Split off programmer.h from flash.h\n\nProgrammer specific functions are of absolutely no interest to any file\nexcept those dealing with programmer specific actions (special SPI\ncommands and the generic core).\n\nThe new header structure is as follows (and yes, improvements are\npossible):\nflashchips.h  flash chip IDs\nchipdrivers.h  chip-specific read/write/... functions\nflash.h  common header for all stuff that doesn\u0027t fit elsewhere\nhwaccess.h hardware access functions\nprogrammer.h  programmer specific functions\ncoreboot_tables.h  header from coreboot, internal programmer only\nspi.h SPI command definitions\n\nCorresponding to flashrom svn r1112.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "76d4b373ddbe191d621102c502aa4a9ab6c8bb25",
      "tree": "dc504608f4210643a4a0c5d3280fc7342530678e",
      "parents": [
        "2b6dcb36c4121ed12fa2fb66f133365bd88f2456"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 10 16:56:32 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 10 16:56:32 2010 +0000"
      },
      "message": "Generify support for ITE IT8705 Super I/O\n\nAutodetect the ITE IT8705 Super I/O and enable flash writes if it\nperforms LPC-\u003eParallel translation. Remove board enables which triggered\nthe IT8705 write enable manually. Change the IT87 SPI special case to\ncover IT87 LPC-\u003eSPI and LPC-\u003eParallel translation.\n\nCorresponding to flashrom svn r1073.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n\nTested on Syntax SV266A.\nAcked-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\n\nTested on Shuttle AK38N, all operations work fine.\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "2b6dcb36c4121ed12fa2fb66f133365bd88f2456",
      "tree": "bea24b22c91729fd1054a4d285bc8f051e5a8f3b",
      "parents": [
        "7af6cefa482d4ceadbd9b68d6db12ad9759c8b04"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Jul 08 10:13:37 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Jul 08 10:13:37 2010 +0000"
      },
      "message": "Unify programmer parameter extraction\n\nMake programmer_param static by converting all users to extract_programmer_param.\nProgrammer parameters can no longer be separated with a\ncolon, they have to be separated with a comma.\n\nCorresponding to flashrom svn r1072.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "744132af4b9f629716394f9c22f6add71cc73ef9",
      "tree": "46de6c5dc108fc2868603fdc606e7328a83f1703",
      "parents": [
        "d1be52d545329debd2128c1aa8685b31dfaa0a0e"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 06 09:55:48 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 06 09:55:48 2010 +0000"
      },
      "message": "Various places in the flashrom source feature custom parameter extraction from programmer_param\n\nThis led to wildly differing syntax for programmer parameters, and\nit also voids pretty much every assumption you could make about\nprogrammer_param. The latter is a problem for libflashrom.\n\nUse extract_param everywhere, clean up related code and make it more\nfoolproof. Add two instances of exit(1) where we have no option to\nreturn an error. Remove six instances of exit(1) where returning an\nerror was possible.\n\nWARNING: This changes programmer parameter syntax for a few programmers!\n\nCorresponding to flashrom svn r1070.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "dcef67e46875f9600c39716c2ac8b843bb86429c",
      "tree": "21e5b1ed74666095913b80cbb08fb0a822bf14ba",
      "parents": [
        "c96a8bd458a985fdc2ffe299482dfb353728dbd1"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Jun 21 23:20:15 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Jun 21 23:20:15 2010 +0000"
      },
      "message": "Kill unneeded #include wherever possible\n\nTested on Linux, FreeBSD, NetBSD, OpenBSD, DOS.\nThanks to Jonathan A. Kollasch and Idwer Vollering for testing.\n\nCorresponding to flashrom svn r1057.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Idwer Vollering \u003cvidwer+lists.flashrom@gmail.com\u003e\n"
    },
    {
      "commit": "b5b161b260b119d90a7f22e1c8ec1174de5eacf9",
      "tree": "ac20b472a8408769c2a9956b28a2ea72fcc4b469",
      "parents": [
        "2db77a03ef8b6b3cb980b9aba7e5009d778f62da"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 04 19:05:39 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 04 19:05:39 2010 +0000"
      },
      "message": "Internal: introduce processor enables and abort if top/bottom alignment is unknown\n\nThe internal programmer needs correct information about flash_base and\nchip window top/bottom alignment on non-x86 before it can be used. Abort\nany internal programmer action for now until the code is fixed.\n\nAdd the concept of a processor enable for systems where flashing is\nimpacted by processor settings or processor model.\n\nCorresponding to flashrom svn r1031.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "71127727dcff4f7e70b318d7a5eb87f0c8fcc4d7",
      "tree": "ecd2ba9f67c51b833d22051628b79ccb1dcde0a2",
      "parents": [
        "a0020df6309e4536fcb97bd93bc46e2068f0ffe8"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon May 31 15:27:27 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon May 31 15:27:27 2010 +0000"
      },
      "message": "So far, we have up to 4 different names for the same thing (ignoring capitalization)\n\nCONFIG_FT2232SPI (makefile config option)\nFT2232_SPI_SUPPORT (#define)\nft2232spi (programmer name)\nft2232_spi.c (programmer file)\n\nUse CONFIG_* with underscores for makefile config options and #defines\nand kill the useless _SUPPORT idiom.\nUse lowercase names with underscores for programmer names and programmer\nfiles.\n\nWith this, you can run \"grep -i ft2232_spi\" and find everything related\nto the ft2232_spi driver. Same applies to all other programmers.\n\nCorresponding to flashrom svn r1023.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "cceafa2ad073fe58b10b6f2317cbd36a63d7ccb5",
      "tree": "f07a19288da12246cf3da5d886be39915cfc59a5",
      "parents": [
        "8d341b5ae774bdf8249c68944a77b72b7c4be640"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed May 26 01:45:41 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed May 26 01:45:41 2010 +0000"
      },
      "message": "Handle the following architectures in generic flashrom code\n\n- x86/x86_64 (little endian)\n- PowerPC (big endian)\n- MIPS (big+little endian)\n\nNo changes to programmer specific code. This means any drivers with MMIO\naccess will _not_ suddenly start working on big endian systems, but with\nthis patch everything is in place to fix them.\n\nCompilation should work on all architectures listed above for all\ndrivers except nic3com and nicrealtek which require PCI Port IO which is\nx86-only for now.\n\nTo compile without nic3com and nicrealtek, run\nmake distclean\nmake CONFIG_NIC3COM\u003dno CONFIG_NICREALTEK\u003dno\n\nThanks to Misha Manulis for testing early versions of this patch on\nPowerPC (big endian) with the satasii programmer.\nThanks to Segher Boessenkool for design review and for helping out with\ncompiler tricks and pointing out that we need eieio on PowerPC.\nThanks to Vladimir Serbinenko for compile testing on MIPS (little\nendian) and PowerPC (big endian) and for runtime testing on MIPS (little\nendian).\nThanks to David Daney for compile testing on MIPS (big endian).\nThanks to Uwe Hermann for compile and runtime testing on x86_64.\n\nDO NOT RUN flashrom ON NON-X86 AFTER APPLYING THIS PATCH!\nThis patch only provides the infrastructure, but does not convert any\ndrivers, so flashrom will compile, but it won\u0027t do the right thing on\nnon-x86 platforms.\n\nCorresponding to flashrom svn r1013.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Misha Manulis \u003cmisha@manulis.com\u003e\nAcked-by: Vladimir \u0027phcoder/φ-coder\u0027 Serbinenko \u003cphcoder@gmail.com\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Segher Boessenkool \u003csegher@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "270237687a7f550e86c01548550f25b1d0a31d65",
      "tree": "88f216baf356f0e22fb8c8f7733ca9f175bd1545",
      "parents": [
        "837d81079689927b78baa5c606c6d8484ea21a95"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Apr 28 15:22:14 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Apr 28 15:22:14 2010 +0000"
      },
      "message": "One of the problems is that --force had multiple meanings\n\n- Force chip read by faking probe success.\n- Force chip access even if the chip is bigger than max decode size for\n  the flash bus.\n- Force erase even if erase is known bad.\n- Force write even if write is known bad.\n- Force writing even if cbtable tells us that this is the wrong image\n  for this board.\n\nThis patch cleans up --force usage:\n- Remove any suggestions to use --force for probe/read from flashrom\n  output.\n- Don\u0027t talk about \"success\" or \"Found chip\" if the chip is forced.\n- Add a new internal programmer parameter boardmismatch\u003dforce. This\n  overrides any mismatch detection from cbtable/image comparisons.\n- Add a new internal programmer parameter laptop\u003dforce_I_want_a_brick.\n- Adjust the documentation for --force.\n- Clean up the man page a bit whereever it talks about --force or\n  laptops.\n\nAdditional changes in this patch:\n- Add warnings about laptops to the documentation.\n- Abort if a laptop is detected. Can be overridden with the programmer\nparameter mentioned above.\n- Add \"Portable\" to the list of DMI strings indicating laptops.\n- Check if a chip specified with -c is known to flashrom.\n- Programmer parameter reliability and consistency fixes.\n- More paranoid self-checks.\n- Improve documentation.\n\nCorresponding to flashrom svn r996.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "01f3ef4fd1b46cac6b2601c7ae3f4fa1fc1df462",
      "tree": "fbcfb9e21e27d3a33bdb778d3907f05a2af13659",
      "parents": [
        "ed479d2a8728dc12f1f78170cacfaf542cd0b44e"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Mar 25 02:50:40 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Mar 25 02:50:40 2010 +0000"
      },
      "message": "Autodetect ITE IT87* LPC-\u003eSPI translation on all boards without the need for a board enable\n\nMove boards which had an IT87* SPI board enable from the board enable\nlist to the OK list.\n\nMark the Gigabyte GA-MA78GPM-DS2H as OK.\n\nChange the it87spi forced port parameter to it87spiport\u003d...\n\nFix incorrect indentation in the man page.\n\nTested by Ward Vandewege on both variants of the Gigabyte GA-M57SLI-S4\nhttp://www.flashrom.org/pipermail/flashrom/2010-March/002712.html\n\nTested by 李彥學 (Ian-Xue Li) on the Gigabyte GA-MA78GPM-DS2H\nhttp://www.flashrom.org/pipermail/flashrom/2010-March/002723.html\n\nCorresponding to flashrom svn r983.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Ward Vandewege \u003cward@gnu.org\u003e\n"
    },
    {
      "commit": "439597032eae0f41745d9173805945c5c85475eb",
      "tree": "76c0a1816f51012775006aa8c82bdfe78901b5ab",
      "parents": [
        "645c6df21a9570da7f8ac07fe740a0df3a1d4d1c"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sat Mar 13 17:28:29 2010 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sat Mar 13 17:28:29 2010 +0000"
      },
      "message": "Various coding style and cosmetic changes\n\n - Fix coding-style, whitespace, and indentation in a few places.\n\n - Consistently use the same spelling (\"Super I/O\") everywhere.\n\nCorresponding to flashrom svn r933.\n\n - Make some flashrom stdout output look a bit nicer.\n \nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "0bdc0929f54feda41687aa5180a17f7d9661f7ed",
      "tree": "d927e42fe112b245062ff252a5329233792bcf84",
      "parents": [
        "5fbd18dc8d2801281645f8b325af02b7acaaa66b"
      ],
      "author": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Sun Feb 28 01:33:48 2010 +0000"
      },
      "committer": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Sun Feb 28 01:33:48 2010 +0000"
      },
      "message": "Implement tested/untested status for board enables\n\nThe message printing code greatly exceed the 80 character limit. I can\nreformat it on request to obey the limit.\n\nIntended behaviour:\non untested boards an explanation of that status is printed and the board\nenable code is not run, unless the option \"boardenable\u003dforce\" has been\npassed to the internal programmer.\n\nCorresponding to flashrom svn r919.\n\nSigned-off-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\nAcked-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\n"
    },
    {
      "commit": "8c1df280e344ca4bff76b9061db419bb174c2e4a",
      "tree": "bcb007bd2f154ed156675411c3aef585dd66ff86",
      "parents": [
        "0d7fb7c5ed4dab13b6e94329992862599323ccfc"
      ],
      "author": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Fri Feb 26 09:51:20 2010 +0000"
      },
      "committer": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Fri Feb 26 09:51:20 2010 +0000"
      },
      "message": "Warn if running on laptops\n\nCorresponding to flashrom svn r916.\n\nSigned-off-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "fb0828f3db2b6c298b5617690a70cc92f34f3287",
      "tree": "4377b78675ae61d7d79b2eefa270aa957cae8379",
      "parents": [
        "ca33140ebf2ea7b09f03717fc29ee3369c99d3d2"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Feb 12 19:35:25 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Feb 12 19:35:25 2010 +0000"
      },
      "message": "Split internal.c into internal.c and hwaccess.c\n\nLinking in support for the internal programmer doesn\u0027t make sense if you\nonly need hardware (ioport, memory) access.\n\nNote: This patch was created by \"svn cp internal.c hwaccess.c\" and then\nremoving stuff from both files. That\u0027s why you can\u0027t apply the patch\nas-is before running the svn cp.\n\nCorresponding to flashrom svn r898.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\n"
    },
    {
      "commit": "6701ee833c31ab5152757ac1366a41bf103dc342",
      "tree": "b33e9eda381e265189c43ab65e24ca6c62da11e5",
      "parents": [
        "012a31e201de4eac7635753aefda1067642516eb"
      ],
      "author": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed Jan 20 14:14:11 2010 +0000"
      },
      "committer": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed Jan 20 14:14:11 2010 +0000"
      },
      "message": "Matching board via DMI\n\nIf a board is not uniquely identifiable by PCI device/subsystem IDs, a\nstring can be specified to be looked for (case-sensitive, substring or\nanchored) for now in one of the following DMI items in addition to matching\nthe PCI IDs:\n - System Manufacturer\n - System Product Name\n - System Version\n - Baseboard Manufacturer\n - Baseboard Product Name\n - Baseboard Version\n\nStrings are anchored re-like (^ at the beginning, $ at the end), but\nthere are no plans to support full regular expressions and matched to any\nof the mentioned fields.\n\nThe match is only made if DMI info is available and the string matches.\nIf no DMI info is available and the PCI IDs match, a warning is printed\nas the board can not be autodetected.\n\nIt\u0027s still open to discussion whether we add an DMI override switch to\nspecify a string that will definitely match, and whether this switch is\nonly used if no DMI is available or whether it overrides or augments DMI\ndata.\n\nDMI data is currently read using dmidecode. This tool is available for\nall major platforms except MacOS X. I heard that there also is a MacOS X\nversion of dmidecode, but didn\u0027t investigate that.\n\nCorresponding to flashrom svn r874.\n\nSigned-off-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\nAcked-by: Luc Verhaegen \u003clibv@skynet.be\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "cc1802db50df74aa850d444ba0d7f6854bb7abd6",
      "tree": "5b902bfbb1830ee9aa50be6ddd9fcc72469619cd",
      "parents": [
        "c57a920f3495526102daaff052942ab05be6cde0"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jan 06 10:21:00 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jan 06 10:21:00 2010 +0000"
      },
      "message": "Move generic programmer function into newly introduced programmer.c\n\nSome programmers (most notably FT2232SPI) use fallback_* and noop_*,\nbut those functions lived inside internal.c and were unavailable if no\nPCI-based programmers were compiled in.\n\nMove those functions to the new file programmer.c. Thanks to Patrick\nGeorgi for finding this.\n\nCorresponding to flashrom svn r829.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Patrick Georgi \u003cpatrick.georgi@coresystems.de\u003e\n"
    },
    {
      "commit": "36cc1c8144db8c0a84d7b79dd3011fb2a0398cfb",
      "tree": "0522bdd685b608f066795f75bb905b31c3b56b43",
      "parents": [
        "552420b0d677bfb8d3b0b487255b244964c948e9"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Dec 24 03:11:55 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Dec 24 03:11:55 2009 +0000"
      },
      "message": "Internal.c was always compiled in because it hosted the function internal_delay()\n\nMove that function to udelay.c and compile internal.c only if really\nneeded. physmap.c is only needed if the programmer is internal or a PCI\ncard. Make its compilation conditional.\n\nCorresponding to flashrom svn r822.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\n"
    },
    {
      "commit": "14e100c9335e310b3e84763f29306392574a14f4",
      "tree": "78dd44d70ae4c3bd0a80fbb959499d06becaa42f",
      "parents": [
        "72a9a02b3864fb730ae9a8cff35266633842e324"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Dec 22 23:42:04 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Dec 22 23:42:04 2009 +0000"
      },
      "message": "SuperI/O detection now happens unconditionally and before the chipset enable\n\nWe could run it after chipset enable, but it definitely has to happen\nbefore board enable because the board enable usually accesses the\nSuperI/O. With this patch, it is possible to add a struct superio to the\nboard enable table for more accurate matching in case subsystem IDs are\nambiguous. This patch focuses on the generic infrastructure aspect and\non support for IT8712F/IT8716F.\n\nThanks go to Adrian Glaubitz and Ward Vandewege for testing.\n\nCorresponding to flashrom svn r813.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Luc Verhaegen \u003clibv@skynet.be\u003e\nAcked-by: Adrian Glaubitz \u003cglaubitz@physik.fu-berlin.de\u003e\n"
    },
    {
      "commit": "66ef4e5ff32b1d19281c9d6723b1acfe566f9763",
      "tree": "df65fe458cd52070208d9e46e23418a015b16696",
      "parents": [
        "a7e30503fad58008e739627dcb84348ded8ef572"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Dec 13 22:28:00 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Dec 13 22:28:00 2009 +0000"
      },
      "message": "Internal (onboard) programming was the only feature which could not be disabled\n\nMake various pieces of code conditional on support for internal\nprogramming. Code shared between PCI device programmers and onboard\nprogramming is now conditional as well.\n\nIt is now possible to build only with dummy support:\nmake CONFIG_INTERNAL\u003dno CONFIG_NIC3COM\u003dno CONFIG_SATASII\u003dno\nCONFIG_DRKAISER\u003dno CONFIG_SERPROG\u003dno CONFIG_FT2232SPI\u003dno\n\nThis allows building for a specific use case only, and it also\nfacilitates porting to a new architecture because it is possible to\nfocus on highlevel code only.\n\nNote: Either internal or dummy programmer needs to be compiled in due to\nthe current behaviour of always picking a default programmer if -p is\nnot specified. Picking an arbitrary external programmer as default  \nwouldn\u0027t make sense.\n\nBuild and runtime tested in all 1024 possible build combinations. The\nonly failures are by design as mentioned above.\n\nCorresponding to flashrom svn r797.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\n"
    },
    {
      "commit": "9f46cfca38fad1c35c02bddfaa1f5325e5cd5354",
      "tree": "78f6e15401905632b29a18e08700772a5e380f4b",
      "parents": [
        "964f27498b21177e01607bf3c20c5e3e9054b85a"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Nov 15 17:13:29 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Nov 15 17:13:29 2009 +0000"
      },
      "message": "Add support for every single SiS chipset out there\n\nThe two existing SiS chipset enables (compared to the 28 in this patch)\nwere refactored, and one of them was fixed.\n\nA function to match PCI vendor/class combinations was added to generic\ncode.\n\nTested on the \"Elitegroup K7S5A\". Results are somewhat unexpected (some\nPCI settings seem to be inaccessible, but it still works).\n\nThis is not based on any docs, but rather on detailed analysis\nof existing opensource code for some of the chipsets.\n\nThanks to for Adrian Glaubitz testing.\n\nCorresponding to flashrom svn r759.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Adrian Glaubitz \u003cglaubitz@physik.fu-berlin.de\u003e\n"
    },
    {
      "commit": "4740c6ff3c230c83fa618557f94cc6675c5ab3b1",
      "tree": "9e511c0b501d900db3810632231ca8a620a118e6",
      "parents": [
        "ab044b20a2b44097ce65c3fd4f232ee7170303ba"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Sep 16 10:09:21 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Sep 16 10:09:21 2009 +0000"
      },
      "message": "Allow to exclude each of the external programmer drivers from being compiled in\n\nExample make commandline if you want only internal programmers:\nmake CONFIG_FT2232SPI\u003dno CONFIG_SERPROG\u003dno CONFIG_NIC3COM\u003dno\nCONFIG_SATASII\u003dno CONFIG_DRKAISER\u003dno CONFIG_DUMMY\u003dno\n\nOf course, all of the CONFIG_* symbols can be mixed and matched as\nneeded. CONFIG_FT2232SPI is special because even if it is enabled, make\nwill check if the headers are available and skip it otherwise.\n\nCorresponding to flashrom svn r724.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    },
    {
      "commit": "9246ff40631a619579e563b65c80ff353cb33e46",
      "tree": "fb1a6a524d5674f010a8044c036539a47604272f",
      "parents": [
        "84395ed69f290555e12e7256007eaf9a762762ff"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Sep 02 13:43:56 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Sep 02 13:43:56 2009 +0000"
      },
      "message": "Don\u0027t abort if chipset init failed because the failing init may have been a warning only\n\nEven a failing chipset init (maybe due to unknown chipset) could still\nget us reasonable probe results or at least forced reads.\n\nCorresponding to flashrom svn r708.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "415e513d90042b91c1a50a9afe1282e393e574b8",
      "tree": "601ab4f703afa1c577cd532b3d195543a5a7fdb2",
      "parents": [
        "8fa64816ae22ff9e5fdcc00b153010459edb45f4"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Aug 12 11:39:29 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Aug 12 11:39:29 2009 +0000"
      },
      "message": "Add fallback functions for programmer shutdown and memory mapping and fix FT2232 and IT87\n\nFT2232 and IT87 programmers used functions of the dummy programmer\ninstead of fallback functions.\n\nThe dummy programmer is a \"real\" programmer with possible side effects\nand its functions should not be abused by other programmers. Make\nFT2232 and IT87 use official fallback functions instead. Create\nfallback_shutdown(). Create fallback_chip_writeb(). Convert the\nprogrammer #defines to an enum.\n\nCorresponding to flashrom svn r678.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    },
    {
      "commit": "db41c59e3ba625659e397675384b08b4ec967fe6",
      "tree": "f46b32f2d22db4fcbec9f2d33a3566f71e7dbb07",
      "parents": [
        "be726817f770572f4d950c7e572c308112a69e3b"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Aug 09 21:50:24 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Aug 09 21:50:24 2009 +0000"
      },
      "message": "Releasing IO permissions was done by hand everywhere\n\nUse a proper abstraction. Kill unneeded #include statements.\n\nCorresponding to flashrom svn r672.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    },
    {
      "commit": "0bd2a2bdc10720776fe50b96d24d30323ec24c09",
      "tree": "1348763e5fa6f4ea9d13a5b84d63999dcf132749",
      "parents": [
        "ca8bfc6c22196e5d16c6d2625c65d6b50c04daaf"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 05 18:32:07 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 05 18:32:07 2009 +0000"
      },
      "message": "Sometimes we want to read/write more than 4 bytes of chip content at once\n\nAdd chip_{read,write}n to the external flasher infrastructure which\nread/write n bytes at once.\n\nFix a few places where the code used memcpy/memcmp although that is\nstrictly impossible with external flashers.\nPlace a FIXME in the layout.c code because usage is not totally clear\nand needs to be fixed to support external flashers.\n\nAs a nice side benefit, we get a noticeable speedup for builtin flash\nreading which is now a memcpy() of the full flash area instead of a\nseries of single-byte reads.\n\nCorresponding to flashrom svn r579.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "ca8bfc6c22196e5d16c6d2625c65d6b50c04daaf",
      "tree": "329ba3be9013c0a5934c66233a3c5205f0ed4b20",
      "parents": [
        "945d26a0d7eef8faf46453d5f2717c21b59bafc2"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 05 17:48:08 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 05 17:48:08 2009 +0000"
      },
      "message": "Add programmer-specific delay functions\n\nAdd external programmer delay functions so external programmers can\nhandle the delay on their own if needed.\n\nCorresponding to flashrom svn r578.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "c6915939d962b4414b1890f6049f7fa19e1602eb",
      "tree": "046978a97e7de417a0abdc4286552a01ccb68760",
      "parents": [
        "3def09d401e2282a6296639fdf935fb0a7790b7a"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sun May 17 23:12:17 2009 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sun May 17 23:12:17 2009 +0000"
      },
      "message": "Factor out fallback_map/unmap, most external programmers don\u0027t need and special handling here\n\nCorresponding to flashrom svn r531.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "78185dcb3c58552acb652780c4182a77a74f16f0",
      "tree": "81c15dc84a3217eb3359b300fea38bca68421ed0",
      "parents": [
        "05fab75d73019f430c16ad9a9d3800f8e7e40173"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun May 17 15:49:24 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun May 17 15:49:24 2009 +0000"
      },
      "message": "Use accessor functions for MMIO\n\nSome MMIO accesses used volatile, others didn\u0027t (and risked\nnon-execution of side effects) and even with volatile, some accesses\nlooked dubious.\n\nSince the MMIO accessor functions and the onboard flash accessor\nfunctions are functionally identical (but have different signatures),\nmake the flash accessors wrappers for the MMIO accessors.\n\nFor some of the conversions, I used Coccinelle. Semantic patch follows:\n\n@@ typedef uint8_t; expression a; volatile uint8_t *b; @@ - b[a] + *(b\n+ a) @@ expression a; volatile uint8_t *b; @@ - *(b) |\u003d (a); + *(b) \u003d\n*(b) | (a); @@ expression a; volatile uint8_t *b; @@ - *(b) \u003d (a); +\nmmio_writeb(a, b); @@ volatile uint8_t *b; @@ - *(b) + mmio_readb(b) @@\ntype T; T b; @@ ( mmio_readb | mmio_writeb ) (..., - (T) - (b) + b )\n\nCorresponding to flashrom svn r524.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n\nUwe tested read, write, erase with this patch on a random board to make\nsure nothing breaks.\n\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "2cac6860c3f451a661d8281d25a72dd5db89f4e4",
      "tree": "7592a765da81385bff5cfe1aa62f215618be948e",
      "parents": [
        "8403ccb49f98d1583736984c92d62735d9d466b5"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sat May 16 22:05:42 2009 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sat May 16 22:05:42 2009 +0000"
      },
      "message": "Drop unused/duplicated #includes and some dead code\n\nBuild-tested on 32bit x86.\n\nCorresponding to flashrom svn r521.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "5820f42ef209cfa0d4070fa9be96c9c91123a93f",
      "tree": "a505b6f813fc4f7601f77e7195e479dfddc73571",
      "parents": [
        "4059598a068f7694f2238a3811d85cbfa520a8d5"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat May 16 21:22:56 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat May 16 21:22:56 2009 +0000"
      },
      "message": "Introduce a type \"chipaddr\" to abstract the offsets within flash regions\n\nUse chipaddr instead of volatile uint8_t * because when we access chips\nin external flashers, they are not accessed via pointers at all.\n\nBenefits: This allows us to differentiate between volatile machine\nmemory accesses and flash chip accesses. It also enforces usage\nof chip_{read,write}[bwl] to access flash chips, so nobody will\nunintentionally use pointers to access chips anymore. Some unneeded\ncasts are removed as well. Grepping for chip operations and machine\nmemory operations doesn\u0027t yield any false positives anymore.\n\nCompile tested on 32 bit and 64 bit Linux.\n\nCorresponding to flashrom svn r519.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "9ee107721f746b0b81dcacf2f59c4f48d4210b9e",
      "tree": "7e77126eedcc62dbf83c65cb365d597b7cbb1d03",
      "parents": [
        "9862251f8985237445de98060b2fb319c2d6d519"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat May 16 01:23:55 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat May 16 01:23:55 2009 +0000"
      },
      "message": "Add generic 16 bit and 32 bit chip read/write emulation to the external flasher infrastructure\n\nThe emulation works by splitting 32 bit accesses into 16 bit accesses\nand 16 bit accesses into to 8 bit accesses. That way, external flashers\ncan mix and match the amount of emulation they need.\n\nCorresponding to flashrom svn r517.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    }
  ],
  "next": "3b7e75a23e0d9f812e7e7792734846720dbfd648"
}
