)]}'
{
  "log": [
    {
      "commit": "d6c17f6528fd3d3a30f6cf63885c269423777796",
      "tree": "989aec45575df7079b230c42c1f2f5b8a0f24ab4",
      "parents": [
        "6c67f1c1288b585a936fe90815d8029ba9af60c6"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 14:04:31 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 14:04:31 2013 +0000"
      },
      "message": "Makefile: Warn if user tries to compile for libpayload w/o crossgcc\n\nWhile flashrom is not as picky on compilers as coreboot, there is still a\nhigh probablilty of breakage when one combines libpayload and distribution\ncompilers. Print a warning if we detect that to give the daring user a hint\nhow to resolve the explosions potentially following below it.\n\nCorresponding to flashrom svn r1740.\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": "6c67f1c1288b585a936fe90815d8029ba9af60c6",
      "tree": "95cf0eb88efc9b8061fae5c2c9a770b286b48b9f",
      "parents": [
        "beaffd8859cdb8dd7a460810fa68794dfb9c6769"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 08:38:23 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 08:38:23 2013 +0000"
      },
      "message": "Fix ROM decoding on VIA VT82C596 and VT82C686A/B\n\nThese support an additional bit which we did not turn on yet.\nWithout this patch they decode up to 512 kB, with this up to 1 MB.\n\nDisentangle the enables of unrelated but mostly compatible chipsets\ntoo, add some more debug output and set the max_rom_decode limits.\nAlso, make warnings really only warnings.\n\nCorresponding to flashrom svn r1739.\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": "beaffd8859cdb8dd7a460810fa68794dfb9c6769",
      "tree": "64161051da3569c3eff1d44fa0fbab934c5d2c36",
      "parents": [
        "8c4602b8ab34564de9810e3be4b5913e16c55933"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 08:29:06 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 08:29:06 2013 +0000"
      },
      "message": "Enable sector erase function for selected ST M50 chips\n\nAffected chips: M50FLW040A, M50FLW040B, M50FLW080A, M50FLW080B.\n\nCorresponding to flashrom svn r1738.\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": "8c4602b8ab34564de9810e3be4b5913e16c55933",
      "tree": "367ecc5e38d1b4fc8f65af21aa1e599358ba8b12",
      "parents": [
        "4404f73bd9ba7b4014bcd7a38e533f67027aa854"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 08:29:00 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 08:29:00 2013 +0000"
      },
      "message": "Add support for ST M50LPW080\n\nCorresponding to flashrom svn r1737.\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": "4404f73bd9ba7b4014bcd7a38e533f67027aa854",
      "tree": "6e759d9d533e8d1bd7e736607c411232412b18f8",
      "parents": [
        "4c6d3a4b732732eb20bfb0fc9d857abaa4c41c88"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 08:28:56 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 12 08:28:56 2013 +0000"
      },
      "message": "Cleanup ST M50 driver\n\nThere are two locking strategies used by this umbrella family, one uniform\nand one that matches the sector layout of the chip. Refactor the functions\ninvolved and rename the overly complicated file to just stm50.c and the\nfunctions accordingly.\n\nThis fixes unlocking of some of the non-uniform chips and gets rid of the\nabuse of page_size.\n\nCorresponding to flashrom svn r1736.\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": "4c6d3a4b732732eb20bfb0fc9d857abaa4c41c88",
      "tree": "2fb7c8a3f0fa3252481a29b2a2d272f6f5fabe07",
      "parents": [
        "449abe28ab764775f5483eb4288f070cfa6dc22b"
      ],
      "author": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Wed Sep 11 23:35:03 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 11 23:35:03 2013 +0000"
      },
      "message": "Add an internal DMI decoder\n\nPreviously we had to rely on dmidecode to decode the DMI/SMBIOS table.\nThis patch integrates a DMI decoder into flashrom. The old behavior of calling\ndmidecode can be brought back by using CONFIG_INTERNAL_DMI\u003dno.\n\nSignificant portions of this patch were taken from dmidecode, hence add its\nauthors to the copyright notice (dmidecode is also GPL2+). We do a few things\ndifferently though. First of all we do more bounds checking to prevent accessing\nunmapped memory. We do not support disovery via EFI (yet), but memory\nscanning only. We handle the chassis-type lock bit correctly which dmidecode\ndid not for a long while.\n\nThe API to the rest of flashrom remains stable, but the output changes slightly.\nTo share as much code as possible (which actually is not much), i have added\ndmi_fill methods that get called in dmi_init. They are reponsible to fill the\ndmi_strings array and setting the is_laptop variable. After it is called, dmi_init\nprints all dmi_strings. Previously the strings were printed in the order they were\ndiscovered, followed by the chassis-type, which is now output earlier (in dmi_fill).\n\nBecause DJGPP does not support strnlen a simple implementation was added\nfor it.\n\nThis is still only available on x86; actually it is not even compiled in for other\narchitectures at all anymore.\n\nCorresponding to flashrom svn r1735.\n\nSigned-off-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by: Maciej Pijanka \u003cmaciej.pijanka@gmail.com\u003e\nTested-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "449abe28ab764775f5483eb4288f070cfa6dc22b",
      "tree": "5097f031f37ab65a6915736c85e310ad71feeea3",
      "parents": [
        "cbd566548df4c752460268ed7f4a5f6c97d3062b"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 11 23:34:57 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 11 23:34:57 2013 +0000"
      },
      "message": "DOS refinements\n\nThis allows to use the DOS library trees stored in a user-specified directory.\n\nI have mirrored the needed patches, sources and binaries (the latter\nare properly licensed to allow that) in the flashrom wiki, so use those\nURLs instead of the original sources.\n\nCorresponding to flashrom svn r1734.\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": "cbd566548df4c752460268ed7f4a5f6c97d3062b",
      "tree": "d7ad0d8588c1ec95f521d5db2848f97944f2963d",
      "parents": [
        "97b6c113b12ea2c3252a59073f2541e9e0e283ab"
      ],
      "author": {
        "name": "Corey Osgood",
        "email": "corey.osgood@gmail.com",
        "time": "Tue Sep 10 10:42:48 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Sep 10 10:42:48 2013 +0000"
      },
      "message": "Add board enable for Bcom WinNET P680\n\nThis patch replaces Alex Mauer\u0027s previous patch for this board (from 2008).\nTested to read, erase, and write on 2 different boards, both with AMIC\nA29040BL flash chips, using both stock BIOS and coreboot images.\n\nThis patch marks the AMIC chip as tested at the same time.\n\nCorresponding to flashrom svn r1733.\n\nSigned-off-by: Corey Osgood \u003ccorey.osgood@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "97b6c113b12ea2c3252a59073f2541e9e0e283ab",
      "tree": "ed3d2cf1a924543f83a5c8153bf603ef71141e75",
      "parents": [
        "c70bc8a3c67f7e56126b7ae3d9084a11b658c02d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 30 22:23:02 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 30 22:23:02 2013 +0000"
      },
      "message": "layout: Rename romlayout_t to romentry_t\n\nThe type describes one entry of the whole layout actually.\nUsing layout_entry_t or something similar would be more correct,\nbut due to it length we will use \"rom\" instead of \"layout\" here and\nin upcoming code.\n\nCorresponding to flashrom svn r1732.\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": "c70bc8a3c67f7e56126b7ae3d9084a11b658c02d",
      "tree": "7d5f03ea0dc4c4f051e7defbee793d0a80144409",
      "parents": [
        "7562f7d7d531632f42695b567defe49f0f883692"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 30 22:22:57 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 30 22:22:57 2013 +0000"
      },
      "message": "layout: Rename romimages to num_rom_entries\n\nSince we are planning to support image files for rom entries, rename the\nvariable used to count the number of known rom entries to avoid confusion.\nThere is already num_include_args with similar semantics, hence we use\nnum_rom_entries.\n\nCorresponding to flashrom svn r1731.\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": "7562f7d7d531632f42695b567defe49f0f883692",
      "tree": "acb202156fcbc9487070112ae8c2fee03e84feb3",
      "parents": [
        "4b02e90743af5e0a983b45075997a42863a0d7c7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Aug 30 21:29:45 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 30 21:29:45 2013 +0000"
      },
      "message": "libpayload: Remove file I/O.c\n\nRead_buf_from_file() and write_buf_to_file() use file streams which are\nnot supported in libpayload.\n\nCorresponding to flashrom svn r1730.\n\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\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": "4b02e90743af5e0a983b45075997a42863a0d7c7",
      "tree": "9ffd6c3d805abab27369bce1e8d8e5f7d09777ed",
      "parents": [
        "a93d9dc54d7c7a98912632a3097fe853e813c28d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Aug 29 13:15:36 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Aug 29 13:15:36 2013 +0000"
      },
      "message": "Add now auto-generated manpage to svn:ignore\n\nI had to touch svn directly, where is my reimbursement?\n\nCorresponding to flashrom svn r1729.\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": "a93d9dc54d7c7a98912632a3097fe853e813c28d",
      "tree": "9ffd6c3d805abab27369bce1e8d8e5f7d09777ed",
      "parents": [
        "ec7a35f7ec8be2cb541de86263a35b1d54206a6b"
      ],
      "author": {
        "name": "Joerg Mayer",
        "email": "jmayer@loplof.de",
        "time": "Thu Aug 29 00:38:19 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Aug 29 00:38:19 2013 +0000"
      },
      "message": "Automatically add version and date to the manpage\n\nTo avoid funny effects of ever changing files tracked by the VCS this patch\nmoves the manpage data to flashrom.8.tmpl and generates the actual\nmanpage with a new makefile target if needed.\n\nCorresponding to flashrom svn r1728.\n\nSigned-off-by: Joerg Mayer \u003cjmayer@loplof.de\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": "ec7a35f7ec8be2cb541de86263a35b1d54206a6b",
      "tree": "059d2268083b17410a117d28c7dfa2de7439471b",
      "parents": [
        "8e19b0414c16f8f67749594a1b4a5c59799fb50b"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Aug 29 00:38:14 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Aug 29 00:38:14 2013 +0000"
      },
      "message": "Improve getrevision.sh\n\n - remove bashism.\n - simplify some git-related code.\n - improved parameter and error handling.\n - additional -d/--date action which is similar to the timestamp action.\n - support for an optional path parameter.\n - there is only one sane time format.\n - and only one sane date format too.\n - use UTC dates and times only.\n - vastly improve git_url() to print the correct remote url and\n   \"nearest\" branch.\n - remove username from repository URLs.\n - add \"-dirty\" to local revisions if there are uncommitted changes.\n - indicate in local revisions how many git-only commits were done\n   since branching from upstream svn.\n - fix svn_revision() fallback to svn info and remove git-svn.\n - print leading r in script instead of hardcode it in the makefile;\n   no more \"0.9.7-runknown\".\n - make retrieving the upstream revision work even in cloned git-svn\n   repositories.\n - more abstractions and helper functions.\n - less fragmentation of actual functionality.\n\nCorresponding to flashrom svn r1727.\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": "8e19b0414c16f8f67749594a1b4a5c59799fb50b",
      "tree": "fd621ef7c6ec55edd126c96ab28d24c0ca6c4f98",
      "parents": [
        "1dd5d3aa6605ed8c6928d10f4fd48f3f0abf04c2"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Aug 28 09:55:04 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Aug 28 09:55:04 2013 +0000"
      },
      "message": "libpayload: By default build libflashrom.a instead of flashrom\n\nFlashrom won\u0027t build nor run as native payload very soon (or ever).\nThis patch changes a special GNU make variable that allows to select\nthe default goal which is taken if no goal is given explicitly on\nthe command line. Normally this would be the first rule in Makefile,\ni.e. all. This won\u0027t compile if the target OS is libpayload, hence\nchange it to \"libflashrom.a\" in that case.\n\nThis requires two not completely ancient GNU make features:\n - MAKECMDGOALS\n - .DEFAULT_GOAL\n\nChecking for these with ancient-only GNU make features is non-trivial\nand hereby postponed.\n\nCorresponding to flashrom svn r1726.\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": "1dd5d3aa6605ed8c6928d10f4fd48f3f0abf04c2",
      "tree": "3181bbab82b26b34181d4357033e28b9e85edf6c",
      "parents": [
        "fdc4f7ebb9c8986e8244bcbc2c52c320c2112d45"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 27 18:02:19 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 27 18:02:19 2013 +0000"
      },
      "message": "Add support for AT45CS1282\n\nThis one is even more strange than the AT45DB chips. Like the AT45DB321C\nit does not support any power-of-2 page sizes. There is only one asymmetrical\neraser and that uses two opcodes.\n\nCorresponding to flashrom svn r1725.\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": "fdc4f7ebb9c8986e8244bcbc2c52c320c2112d45",
      "tree": "8e559a495d0ba970d816133e36ad33ecc7372d24",
      "parents": [
        "db4e87dccf040f29dca18571bc455ee23fb430eb"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 27 18:02:12 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 27 18:02:12 2013 +0000"
      },
      "message": "Add support for AT45DB321C\n\nIt seems like this model is one-of-a-kind... it shares some properties\nwith the older versions of the AT45DB series as well as with new ones.\n\nCorresponding to flashrom svn r1724.\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": "db4e87dccf040f29dca18571bc455ee23fb430eb",
      "tree": "d88ea1cd6abaa3cbad69fb447eb6dc0092fbb78e",
      "parents": [
        "6db8bad530612262a42c492f06816eb85b8598fc"
      ],
      "author": {
        "name": "Aidan Thornton",
        "email": "makosoft@gmail.com",
        "time": "Tue Aug 27 18:01:53 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 27 18:01:53 2013 +0000"
      },
      "message": "Add support for Atmel AT45DB* chips\n\nCorresponding to flashrom svn r1723.\n\nSigned-off-by: Aidan Thornton \u003cmakosoft@gmail.com\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": "6db8bad530612262a42c492f06816eb85b8598fc",
      "tree": "578abd9fbc75340910eca37fbc29f999553fe39e",
      "parents": [
        "037cd84889029ecc793e6f03e1ca8046b84e5b4a"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Aug 25 13:31:43 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Aug 25 13:31:43 2013 +0000"
      },
      "message": "Add support for Fujitsu MBM29LV160BE/TE\n\nCorresponding to flashrom svn r1722.\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": "037cd84889029ecc793e6f03e1ca8046b84e5b4a",
      "tree": "b49b6aa98e43f55001c6219d9cf1b003b4ec6922",
      "parents": [
        "4dd0f906c6ee620d16f2e87e56344a2cb0bf0a46"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Aug 25 00:10:56 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Aug 25 00:10:56 2013 +0000"
      },
      "message": "Makefile: Explain process of handling CONFIG_* variables\n\nCorresponding to flashrom svn r1721.\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": "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": "bdead0d27dc03c2f40b36d98dc94b717f38d56e7",
      "tree": "054c1e6873b476f147b9adbfdde01d38c09b878d",
      "parents": [
        "89edf36c177eec2b1a2cbbcaff48c4e9a946a190"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Aug 24 02:10:18 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Aug 24 02:10:18 2013 +0000"
      },
      "message": "Get rid of sp_die()\n\n- Add return values to sp_flush_stream(), sp_pass_writen(),\n  sp_execute_opbuf(), sp_execute_opbuf_noflush(),\n  sp_check_opbuf_usage(), sp_do_read_n().\n- Use those return values to propagate errors instead of exiting.\n  In some places this has to wait for core API changes (error handling for\n  chip_readb, chip_readn, chip_write) hence comments are added instead.\n\nCorresponding to flashrom svn r1719.\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": "89edf36c177eec2b1a2cbbcaff48c4e9a946a190",
      "tree": "20c63c2ef9a36bd6ba61248d8bbc337cf4a509e5",
      "parents": [
        "184c52c94191a354afb0cd2c91e9932e66a5cd3d"
      ],
      "author": {
        "name": "Niklas Söderlund",
        "email": "niso@kth.se",
        "time": "Fri Aug 23 23:29:23 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 23 23:29:23 2013 +0000"
      },
      "message": "Add additional error handling to pcidev_readbar() callers\n\nThis is mostly a leftover of Niklas\u0027 \"remove exit call from pcidev_init\" patch.\nWhile not explicitly necessary detecting errors early is usually a good idea.\n\nCorresponding to flashrom svn r1718.\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": "184c52c94191a354afb0cd2c91e9932e66a5cd3d",
      "tree": "0ab547292871177cc6f3e2b81c479d4ce78a56bf",
      "parents": [
        "d31d3c3b17fee4579204cf6fc578539af12a3723"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 23 21:51:32 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 23 21:51:32 2013 +0000"
      },
      "message": "Introduce serialport_config()\n\nThis allows to easily reconfigure a serial port as needed in\nthe Bus Pirate speedup patch.\n\nCorresponding to flashrom svn r1717.\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": "d31d3c3b17fee4579204cf6fc578539af12a3723",
      "tree": "95be5d1392f97d5d6a28d97bf519182b789d8095",
      "parents": [
        "3285d7f2c0df996d53d668d6c7d47bade53cc76c"
      ],
      "author": {
        "name": "Joerg Mayer",
        "email": "jmayer@loplof.de",
        "time": "Sat Aug 17 23:58:01 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Aug 17 23:58:01 2013 +0000"
      },
      "message": "getrevision.sh: Make sure we don\u0027t get translated output\n\n(And explicitly require bash.)\n\nCorresponding to flashrom svn r1716.\n\nSigned-off-by: Joerg Mayer \u003cjmayer@loplof.de\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "3285d7f2c0df996d53d668d6c7d47bade53cc76c",
      "tree": "65f5ae9029b197c43ab9e2285ecaca3eda9a4070",
      "parents": [
        "7fb5aa049bee3c685835dc24c8184c5897e4a6bd"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Aug 14 16:28:19 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Aug 14 16:28:19 2013 +0000"
      },
      "message": "Allow physmap_common() to round address ranges to page boundaries\n\nAutomatically round address ranges requested from rphysmap() to page\nboundaries. Other physmap() variants were not changed so this is\nsafe regarding unmapping.\n\nI had also to shorten the readbility defines for the physmap_common\nparameters to make the calls fit a single line.\n\nCorresponding to flashrom svn r1715.\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": "7fb5aa049bee3c685835dc24c8184c5897e4a6bd",
      "tree": "3d193e98d25da24307824ab8d0939f3538ec2e50",
      "parents": [
        "36e9f4b3595c6e8b13f80f85785a91b65ecad62f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Aug 14 15:48:44 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Aug 14 15:48:44 2013 +0000"
      },
      "message": "Automatically unmap physmap()s\n\nSimilarly to the previous PCI self-clean up patch this one allows to get rid\nof a huge number of programmer shutdown functions and makes introducing\nbugs harder. It adds a new function rphysmap() that takes care of unmapping\nat shutdown. Callers are changed where it makes sense.\n\nCorresponding to flashrom svn r1714.\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": "36e9f4b3595c6e8b13f80f85785a91b65ecad62f",
      "tree": "d2f6b83838634e65348c92c248cf63a8891bc972",
      "parents": [
        "241e9d5e44d0885213b4456b1b684e1e746b6957"
      ],
      "author": {
        "name": "David Hendricks",
        "email": "dhendrix@google.com",
        "time": "Wed Aug 14 14:47:26 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Aug 14 14:47:26 2013 +0000"
      },
      "message": "Add getrevision.sh utility script\n\nThis allows to retrieve various data from SCM systems (git and svn) and\nuse them in the build process to better indicate which source was used.\nFor now only use it for the upstream (i.e. svn) revision number, which\nwas previously implemented by an awful line in the Makefile.\n\nCorresponding to flashrom svn r1713.\n\nSigned-off-by: David Hendricks \u003cdhendrix@google.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "241e9d5e44d0885213b4456b1b684e1e746b6957",
      "tree": "6eab434965e1fa2fd862c670263a03c65a8c77aa",
      "parents": [
        "dbac46c3efd6858212280c7ae6854bb0c9f93b7a"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 13 22:13:01 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 13 22:13:01 2013 +0000"
      },
      "message": "Increase flashrom release number to 0.9.7\n\nCorresponding to flashrom svn r1710.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: David Hendricks \u003cdhendrix@google.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "dbac46c3efd6858212280c7ae6854bb0c9f93b7a",
      "tree": "8188320a07f63b187c21f902ac238fe7a513225c",
      "parents": [
        "20a36baf56afac4896c8abe5a94dbe974a25dbc9"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 13 22:10:41 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 13 22:10:41 2013 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 19\n\nTested mainboards:\nOK:\n - ASUS P8H77-V LE\n   http://www.flashrom.org/pipermail/flashrom/2013-June/011127.html\n - HP Pegatron IPMEL-AE (Evans-GL6)\n   Reported by Idwer on IRC\n - MSI MS-7379 (G31M)\n   http://paste.flashrom.org/view.php?id\u003d1726\n - MSI MS-7816 (H87-G43)\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011349.html\n - MSI MS-9830 (IM-945GSE-A, A9830IMS)\n   http://paste.flashrom.org/view.php?id\u003d1730\n - Supermicro X8SAX\n   http://paste.flashrom.org/view.php?id\u003d1717\nNOT OK:\n - Intel D2700MUD\n   http://paste.flashrom.org/view.php?id\u003d1723\n - Intel DQ45CB\n   http://www.flashrom.org/pipermail/flashrom/2013-August/011369.html\n\nChipsets:\n - Add PCI ID for Intel\u0027s Coleto Creek.\n - Mark Intel H87 (0x8c4a) as OK.\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011349.html\n\nMiscellaneous:\n - ichspi: Fix printing address ranges if space is divided by FPB.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1709.\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": "20a36baf56afac4896c8abe5a94dbe974a25dbc9",
      "tree": "3dcc5846a0fee64271b2395f10385c86bc50d76c",
      "parents": [
        "c4f44df55fbe624e283ce3db83e1dea6925fd5da"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Aug 13 07:09:57 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Aug 13 07:09:57 2013 +0000"
      },
      "message": "Abort on unused programmer parameters\n\nAn unused programmer parameter is a sign that the user wanted to either\ndo something not supported by the programmer or misspelled a parameter\nwhich may be essential for the given programmer.\n\nAborting is the only safe choice. If the programmer parameter is unused\nbecause of an error during programmer init, aborting would have happened\nanyway due to that error.\n\nCorresponding to flashrom svn r1708.\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": "c4f44df55fbe624e283ce3db83e1dea6925fd5da",
      "tree": "23f602150eecb4599d675e45ff1a61640953d52e",
      "parents": [
        "463dd6953eed14930ae9819c7194ea1cc3b8ef40"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 12 22:58:43 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 12 22:58:43 2013 +0000"
      },
      "message": "Fix verification operation\n\nI broke this in r1702 where I enabled avoidance of the verification step if\nwe did not modify anything in the erase/write step. The problem is that\nall_skipped is initialized to true and hence it would only ever verify if\nthere have been changes noted in the erase/write step. This obviously\nbreaks the verification operation (-v/--verify) because there we never\nenter the erase/write loop.\n\nThe better alternative would be to enable (the implicit) verification\nin the write loop and not in cli_classic.c. This would require a bigger\nchange due to the existance of dont_verify_it. Eventually this is the\nright thing to do but not so shortly before a release.\n\nCorresponding to flashrom svn r1707.\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": "463dd6953eed14930ae9819c7194ea1cc3b8ef40",
      "tree": "9e50a76624538bb25a390e08f7d179b7b1bba998",
      "parents": [
        "d2a7e873f3c4125ce1f40d2a5330105c571658d0"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Aug 08 12:00:19 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Aug 08 12:00:19 2013 +0000"
      },
      "message": "Detect AMD Yangtze (found in Kabini and Tamesh)\n\nThe PCI ID of the LPC bridge doesn\u0027t change between Hudson-2/3/4 and\nYangtze (Kabini/Temash) but the SPI interface does. Bail out in case we\ndetect Yangtze and add infrastructure to distinguish other families too for\nfurther refactorings.\n\nAlso, add ASRock IMB-A180 to the laptop whitelist and refine the IMC\nwarning a bit.\n\nTested on ASRock IMB-A180 with and w/o USE_YANGTZE_HEURISTICS, and\nby Chris Goodrich from Sage on\n - SB600\n - SB700\n - SB800\n - Hudson 3 (A70M)\n - Kabini\n\nCorresponding to flashrom svn r1706.\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": "d2a7e873f3c4125ce1f40d2a5330105c571658d0",
      "tree": "4f09a747d0d538628355c3179b616c790b73cdef",
      "parents": [
        "70e145989bb9d5214a2c50b79b23c457d12f04a5"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Jul 30 09:34:44 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jul 30 09:34:44 2013 +0000"
      },
      "message": "dediprog: Fix crash if usb_open() fails\n\nCorresponding to flashrom svn r1705.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "70e145989bb9d5214a2c50b79b23c457d12f04a5",
      "tree": "26b1a82d5a33ea45f5fe0d02cdab4b5f5ab36e7a",
      "parents": [
        "1aa80b0648337cf3dcc50932fb237ee69fd82f82"
      ],
      "author": {
        "name": "Rudolf Marek",
        "email": "r.marek@assembler.cz",
        "time": "Thu Jul 25 22:58:56 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:58:56 2013 +0000"
      },
      "message": "sbxxx: Handle active IMCs in AMD chipsets\n\nDetect and temporarily disable the IMC while accessing the flash.\nDisable writes on default, but allow the user to enforce it.\n\nCorresponding to flashrom svn r1704.\n\nSigned-off-by: Rudolf Marek \u003cr.marek@assembler.cz\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: David Hendricks \u003cdhendrix@google.com\u003e\n"
    },
    {
      "commit": "1aa80b0648337cf3dcc50932fb237ee69fd82f82",
      "tree": "4a642d9d6200c4ab16dbf917974bdb66f15dfc4c",
      "parents": [
        "0554ca5cd33fe2cc599cfdbe91fff03c8fa752c5"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:58:51 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:58:51 2013 +0000"
      },
      "message": "Rename Numonyx and ST (SGS/Thomson) chips to Micron\n\nMicron acquired Numonyx and asked us to change the vendor names to\n\"Micron\". For the chips clearly emerging from the former\nmanufacturers we (will) use \"Micron/Numonyx/ST\" and the original\nname for the rest. Resorting the chip entries makes the diff\nunreadable, hence the stand-alone commit.\n\nCorresponding to flashrom svn r1703.\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": "0554ca5cd33fe2cc599cfdbe91fff03c8fa752c5",
      "tree": "1d37d76b5b3d810c6b2a1286a5de7c2b60ce69a0",
      "parents": [
        "305e0b999a7d452a845709d5558c17a31afe178c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:54:25 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:54:25 2013 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 18\n\nTested mainboards:\nOK:\n - ASUS C60M1-I\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010578.html\n - ASUS P8H77-I\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010607.html\n - ASUS P8H77-M\n   http://www.flashrom.org/pipermail/flashrom/2013-May/010994.html\n - ASUS P8P67 LE (B2)\n   http://www.flashrom.org/pipermail/flashrom/2013-May/010972.html\n - Elitegroup GeForce6100PM-M2 (V3.0)\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011177.html\n - GIGABYTE GA-P55A-UD7\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011302.html\n - MSI B75MA-E33 (MS-7808)\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010659.html\n - MSI H77MA-G43 (MS-7756)\n   http://www.flashrom.org/pipermail/flashrom/2013-April/010853.html\n - MSI KA780G (MS-7551)\n   http://paste.flashrom.org/view.php?id\u003d1617\n - SAPPHIRE IPC-E350M1\n   Reported by xvilka on IRC\n - Supermicro X8DTG-D\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011305.html\nNOT OK:\n - ASRock Fatal1ty Z77 Performance\n   http://www.flashrom.org/pipermail/flashrom/2013-January/010467.html\n - ASRock Z68 Extreme4\n   http://www.flashrom.org/pipermail/flashrom/2013-May/010984.html\n - ASUS P8B75-M LE\n   http://www.flashrom.org/pipermail/flashrom/2013-April/010867.html\n - ASUS P8P67-M PRO\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010541.html\n - ASUS P8Z68-V LE\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010582.html\n - Intel DQ77MK\n   http://paste.flashrom.org/view.php?id\u003d1603\n - Supermicro X9DRD-7LN4F\n   http://paste.flashrom.org/view.php?id\u003d1582\n - Supermicro X9SCE-F\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010588.html\n - Supermicro X9SCM-F\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010527.html\n - Tyan S7066\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010630.html\n\nChipsets:\n - Marked Intel B75 as tested\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010659.html\n - Marked Intel H77 as tested\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010607.html\n - Removed 10de:03e2 because it is apparently the MCP61 host bridge.\n   It was reclassified to Host Bridge in the PCI device ID database and there\n   is at least one report suggesting this configuration too:\n   http://www.flashrom.org/pipermail/flashrom/2012-August/009716.html\n - Added MCP89 which hopefully works with the code for previous versions.\n   Thanks to James Laird for submitting this change.\n\nTested flash chips:\n - Atmel AT25DF641(A) to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2013-June/011113.html\n - Atmel AT25F512 to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2013-April/010904.html\n   Also, change its ID according to Modification of PCN SC040401A:\n   \"There has been a change in the returned value of the Product Identification\n   (RDID) command, the AT25F512A RDID code is 65h compared to 60h from\n   the AT25F512 product.\"\n   It seems to be quite likely that all AT25F512 are fully functional relabeled\n   AT25F1024 chips. There are even some hints in the datasheet:\n   in table 6 they stress that address pin 16 needs to be low under all circum-\n   stances; while continuous reads can wrap around on the AT25F1024 the DS\n   notes \"For the AT25F512, the read command must be terminated when the\n   highest address (00FFFF) is reached.\" OTOH the lock bit semantics are\n   different, but this has not been tested thoroughly\n - Atmel AT25F512A to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1569\n - Eon EN25F05 to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1571\n - Macronix MX25L12805(D) to PREW (+REW)\n   http://www.flashrom.org/pipermail/flashrom/2013-April/010913.html\n - Spansion S25FL256S......0 and S25FL512S to P/!R!E!W (+P)\n   Tested by Stefan Tauner\n - Micron/Numonyx/ST M25PX80 to PREW (+PREW)\n   Tested by Stefan Tauner\n - Micron/Numonyx/ST N25Q032..3E and N25Q128..3E to PREW (+PREW)\n   Tested by Stefan Tauner\n - Micron/Numonyx/ST N25Q256..3E and N25Q512..3G to P/!R!E!W (+P)\n   Tested by Stefan Tauner\n - SST SST25VF040B to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1574\n - SST SST25VF040B.REMS to PREW (+EW)\n   http://paste.flashrom.org/view.php?id\u003d1575\n - ST M25P05-A to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1576\n - ST M29W512B to PREW (+W)\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010635.html\n - Winbond W25Q64.W to PREW (+PREW)\n   Tested by the chromiumos guys.\n - Winbond W25Q128.V to PREW (+REW)\n   http://www.flashrom.org/pipermail/flashrom/2013-June/011108.html\n - Winbond W25X20 to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2013-May/010990.html\n\nMiscellaneous:\n - Add Lenovo X201 to the laptop whitelist.\n - Add chip IDs for the ESMT F25L..QA family.\n - Add chip IDs for a few Macronix MX25 models.\n - The list of flashchips is not sorted strictly alphabetically and should not be\n   either. Refine the comment explaining the scheme on top of the list.\n - Support -L output of chip sizes with up to 6 decimal places (up to 4 Gb).\n - Use z length modifier in (more) prints for size_t types.\n - Remove chips \u003e16MB again because our current implementation of memory mapping\n   the flash chip violates common rules by mapping a window as large as the chip.\n   This leads to failing mmaps as can be seen here:\n   http://paste.flashrom.org/view.php?id\u003d1695\n - Document spispeed parameter of linux_spi (and fix some leaks).\n - Rephrase the \"multiple chips detected\" message because it was confusing.\n - Skip verification step if the image is equal to the flash contents.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1702.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-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": "305e0b999a7d452a845709d5558c17a31afe178c",
      "tree": "3b65c3cd627ff55d683f26bf0819913a3e63c5d8",
      "parents": [
        "4a03865cd9b192e6e65b5dbc5a928af87322385d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Jul 17 23:46:44 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Jul 17 23:46:44 2013 +0000"
      },
      "message": "Uintptr_t-ify map_flash_region functions\n\nUnsigned long is not the right type for manipulating pointer values.\nSince C99 there are suitable unsigned and signed types available, namely\nuintptr_t and intptr_t respectively.\n\nUse them in functions assigned to programmers\u0027 map_flash_region fields and\ntheir callers where applicable.\n\nThis patch also changes the display width of all associated address values in\nphysmap.c to 16/8 hex characters depending on the actual size by\nintroducing a macro PRIxPTR_WIDTH and exploiting printf\u0027s * field width\nspecifier.\n\nCorresponding to flashrom svn r1701.\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": "4a03865cd9b192e6e65b5dbc5a928af87322385d",
      "tree": "c63c9cc54a0c8db1b14b1f9f3686f2a37166897c",
      "parents": [
        "136388ffa9f41c76a8bdd10021356de022a5d2f7"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Jul 17 09:28:00 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Jul 17 09:28:00 2013 +0000"
      },
      "message": "print.c: Fix multiline support\n\n - Use the reentrant tokenizer version strtok_r to break up vendor and model\n   names in print.c.\n - Add implementation of strtok_r for mingw (strtok_r is POSIX only).\n - Free allocated temporary memory again.\n\nCorresponding to flashrom svn r1700.\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": "136388ffa9f41c76a8bdd10021356de022a5d2f7",
      "tree": "4d87ed034f71072f53922f0a796da0cb5c9fe77a",
      "parents": [
        "c2333751c411b5265326d866f810017cd561643c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jul 15 10:47:53 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jul 15 10:47:53 2013 +0000"
      },
      "message": "Differentiate ultimate error messages depending on programmer used\n\nWith every newly supported programmer the information regarding reboots\non failures becomes more ridiculous. With this patch it is only shown when\nthe internal programmer module was selected.\n\nExample outputs for external programmers:\n1) non-fatal:\n[…]\nReading current flash chip contents... done. FAILED at 0x00000000! Expected\u003d0xff, Found\u003d0x28, failed byte count from 0x00000000-0x0001ffff: 0x1fde7\nERASE FAILED!\nFAILED!\nUh oh. Erase/write failed. Checking if anything changed.\nGood. It seems nothing was changed.\nWriting to the flash chip apparently didn\u0027t do anything.\nPlease check the connections (especially those to write protection pins) between\nthe programmer and the flash chip. If you think the error is caused by flashrom\nplease report this on IRC at chat.freenode.net (channel #flashrom) or\nmail flashrom@flashrom.org, thanks!\n\n2) fatal:\n[…]\nVerifying flash... FAILED at 0x00000000! Expected\u003d0x0f, Found\u003d0xff, failed byte count from 0x00000000-0x0001ffff: 0x1fde6\nYour flash chip is in an unknown state.\nPlease report this on IRC at chat.freenode.net (channel #flashrom) or\nmail flashrom@flashrom.org, thanks!\n\nCorresponding to flashrom svn r1699.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: David Hendricks \u003cdhendrix@google.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "c2333751c411b5265326d866f810017cd561643c",
      "tree": "574e4a82e15854b6bc4393c5f56005fe2b4bda9c",
      "parents": [
        "11990da1d3a4ca913ed5b85888a37188c4a621db"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 23:31:37 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 23:31:37 2013 +0000"
      },
      "message": "Use uintptr_t for chipaddr instead of unsigned long\n\nCorresponding to flashrom svn r1698.\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": "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": "6bf5fe78f1064b56275056b2a90ea4e1c34e42be",
      "tree": "ad79544266cff3bbc268ad3d5eaade252b0dad46",
      "parents": [
        "95b4b6d9f64f15a9077c61bfc4a903370ab415a6"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 21:18:32 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 21:18:32 2013 +0000"
      },
      "message": "Add support for AMD Geode\u0027s MSR on OpenBSD\n\nPreviously the default implementation was used, which always failed.\nOn other systems than the Geode the code is not equal to that anymore,\nbut should not explode because setup_cpu_msr() returns an error and\ntherefore no other MSR functions should be called.\n\nCorresponding to flashrom svn r1696.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by Leonardo Guardati \u003cleonardo@guardati.it\u003e\nAcked-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": "95b4b6d9f64f15a9077c61bfc4a903370ab415a6",
      "tree": "297f65bb92b563edd2ab01e7d26deebfd3af08ac",
      "parents": [
        "1c356bb6c164f00354cd70ec73657fcac7273e2f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 20:55:33 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 20:55:33 2013 +0000"
      },
      "message": "Fix hwaccess (again)\n\nI completely forgot about NetBSD in r1638 which was broken since then.\nAlso, on OpenBSD use iopl again and refine the warning in case we have\ninsufficient privileges.\nThanks to Jonathan A. Kollasch for his help in getting the details right.\n\nCorresponding to flashrom svn r1695.\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": "1c356bb6c164f00354cd70ec73657fcac7273e2f",
      "tree": "28b76b6b23f542aa616f0ebf6f65051b8a9e52f1",
      "parents": [
        "6f59b0bc5124f47294e261bb20924f9a8e505d89"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 11 13:48:52 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 11 13:48:52 2013 +0000"
      },
      "message": "print_wiki: Fixes, explanation re\n\nFlash chips, links to footnotes.\n\n - Escape mainboard notes in the wiki output with \u003cnowiki\u003e (this became\nnecessary because MediaWiki started to convert \u003cmark@zl2tod.net\u003e to\n\u003cmark\u003e). - Add explanations at the top of the flash chip table in the\nwiki. - Add links to the footnotes of mainboards and laptops similarly\nto what MediaWiki does: link from the reference to the footnote and\nvice versa too. Also, check for truncations of the footnotes due to the\nlimited buffer. - Fix a typo introduced in r1555.\n\nCorresponding to flashrom svn r1694.\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": "6f59b0bc5124f47294e261bb20924f9a8e505d89",
      "tree": "4fb4121d32185587067e5d50723ec879d56b8dbe",
      "parents": [
        "c80c4a35a0d4eb51c142fc53ee4ae6d82f4dc37a"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:51 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:51 2013 +0000"
      },
      "message": "Add support for remaining Numonyx (Micron) N25Q chips\n\nAdd...\n - N25Q128..3E\n - N25Q128..1E\n - N25Q256..1E (defunct due to addressing)\n - N25Q256..3E (defunct due to addressing)\n - N25Q512..1E (defunct due to addressing)\n - N25Q512..3E (defunct due to addressing)\n - N25Q00A..3G (defunct due to addressing)\n\nAlso, refine existing family members.\n\nCorresponding to flashrom svn r1693.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "c80c4a35a0d4eb51c142fc53ee4ae6d82f4dc37a",
      "tree": "51a1339cfa3b916613a092a2a50106c671b7916f",
      "parents": [
        "0ec2f7e7e00d27c9551e7fe7c8f5497d87475be2"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:44 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:44 2013 +0000"
      },
      "message": "Add support for Spansion S25FL...S chips\n\nAdd...\n - S25FL128S\n - S25FL256S uniform version (defunct due to addressing)\n - S25FL512S uniform version (defunct due to addressing)\n\nMerge Intel S33 status register functions with this one\u0027s.\n\nCorresponding to flashrom svn r1692.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\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": "0ec2f7e7e00d27c9551e7fe7c8f5497d87475be2",
      "tree": "970dacd648543d9bdc601cce60cee1458ec8e727",
      "parents": [
        "b8e212c3958606e82c21c001418fe51b27e6ebc9"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:36 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:36 2013 +0000"
      },
      "message": "Add support for Spansion S25FL2 chips\n\nAdd...\n - S25FL204K\n - S25FL208K\n - S25FL216K (same ID as S25FL116K)\n\nCorresponding to flashrom svn r1691.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "b8e212c3958606e82c21c001418fe51b27e6ebc9",
      "tree": "6ff57893304dac73da8ae11eb10e131ebcada867",
      "parents": [
        "d07fde68845254036b6617d91da811bc69ffd467"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:27 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:27 2013 +0000"
      },
      "message": "Add support for Micron/Numonyx/ST M25PX80\n\nAlso, refine status register prettyprinting and unlocking of all family\nmembers and add OTP details.\n\nCorresponding to flashrom svn r1690.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "d07fde68845254036b6617d91da811bc69ffd467",
      "tree": "9c209232c130056336631034ff45e7370e18821e",
      "parents": [
        "c08542b9779180cd90da9c6b23dda760797fac83"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:21 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:21 2013 +0000"
      },
      "message": "Add support for AMIC A25LQ16 and A25LQ64\n\nAlso, refine unlocking of A25L032, A25LQ32A and A25LQ032.\n\nCorresponding to flashrom svn r1689.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "c08542b9779180cd90da9c6b23dda760797fac83",
      "tree": "4bce5b7c528450c1439fd97d7700de9112e41472",
      "parents": [
        "d0e3ea1470eb7e16082a853aca5010d20dc0879b"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:14 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:14 2013 +0000"
      },
      "message": "Add support for more Eon EN25QH chips\n\nAdd...\n - EN25QH64\n - EN25QH128\n - EN25QH256 (defunct due to addressing)\n\nCorresponding to flashrom svn r1688.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "d0e3ea1470eb7e16082a853aca5010d20dc0879b",
      "tree": "f381998972806961af753464911f93de9fd3ee47",
      "parents": [
        "01dac17ec586e0476eaea3410d68d516fd6d6a61"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:08 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:08 2013 +0000"
      },
      "message": "Add support for Eon EN25S series\n\nAdd...\n - EN25S10\n - EN25S20\n - EN25S40\n - EN25S80\n - EN25S16\n - EN25S32\n - EN25S64\n\nCorresponding to flashrom svn r1687.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "01dac17ec586e0476eaea3410d68d516fd6d6a61",
      "tree": "8557b004046d1dace6ca40256ca0bc41a31e1172",
      "parents": [
        "3f3390b22c7b94a9d1d5573a030fd0bcc9a8f7bf"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:03 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:03 2013 +0000"
      },
      "message": "Add support for Numonyx M45PE series\n\nAdd...\n - M45PE10\n - M45PE20\n - M45PE40\n - M45PE80\n - M45PE16\n\nCorresponding to flashrom svn r1686.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "3f3390b22c7b94a9d1d5573a030fd0bcc9a8f7bf",
      "tree": "d7ff422da3e33c4e1a12b6e727a4a98f12a54d80",
      "parents": [
        "384de8e7450fc705820ae24419d208e95eddf974"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:28:56 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:56 2013 +0000"
      },
      "message": "Add support for some GigaDevice GD25* chips\n\nAdd...\n - GigaDevice GD25T80\n - GigaDevice GD25Q10\n - GigaDevice GD25Q512\n\nAlso, improve some others.\n\nCorresponding to flashrom svn r1685.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "384de8e7450fc705820ae24419d208e95eddf974",
      "tree": "ca0f37787e7dd7a60b8fe59c1f8432da2a15f9f5",
      "parents": [
        "b6b00e99aac373176e612c79b4579c9e577bd2ed"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:28:49 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:49 2013 +0000"
      },
      "message": "Add support for all Sanyo LE25FW chips\n\nAdd...\n - Sanyo LE25FW403A\n - Sanyo LE25FW418A\n - Sanyo LE25FW806\n - Sanyo LE25FW808\n\nAlso, fix wrong description of Sanyo LE25FW203A.\n\nCorresponding to flashrom svn r1684.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "b6b00e99aac373176e612c79b4579c9e577bd2ed",
      "tree": "b5193c315ee7ea51071874ed8c30435a4aee7e71",
      "parents": [
        "579f1e0b67a49282684a39f6c08bcf0813bd3c5c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:43 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:43 2013 +0000"
      },
      "message": "Add support for Nantronics N25 series\n\nAdd...\n - N25S10\n - N25S20\n - N25S40\n - N25S80\n - N25S16\n\nCorresponding to flashrom svn r1683.\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": "579f1e0b67a49282684a39f6c08bcf0813bd3c5c",
      "tree": "d14c6dfdb3bebba760dc9d83e14f0d5d5641abbe",
      "parents": [
        "278ba6e96766f1d17202642a720f4e4eac007c74"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:28:37 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:37 2013 +0000"
      },
      "message": "Introduce spi_block_erase_db()\n\nUsed for page erase on some chips (e.g. Numonyx M45PE and\nSanyo LF25FW series).\n\nCorresponding to flashrom svn r1682.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@gmail.com\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": "278ba6e96766f1d17202642a720f4e4eac007c74",
      "tree": "f0520da2262238adda4fb28a94fda700722c5bf4",
      "parents": [
        "682122bce7714e285d196be09d4c97666458c487"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:27 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:27 2013 +0000"
      },
      "message": "Introduce additional SPI status register helpers\n\n - spi_prettyprint_status_register_default_welwip():\n   It just prettyprints the plain hex value and the welwip bits.\n - spi_prettyprint_status_register_default_bp4():\n   Prints the hex value, welwip, bp0-5 and srwd bits.\n - spi_disable_blockprotect_bp2_srwd(),\n - spi_disable_blockprotect_bp3_srwd() and\n   spi_disable_blockprotect_bp4_srwd():\n   Three new common block unprotection functions for the frequent\n   cases where there is a status register lock bit at bit #7 and some\n   block protection bits at bits #2-#4, #2-#5 and #2-#6 respectively.\n\nCorresponding to flashrom svn r1681.\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": "682122bce7714e285d196be09d4c97666458c487",
      "tree": "026de7f194bea13e2792bdd28e5edb8242bc93c1",
      "parents": [
        "cecb2c56d07ac45cde56cadc6416e653b0cfafb7"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 23 22:15:39 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 23 22:15:39 2013 +0000"
      },
      "message": "Warn if we skipped all blocks while writing\n\nQuick hack to print a warning if we skip all blocks in a write\nprocess because they are already equal to the requested image. We\nwant something like this to make users aware... and some developers\nwho regularly fall for this too *coughcough*. There might be more\nelegant solutions for this... patches welcome.\n\nThis does not work for erasing because we do that unconditionally.\n\nCorresponding to flashrom svn r1680.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\n"
    },
    {
      "commit": "cecb2c56d07ac45cde56cadc6416e653b0cfafb7",
      "tree": "81788790601ca10fea904cef17f4694134ecbc3d",
      "parents": [
        "0466c819e248881e03a6ec98db5297565816859b"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jun 20 22:55:41 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jun 20 22:55:41 2013 +0000"
      },
      "message": "Fix unlocking function for most Atmel AT2[56]D* chips\n\nI broke unlocking them correctly in r1635 while refactoring (NB: the\ncommit log including the overly selfconfident statement about the\n\"bug in spi_disable_blockprotect_at25df()\").\n\nAffected chips have per sector protection bits and the write protection bits\nin the status register do indicate if none, some or all sectors are protected.\nIt is possible to globally (un)lock all sectors at once but in a way that was\nnot anticipated when refactoring the spi25 unlocking functions into\nspi_disable_blockprotect_generic(). To globally unprotect not only the\nprotection bits (2 and 3) have 0 to be written to them but also bits 4 and 5\nwhich normally would not be touched by spi_disable_blockprotect_generic().\nSome of the chips also support a permanent lockdown with fuses which we\ndo not handle yet.\n\nTo fix this without copying the whole method I introduce another mask\nparameter to spi_disable_blockprotect_generic() namely unprotect_mask.\nSee verbose comments inline for details.\n\nAlso, prettyprint the status register after trying to disable the block\nprotection fails.\n\nCorresponding to flashrom svn r1679.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by: Chi Zhang \u003czhangchi866@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "0466c819e248881e03a6ec98db5297565816859b",
      "tree": "ef4b7b69bdbe80c9a3177341811dce516e7bbd74",
      "parents": [
        "b13d4e699249838babfc37a1d77b8ee27f6d72d9"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 16 10:30:08 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 16 10:30:08 2013 +0000"
      },
      "message": "sbxxx: spibar[0] debug print refinements\n\nNewer models support a 66 MHz clock and fast reads.\nWe should probably distinguish the models better (as we do in ichspi)\nand add support for frequency selection etc. For now this has to\nsuffice.\n\nCorresponding to flashrom svn r1678.\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": "b13d4e699249838babfc37a1d77b8ee27f6d72d9",
      "tree": "bfcf0c34080137b2c1f258eb2ca0ffc3e291deb2",
      "parents": [
        "27cb34b8a99e863cf7ed3a0098c55b059889b80e"
      ],
      "author": {
        "name": "Yung-Chieh Lo",
        "email": "yjlou%chromium.org@gtempaccount.com",
        "time": "Sun Jun 09 14:00:46 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 09 14:00:46 2013 +0000"
      },
      "message": "Add W25Q...W series\n\n - Use \".V\" (and \"_V\" in macros) for 3.3V Winbond 25Q chips.\n   Rename the existing chips and add a .voltage entry where it was missing.\n - Use \".W\" (and \"_W\" in macros) for 1.8V Winbond 25Q chips.\n - Add W25Q20.W, W25Q40.W, W25Q80.W, W25Q16.W, W25Q32.W, W25Q64.W.\n Based on chromiumos\u0027 469707f0d9b7d81b6c6bb2cace13f09db70f4382\n http://git.chromium.org/gitweb/?p\u003dchromiumos/third_party/flashrom.git;a\u003dcommitdiff;h\u003d469707f0d9b7d81b6c6bb2cace13f09db70f4382\n\nCorresponding to flashrom svn r1677.\n\nSigned-off-by: Yung-Chieh Lo \u003cyjlou%chromium.org@gtempaccount.com\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": "27cb34b8a99e863cf7ed3a0098c55b059889b80e",
      "tree": "8131ce99aa05f74583e67157c85bf09f707b6eab",
      "parents": [
        "efe2d43056bcc15d70903354c6410a498b56b285"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jun 01 00:06:12 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jun 01 00:06:12 2013 +0000"
      },
      "message": "Change warning regarding protected ICH regions\n\nThere is no good reason to collect further log files of locked Intel-\nbased boards. Forward affected users directly to an explanation in\nthe wiki instead.\n\nCorresponding to flashrom svn r1675.\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": "efe2d43056bcc15d70903354c6410a498b56b285",
      "tree": "fc6a7fd4d6872b6c85d41868a97f948c73cb525c",
      "parents": [
        "e659d2dfe3bbcc15e6c6cdb77ab7c09d040c06e3"
      ],
      "author": {
        "name": "Patrick Georgi",
        "email": "patrick.georgi@secunet.com",
        "time": "Thu May 23 21:47:46 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu May 23 21:47:46 2013 +0000"
      },
      "message": "dediprog: fix SPI clock setting\n\nAvoid setting SPI speed on firmware versions \u003c 5.0.0 and note this\nlimitation in the man page.\nUse the correct offset of the \"12M\" element in the spispeeds array to\nmatch our manpage and the default of Dediprog\u0027s dpcmd.\n\nCorresponding to flashrom svn r1674.\n\nSigned-off-by: Patrick Georgi \u003cpatrick.georgi@secunet.com\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": "e659d2dfe3bbcc15e6c6cdb77ab7c09d040c06e3",
      "tree": "260c347c832cb7644d88e2b0ea8fd4453cdcd590",
      "parents": [
        "730e7e74ebf11560d1c852934b18e98d1200ce53"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri May 03 21:58:28 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri May 03 21:58:28 2013 +0000"
      },
      "message": "dediprog: add support for chip select\n\nThanks to the traces captured and tests done by Martin Roth, and confirmed\nby tests and analysis by Joshua Zarr too, we can now use both target chips\non the Dediprog SF100.\n\nCorresponding to flashrom svn r1673.\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": "730e7e74ebf11560d1c852934b18e98d1200ce53",
      "tree": "f9bc3f738776ff40df3d128e7dbc145ac580cb0c",
      "parents": [
        "f44516121aecbd307a9398fe9bc1ec9ce25bfb09"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed May 01 14:04:19 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed May 01 14:04:19 2013 +0000"
      },
      "message": "Update spi_get_erasefn_from_opcode()\n\nWe forgot to add a few SPI erase functions to the helper function that is\nused for SFDP. Also, sort the declarations in the header.\n\nCorresponding to flashrom svn r1672.\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": "f44516121aecbd307a9398fe9bc1ec9ce25bfb09",
      "tree": "87438afed9b3bfa3b4d901c25ccd82df0b982bb4",
      "parents": [
        "3f5e35db4b22d36918adc7ee28b0d77ee50af568"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Apr 19 01:59:15 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Apr 19 01:59:15 2013 +0000"
      },
      "message": "Add support for PMC Pm25LD series\n\nThis patch adds support for\n - Pm25LD256C\n - Pm25LD512(C)\n - Pm25LD010(C)\n - Pm25LD020(C)\n - Pm25LD040(C)\n\nThese seem to be the successors of the Pm25LV series.\nThe main difference seems to be the dual I/O and additional erase opcodes.\nSome support an additional, complex locking register (maybe all of the\nabove, but available datahsheets do not indicate it for all).\n\nThe Pm25LD512C was tested by Chi Zhang:\nhttp://paste.flashrom.org/view.php?id\u003d1579\n\nCorresponding to flashrom svn r1671.\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": "3f5e35db4b22d36918adc7ee28b0d77ee50af568",
      "tree": "22d04b8a8c66a4f8be377c54b759215f12faf1bf",
      "parents": [
        "e33c40eb7db5dc16763cd7c245578a968306a757"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Apr 19 01:58:33 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Apr 19 01:58:33 2013 +0000"
      },
      "message": "Refine PMC Pm25LV series\n\n - Add missing bits and resort chips\n - Refine Pm25LV512(A) and Pm25LV010\n   Due to manufacturer ID continuation this one needs a new probing\n   function: probe_spi_res3() which should be refactored in the future.\n   The datasheet describes a very weird order of ID bytes:\n   Vendor byte, model byte, vendor continuation byte. Let\u0027s pretend we did\n   not read that or the datasheet is bogus (although the datasheet of the\n   successor series describes the same but luckily additionally to RDID).\n - Add Pm25LV010A\n   This was tested by Chi Zhang:\n   http://paste.flashrom.org/view.php?id\u003d1573\n\nCorresponding to flashrom svn r1670.\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": "e33c40eb7db5dc16763cd7c245578a968306a757",
      "tree": "a12679980409c55cddbc2451b78fd348ae20347e",
      "parents": [
        "363fd7e827e3b630f916f9d2bdda262180274789"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Apr 13 00:29:30 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Apr 13 00:29:30 2013 +0000"
      },
      "message": "Initialize sp_fd and fix baud rate setting on windows\n\nCorresponding to flashrom svn r1669.\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": "363fd7e827e3b630f916f9d2bdda262180274789",
      "tree": "917a00cb091798c90273bf5d45bb86e4160de46a",
      "parents": [
        "73dc0db7258121f260eeda04f50531f3eda943ee"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Apr 07 13:08:30 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Apr 07 13:08:30 2013 +0000"
      },
      "message": "Get rid of perror()\n\nIt prints to stderr and that\u0027s not what we want necesserily;\nusing msg_*err gives us more control.\n\nCorresponding to flashrom svn r1668.\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": "73dc0db7258121f260eeda04f50531f3eda943ee",
      "tree": "752c2840a2c207360bcabaebfdbd66ceabc26c87",
      "parents": [
        "02437458a603c112e503abc63ad32b09cfbc23f3"
      ],
      "author": {
        "name": "Maksim Kuleshov",
        "email": "mmcx@mail.ru",
        "time": "Fri Apr 05 08:06:10 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Apr 05 08:06:10 2013 +0000"
      },
      "message": "Usleep() is not found in all versions of MinGW, use Sleep() on Windows\n\nHandle long sleeps on non-Windows correctly.\n\nCorresponding to flashrom svn r1667.\n\nSigned-off-by: Maksim Kuleshov \u003cmmcx@mail.ru\u003e\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": "02437458a603c112e503abc63ad32b09cfbc23f3",
      "tree": "5d6795f391efd74229f1b88de4639157fbec5563",
      "parents": [
        "52b6e9dc546d1c0958e03634eff47c71f460f8ac"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 19:34:53 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 19:34:53 2013 +0000"
      },
      "message": "Refine granularity handling in preparation of AT45DB series support\n\nThis adds a number of new granularitie and refines the handling of\nn-byte granularities by extracting the respective code into a helper\nfunction which reduces the pain of the above significantly.\n\nCorresponding to flashrom svn r1666.\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": "52b6e9dc546d1c0958e03634eff47c71f460f8ac",
      "tree": "4ef6131df647e4c9fc9f5c312e583c2882afefde",
      "parents": [
        "f966cc48107d924f430dbd763bf470ee2ebaf0d1"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:46:05 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:46:05 2013 +0000"
      },
      "message": "Enable serprog on Windows\n\nSockets are not ported (yet).\n\nTested on Windows 7 with my Atmega32U2 serprog implementation.\nhttp://paste.flashrom.org/view.php?id\u003d1566\n\nCorresponding to flashrom svn r1665.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nSigned-off-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "f966cc48107d924f430dbd763bf470ee2ebaf0d1",
      "tree": "de05b4d13d7547bce0509f2bc50dac320c4edaca",
      "parents": [
        "79587f565f59b2769dfb3a9550bab9de34287f86"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:57 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:57 2013 +0000"
      },
      "message": "serial.c: be more pedantic\n\nCheck more return codes and close the file handle in case of errors in\nsp_openserport().\n\nCorresponding to flashrom svn r1664.\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": "79587f565f59b2769dfb3a9550bab9de34287f86",
      "tree": "4e6aede830ce05da2f96a86595ed77ea6d5e5d36",
      "parents": [
        "ae3d83765cbb306696b3e0caa92e535e522b32d2"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:51 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:51 2013 +0000"
      },
      "message": "Replace native calls in serprog with wrapper calls\n\nRead(), write(), usleep() are replaced.\n\nCorresponding to flashrom svn r1663.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nSigned-off-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "ae3d83765cbb306696b3e0caa92e535e522b32d2",
      "tree": "2777c097b70e61f9a39ca0bca327974038c2ee4a",
      "parents": [
        "00e1608501a0eb270df80a31f0dd0b327b202059"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:45 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:45 2013 +0000"
      },
      "message": "Introduce serialport_write_nonblock()\n\nIt seems useful to have a generic and platform-independent method to\nread and write to a serial port without blocking. This is the write part.\n\nThis allows to get rid of the explicit temporary disabling of blocking I/O in\nserprog\u0027s sp_synchronize().\n\nCorresponding to flashrom svn r1662.\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": "00e1608501a0eb270df80a31f0dd0b327b202059",
      "tree": "42c1c49a92dcdfe9a406f31f9adc8ea50ac8c666",
      "parents": [
        "da5b17c0a2c648c60272f92c9ecbcd10f4af8348"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:38 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:38 2013 +0000"
      },
      "message": "Replace sp_sync_read_timeout() with serialport_read_nonblock()\n\nIt seems useful to have a generic and platform-independent method to\nread and write to a serial port without blocking. This is the read part.\n\nIt stores the current blocking properties before disabling blocking and\nrestores them after reading. The timeout is implemented as previously\nby retrying every millisecond until the timeout is reached or enough\ncharacters are available.\n\nCorresponding to flashrom svn r1661.\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": "da5b17c0a2c648c60272f92c9ecbcd10f4af8348",
      "tree": "242daf2a20a91eb22e1cd776d6b335ced4149bcc",
      "parents": [
        "bf88be92911a07d14a4c0bb62a017cad0584d62d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:32 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:32 2013 +0000"
      },
      "message": "serial.c: round baudrates to valid ones\n\nMSDN says: \"The baud rate at which the communications device\noperates. This member can be an actual baud rate value, or one of\nthe following indexes.\" But it is not specified what happens for\ndifferent values, so we round down to valid ones (or to the minimum\nof 9600) by reusing the existing struct baudentry sp_baudtable[] and\nthe new function round_baud().\n\nDo similarly on non-Windows where arbitrary values are not allowed\nanyway.\n\nCorresponding to flashrom svn r1660.\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": "bf88be92911a07d14a4c0bb62a017cad0584d62d",
      "tree": "f9f41834ff4eb40cf0bc17cea7af69a5665df7dd",
      "parents": [
        "c60de0e87faa631887821892547f0554eed2727f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:08 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:08 2013 +0000"
      },
      "message": "serial.c: abstract system error printing\n\nWindows is awkward. The win32 API does not support errno/strerror as one\nmight expect. Introduce a new msg_* function that alleviates the pain a bit\n(my head still hurts very badly).\n\nCorresponding to flashrom svn r1659.\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": "c60de0e87faa631887821892547f0554eed2727f",
      "tree": "54b9eb93e87ead0498bdacd22f4a3cd3e0ffd2ae",
      "parents": [
        "226037da3d274fdf65e477e9ef1082356830b2c7"
      ],
      "author": {
        "name": "James Laird",
        "email": "jhl@mafipulation.org",
        "time": "Wed Mar 27 13:00:23 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Mar 27 13:00:23 2013 +0000"
      },
      "message": "Add Altera USB-Blaster SPI programmer\n\nAdds support for the Altera USB-Blaster programming dongle in Active\nSerial (AS) mode. Tested on both original product and a clone dongle.\n\nCorresponding to flashrom svn r1658.\n\nSigned-off-by: James Laird \u003cjhl@mafipulation.org\u003e\nSigned-off-by: Kyösti Mälkki \u003ckyosti.malkki@gmail.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Kyösti Mälkki \u003ckyosti.malkki@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "226037da3d274fdf65e477e9ef1082356830b2c7",
      "tree": "7933e58fbbe2f5ab332423626c2f4611500f12f4",
      "parents": [
        "90eb2269c22ac7991f9d46afc3a4b86f89bc9e82"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Mar 16 01:22:12 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Mar 16 01:22:12 2013 +0000"
      },
      "message": "Fix evil twins of Macronix MX25L1605, MX25L3205, MX25L6405\n\nSimilarly to the patch in r1647 this one updates the chips identified as above\nwith references to and data about their respective twins. Unlike previously this\none deals with the more evil details.\n\nHelge Wagner from GE discovered some problems with chips sharing IDs\nand proposed a patch to tackle (some of) them, see:\nhttp://patchwork.coreboot.org/patch/3709/\nThat patch was bitrotting in our mailboxes for a long time and it is still not\nready for merge, but we increasingly get reports about problems (e.g.\nhttp://paste.flashrom.org/view.php?id\u003d1525) regarding these chips and\nhence must act to ensure users\u0027 safety.\n\nThis patch splits the chip definitions of evil twins into separate ones which\ncorrectly declare the respective attributes (the main problems are the erase\nblock sizes for the 0x20 opcode and hence my changes combine different\nchips with partly different attributes apart from their names as long as the\nerasers layout it the same). This forces the user to select the (right) chip\ndefinition with the -c/--chip parameter and hence will break a number of\npreviously perfectly working environments.\n\n0x2015 is used by and split to\n - MX25L1605 (64kB sectors in 0x20 erases)\n - MX25L1605A/MX25L1606E (4kB in 0x20 erases and an additional 0x52 opcode with 64kB blocks)\n - MX25L1605D/MX25L1608D (4k sectors in 0x20 erases)\n\n0x2016 is used by and split to\n - MX25L3205/MX25L3205A (64kB 0x20)\n - MX25L3205D/MX25L3208D (4kB 0x20)\n - MX25L3206E (4k 0x20, 64k 0x52)\n\n0x2017 is used by and split to\n - MX25L6405/MX25L6405D (64k 0x20)\n - MX25L6406E/MX25L6436E (4k 0x20)\n - MX25L6445E (4k 0x20, 64k 0x52)\n\nBonus: add some minor details to MX25L1635D, MX25L1635E, MX25L3235D,\nMX25L12805D.\n\nTested with MX25L3206E, MX25L64036E.\n\nCorresponding to flashrom svn r1657.\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": "90eb2269c22ac7991f9d46afc3a4b86f89bc9e82",
      "tree": "f38a72e154957880e301f7e1630639025272f2dc",
      "parents": [
        "f800f55b05428c8050dbeb8e1b34696968297992"
      ],
      "author": {
        "name": "Duncan Laurie",
        "email": "dlaurie@chromium.org",
        "time": "Fri Mar 15 03:12:29 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Mar 15 03:12:29 2013 +0000"
      },
      "message": "Add support for Intel Lynx Point low-power and Wellsburg\n\nNew IDs taken from Intel\u0027s patches for the Linux kernel.\nAlso, refine original Lynx Point naming etc.\n\nCorresponding to flashrom svn r1656.\n\nBased on the chromiumos patch\nChange-Id: I303a05baa80e4449e70d20adf78ebc7128b88d8e\nSigned-off-by: Duncan Laurie \u003cdlaurie@chromium.org\u003e\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": "f800f55b05428c8050dbeb8e1b34696968297992",
      "tree": "7ae7fbb065ba03e6b787467db8d7e07583ad7035",
      "parents": [
        "bf97bdc420bbf2c787c63a6a1c9bf9d3c5d4ac80"
      ],
      "author": {
        "name": "Vincent Palatin",
        "email": "vpalatin@chromium.org",
        "time": "Fri Mar 15 02:03:16 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Mar 15 02:03:16 2013 +0000"
      },
      "message": "Add support for Macronix MX25U1635E, MX25U3235E/F and MX25U6435E/F\n\nMacronix MX25U3235 is a 4MB (32Mbits) 1.8v SPI flash supporting QPI.\nCode for it was refined after merging it from chromium:\nChange-Id: I62c7db070254ba3ec68090e783f57b25a6e8d15a\nReviewed-on: https://gerrit.chromium.org/gerrit/44395\nTested-by: Vincent Palatin \u003cvpalatin@chromium.org\u003e\nReviewed-by: Randall Spangler \u003crspangler@chromium.org\u003e\nCommit-Queue: Vincent Palatin \u003cvpalatin@chromium.org\u003e\n\nBased on that support for MX25U1635E and MX25U6435E/F was added\nby Stefan Tauner.\nAlso, add a feature flag for QPI-enabled chips: FEATURE_QPI.\n\nCorresponding to flashrom svn r1655.\n\nSigned-off-by: Vincent Palatin \u003cvpalatin@chromium.org\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": "bf97bdc420bbf2c787c63a6a1c9bf9d3c5d4ac80",
      "tree": "2e3c490f08231ce86716f8a3fb991f2787246a50",
      "parents": [
        "d3b98fb833f6534d6d09522c915063d6f8213fd2"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Mar 09 17:55:35 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Mar 09 17:55:35 2013 +0000"
      },
      "message": "Add utility to print all chip names in flashchips.h that are not in flashchips.c\n\nThis allows to list yet unsupported chips easily.\n\nFirst it tries to find the directory containing the files, then it uses sed to\nextract the macro names of chips from flashchips.h, greps for them in\nflashchips.c and prints it if it is not found.\nIf verbose mode is activated by giving at least one additional parameter\nit prints the chip ID and comment following the macro definition too.\n\nCorresponding to flashrom svn r1654.\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": "d3b98fb833f6534d6d09522c915063d6f8213fd2",
      "tree": "283be58e02df5c1e6d3785e419e3c33242e30ef8",
      "parents": [
        "c54adc5852fe9b96127506ca4602aa19eb607fe9"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Mar 04 01:41:56 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Mar 04 01:41:56 2013 +0000"
      },
      "message": "Add (untested) board enable for ASUS P4PE-X/TE\n\nREed by roxfan and Michael Karcher, patch by Stefan Tauner.\n\nCorresponding to flashrom svn r1653.\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": "c54adc5852fe9b96127506ca4602aa19eb607fe9",
      "tree": "2460dd695cd9e65d036f3d9c636fc1353106e1a5",
      "parents": [
        "50d67aaa79441e8043aa1de32bb40ae94fcc51b2"
      ],
      "author": {
        "name": "Kyösti Mälkki",
        "email": "kyosti.malkki@gmail.com",
        "time": "Mon Mar 04 01:20:28 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Mar 04 01:20:28 2013 +0000"
      },
      "message": "Add M25P20-old\n\nThis older (ST-branded) revision of M25P20 chip does not support RDID and\nhence was not detected correctly. This patch adds a workaround similar\nto M25P40-old.\n\nCorresponding to flashrom svn r1652.\n\nSigned-off-by: Kyösti Mälkki \u003ckyosti.malkki@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "50d67aaa79441e8043aa1de32bb40ae94fcc51b2",
      "tree": "f1b620f41753f30ca126947b6e634156fea996cb",
      "parents": [
        "352e50b79e084c8f5f768d7b6f2ba6b6bd2ea8ce"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 03 23:49:48 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 03 23:49:48 2013 +0000"
      },
      "message": "Make write granularity a chip attribute\n\nCorresponding to flashrom svn r1651.\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": "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": "77fa67d2df7395047476b77946fa807fc851f737",
      "tree": "43992470f7822637643df463a92aebf674fb82d8",
      "parents": [
        "e038e9082cce69f10f17747fc272ae370c9836cf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Feb 20 18:03:36 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Feb 20 18:03:36 2013 +0000"
      },
      "message": "dedirpog: add a parameter \u0027spispeed\u0027 to set the SPI clock rate\n\nThe following rates are\navailable (in Hz):\n  375k, 750k, 1.5M, 2.18M, 3M, 8M, 12M and 24M\n\nThe original driver reinitializes the programmer after setting the\nspeed, so the initialization calls have moved into a new function\ndediprog_setup() which is called twice.\n\nCorresponding to flashrom svn r1649.\n\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "e038e9082cce69f10f17747fc272ae370c9836cf",
      "tree": "81738c13224127bddc2f02aa6b62e1281a820354",
      "parents": [
        "f656e8088e95eaa9a4690529597133d0daf66c2a"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Feb 04 04:38:42 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Feb 04 04:38:42 2013 +0000"
      },
      "message": "Fix building for MacOSX\n\n- Add a new macro named IS_MACOSX to hwaccess.c and use it to enable iopl().\n  This was broken since r1638. This fix does *not* restore the very permissive\n  concept where iopl() was activated in an #else branch that was inplace before\n  r1638.\n- Make printing the image file\u0027s size in flashrom.c platform independent.\n\nBonus: remove definitions of off64_t and lseek64 which are not necessary\nanymore for about 1000 commits.\n\nThanks to SJ for reporting the issue and testing the solution.\n\nCorresponding to flashrom svn r1648.\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": "f656e8088e95eaa9a4690529597133d0daf66c2a",
      "tree": "4ed016fe0ff14231ceb6a9d121b95aa3744f76da",
      "parents": [
        "67d163d2fa6e7db9673e8ec820b8ef21bca5e907"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Feb 02 15:35:44 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Feb 02 15:35:44 2013 +0000"
      },
      "message": "Update Macronix MX25L512, MX25L1005, MX25L2005, MX25L4005, MX25L8005\n\nUpdate MX25L512 with references to and data about\n  MX25L512E, MX25V512, MX25V512C.\nUpdate MX25L1005 with references to and data about\n  MX25L1005C, MX25L1006E.\nUpdate MX25L2005 with references to and data about\n  MX25L2005C.\nUpdate MX25L4005 with references to and data about\n  MX25L4005A, MX25L4005C.\nUpdate MX25L8005 with references to and data about\n  MX25V8005.\n\nBonus: add chip IDs of MX25U1635E, MX25U3235E/F, MX25U6435E/F.\n\nCorresponding to flashrom svn r1647.\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": "67d163d2fa6e7db9673e8ec820b8ef21bca5e907",
      "tree": "3cfa28408caa64594638f4a5cad7f5deafa8506a",
      "parents": [
        "8225868465f6ad75958a1f81514d9c4978487184"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 15 17:37:48 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 15 17:37:48 2013 +0000"
      },
      "message": "Fix duplicate \u0027const\u0027 declaration specifiers\n\nThanks to Idwer and clang for noticing these problems.\n\nCorresponding to flashrom svn r1646.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nSigned-off-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "8225868465f6ad75958a1f81514d9c4978487184",
      "tree": "73eba56408b31c6431013f57c5da73cb1d805fd2",
      "parents": [
        "a2faddf7d38e4651ce6654c62b668ab02b909b58"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jan 08 22:49:12 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jan 08 22:49:12 2013 +0000"
      },
      "message": "Fix compilation for DOS and non-x86 targets\n\nFixup for r1638.\nThanks to Idwer Vollering for testing.\n\nCorresponding to flashrom svn r1645.\n\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": "a2faddf7d38e4651ce6654c62b668ab02b909b58",
      "tree": "1a13a2aa0134dbede16c017dd102efc81eb97ee0",
      "parents": [
        "c6fa32d2b5c08d2fcc92fee2974a3fc02a3ca1f7"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jan 05 23:52:45 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jan 05 23:52:45 2013 +0000"
      },
      "message": "Decouple BAR reading from pci device init, handle errors gracefully\n\nPcidev_init() now returns struct pci_device * instead of a BAR stored in\nPCI config space. This allows for real error checking instead of having\nexit(1) everywhere in pcidev.c.\nThanks to Niklas Söderlund for coming up with the original error\nhandling patch which was slightly modified and folded into this patch.\nMove the declaration of struct pci_device in programmer.h before the\nfirst user.\n\nCorresponding to flashrom svn r1644.\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": "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": "30dfdbaf3ab30974a6d76e085525d52c033e4215",
      "tree": "05451bdc93ffcab3935c6ac35f5f0dd480c9f012",
      "parents": [
        "e34e3e8a49172ba09eb058c9a028706647dca165"
      ],
      "author": {
        "name": "Brian Salcedo",
        "email": "bsalcedo@gmx.us",
        "time": "Thu Jan 03 20:44:30 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 03 20:44:30 2013 +0000"
      },
      "message": "Add user interface to activate the Bus Pirate pull-up resistors\n\nWhen working with some flash chips using the Bus Pirate programmer, the\nuse of the Bus Pirate\u0027s on-board pull-up resistors is sometimes\nnecessary.\n\nOn v3 hardware the use of said pull-up resistors requires the user to apply a\nvoltage to the VPU pin of the Bus Pirate, and then command it to use them.\nFor v4 hardware which supports also fixed internal 3.3V and 5V sources no\ndocumentation could be found.\n\nHere is a link to information pertaining to what this patch does:\nhttp://dangerousprototypes.com/docs/SPI_(binary)#0100wxyz_-_Configure_peripherals_w.3Dpower.2C_x.3Dpull-ups.2C_y.3DAUX.2C_z.3DCS\n\nBonus: small cleanup of superfluous stack variables.\n\nCorresponding to flashrom svn r1641.\n\nSigned-off-by: Brian Salcedo \u003cbsalcedo@gmx.us\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by: Brian Salcedo \u003cbsalcedo@gmx.us\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "e34e3e8a49172ba09eb058c9a028706647dca165",
      "tree": "6aec75d2f7b08469e9b95a8844ba3ad9180c6b04",
      "parents": [
        "bcb2e5a7080cbe0ff21c8ffa5f77b5ba1ea0c472"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 01 00:06:51 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 01 00:06:51 2013 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 16\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 - ASRock 4CoreDual-VSTA with W39V040FB\n   http://paste.flashrom.org/view.php?id\u003d1446\n - ASRock 775Dual-VSTA\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010294.html\n - ASRock E350M1/USB3\n   http://paste.flashrom.org/view.php?id\u003d1465\n - ASUS P5B-VM\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010351.html\n - ASUS SABERTOOTH 990FX R2.0\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010210.html\n - Elitegroup A928 (including a laptop whitelist board enable)\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010119.html\n - EVGA 122-CK-NF68\n   Reported by Stephanie Daugherty on IRC\n   http://paste.flashrom.org/view.php?id\u003d1431\n - GIGABYTE GA-A75M-UD2H\n   Reported by Soul_keeper on IRC\n   http://paste.flashrom.org/view.php?id\u003d1490\n - Intel D945GCNL\n   Add board enable to override laptop detection too.\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010276.html\n - MSI G33M (MS-7357)\n   http://www.flashrom.org/pipermail/flashrom/2012-October/010056.html\n - Shuttle FB61\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010105.html\n - Tyan S4882 (Thunder K8QS Pro)\n   Reported on IRC\nNOT OK:\n   Alienware Aurora-R2\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010225.html\n   Biostar H61MU3\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010144.html\n   Dell OptiPlex 7010\n   http://paste.flashrom.org/view.php?id\u003d1481\n   Intel DH67CL\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010112.html\n   Supermicro X9DRT-HF+\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010155.html\n   Supermicro X9DRW\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010150.html\n\nTested flash chips:\n - Atmel AT25FS010 to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1484\n - Eon EN25F64 to PREW (+EW)\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010210.html\n - Spansion S25FL032A/P to PREW (+EW)\n   http://paste.flashrom.org/view.php?id\u003d1510\n - ST M29F002T/NT to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010300.html\n - Winbond W25X10 to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1486\n\nTested chipsets:\n - NVIDIA MCP78S http://www.flashrom.org/pipermail/flashrom/2012-November/010176.html\n - SiS 650 http://www.flashrom.org/pipermail/flashrom/2012-November/010119.html\n\nMiscellaneous:\n- Typo in GA-X58A-UDR3 (correct is GA-X58A-UD3R).\n- Force 2-digit hex numbers in prints were it makes sense.\n- Share code between enable_flash_sis530() and enable_flash_sis540().\n- Some SST 25 series chips support both WRSR enable commands...\n- S25FL032A and S25FL064A share the IDs with their P versions, so rename them.\n- Fix a few memleaks in serprog.\n- Dediprog uses UINT_MAX so include limits.h (fixes the Windows build of dediprog)\n- Add (another) hint regarding the mandatory -p parameter to the manpage\n  to make Debian bug #690478 happy.\n  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d690478\n- Fix whitespace issues.\n- On shutdown, reset count of registered programmers (by Nico Huber)\n- Fix atahpt.c shutdown.\n  The order of pcidev_init, register_shutdown and rpci_write_* is important!\n  Thanks to Roy for reporting the problem and testing the fix.\n\nCorresponding to flashrom svn r1640.\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": "bcb2e5a7080cbe0ff21c8ffa5f77b5ba1ea0c472",
      "tree": "a20f41f2259da0fb66c67af221ff3e9ab00015e3",
      "parents": [
        "6282966cc04525828b96273f373e3b105632776b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Sun Dec 30 01:23:17 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Dec 30 01:23:17 2012 +0000"
      },
      "message": "Constify parameters and globals\n\nThis makes some stuff const (partially to get a more convenient\nlibflashrom interface).\n\nCorresponding to flashrom svn r1639.\n\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\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": "6282966cc04525828b96273f373e3b105632776b",
      "tree": "107c653c18333a3ec211553a2f0d64385dc9fb4a",
      "parents": [
        "57794ac1580fc5efee3ba01a0c3e4539bb58d088"
      ],
      "author": {
        "name": "Peter Lemenkov",
        "email": "lemenkov@gmail.com",
        "time": "Sat Dec 29 19:26:55 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 19:26:55 2012 +0000"
      },
      "message": "Simplify hwaccess.c\n\nPreviously the code was focused on architectures which led to lots of\nduplicate code and spread the information regarding differences between\nthe architectures accross the file.\n\nWith this patch there is a single function header for any function and the\ndifferentiation between architectures (and OS where needed) happens\nin one place for each function. Also, this patch adds simple defines to bundle\noften used arch and os checks. A central check for unknown architectures\nand OSes has been added on top.\n\nCorresponding to flashrom svn r1638.\n\nSigned-off-by: Peter Lemenkov \u003clemenkov@gmail.com\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"
    }
  ],
  "next": "57794ac1580fc5efee3ba01a0c3e4539bb58d088"
}
