1. 16 May, 2014 1 commit
    • Stefan Tauner's avatar
      AT45DB: fix read functions · 7141b986
      Stefan Tauner authored
      
      This fixes segfaults on reads (implicit reads on writes too), ouch.
      Thanks to The Raven for reporting the problem and testing my patch, and
      to Alexander Irenkov for providing a workable fix for it additionally.
      
      There were actually two problems:
      1) The loop conditions were bogus which could lead to read errors
         (e.g. on implicit erase verifications).
      2) The offset used within the read buffers provided to spi_nbyte_read()
         and memcpy() were not starting at 0 but the offset of the block
         within the flash chip (which has nothing to do with read buffer in
         most cases).
      
      This patch works similarly to Alexander's but is intended to be
      more readable.
      
      Corresponding to flashrom svn r1792.
      Signed-off-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      Acked-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      7141b986
  2. 14 May, 2014 1 commit
  3. 10 May, 2014 1 commit
    • Stefan Tauner's avatar
      Refine messages related to erase/write recovery · a58f6e9b
      Stefan Tauner authored
      
      We are more verbose inside erase_and_write_flash() although it does not
      matter as much as at the end of the whole process in doit().
      
      New output for the non-fatal (i.e. read-protected + successful recovery read) case:
      
      Reading old flash chip contents... done.
      Erasing and writing flash chip... spi_block_erase_d8 failed during command execution at address 0x8000
      Reading current flash chip contents... done. spi_chip_erase_c7 failed during command execution
      FAILED!
      Uh oh. Erase/write failed. Checking if anything has changed.
      Reading current flash chip contents... done.
      Good, writing to the flash chip apparently didn't do anything.
      Please check the connections (especially those to write protection pins) between
      the programmer and the flash chip. If you think the error is caused by flashrom
      please report this on IRC at chat.freenode.net (channel #flashrom) or
      mail flashrom@flashrom.org, thanks!
      
      Corresponding to flashrom svn r1790.
      Signed-off-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      Acked-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      a58f6e9b
  4. 09 May, 2014 1 commit
  5. 07 May, 2014 2 commits
  6. 04 May, 2014 2 commits
  7. 03 May, 2014 2 commits
    • Michael Coppola's avatar
      4e7f36ec
    • Stefan Tauner's avatar
      Add a bunch of new/tested stuff and various small changes 20 · c2eec2c9
      Stefan Tauner authored
      
      Tested mainboards:
      OK:
       - abit BX6 2.0
         Reported by Stefan Tauner
       - Acer EM61SM/EM61PM (used in Acer Aspire T180)
         Reported by Benjamin Bellec
       - ADLINK Express-HR
         Reported by Obermair Thomas
       - ASUS M3N-H/HDMI
         Reported by Franc Serres
       - Attro G5G100-P
         Reported by Christoph Grenz
       - ASRock 960GM-GS3 FX
         Reported by Fuley Istvan
       - Elitegroup P6BAP-A+ (V2.2)
         Reported by Arnaldo Pirrone
       - Elitegroup GeForce7050M-M (V2.0)
         Reported by Leif Middelschulte
       - Fujitsu D3041-A1 (used in ESPRIMO P2560)
         Reported by Daggi Duck
       - GIGABYTE GA-8S648
         Reported by TeslaBIOS
       - GIGABYTE GA-970A-D3P (rev. 1.0)
         Reported by Jean-Francois Pirus
       - GIGABYTE GA-B85M-D3H
         Reported by Mladen Milinković
       - GIGABYTE GA-X79-UD3
         Reported by Jeff O'Neil
       - GIGABYTE GA-X79-UP4 (rev. 1.0)
         Reported by George Spelvin
       - GIGABYTE GA-Z68MA-D2H-B3 (rev. 1.3)
         Reported by Vangelis Skarmoutsos
       - GIGABYTE GA-Z87-HD3
         Reported by virii5
       - Lenovo Tilapia CRB
         Reported by jenkins56 on IRC
       - MSI GT60-2OD (notebook, only with layout patches)
         Reported by Vasiliy Vylegzhanin
       - MSI MS-6704 (845PE Max2 PCB 1.0) (Pure Version w/o raid)
         Reported by professorll
       - MSI MS-7399 1.1 (used in Acer Aspire M5640/M3640)
         Reported by Koen Rousseau
       - MSI MS-7125 (K8N Neo4(-F/FI/FX))
         We had a board enable for that one for years, but it was not (and still is not)
         completely clear which boards are covered.
       - MSI MS-7522 (MSI X58 Pro-E)
         Reported by Gianluigi Tiesi
       - PCWARE APM80-D3
         Reported by César Augusto Jakoby
       - Pegatron IPP7A-CP
         Reported by Илья Шипко
       - Supermicro H8QME-2
         Reported by Greg Tippitt
       - Supermicro X7SPA-H
         Reported by Kyle Bentley
       - Supermicro X7SPE-HF-D525
         Reported by Micah Anderson
       - Supermicro X8DTE
         Reported by Mark Nipper
       - Supermicro X8SIL-F
         Reported by Peter Samuelson
       - ZOTAC IONITX-A (-E) version
         Reported by Maciej Wroniecki
      NOT OK:
       - Supermicro X10SLM-F
         Reported by Micah Anderson
      
      Flash chips:
       - Atmel AT29C020 to PREW (+PREW)
         It was marked like that in the past, but I could not find the reason why the
         test bits were reset. Urja Rannikko tested it again and it still works.
       - Eon EN25F10 to PREW (+PREW)
         Reported by Stolmár Tamás
       - Eon EN25QH64 to PR (+PR)
         Reported by Vladimir 'φ-coder' Serbinenko
       - GigaDevice GD25Q32(B) to PREW (+PREW)
         Reported by mrnuke
       - Macronix MX25L512(E)/MX25V512(C) to PREW (+PREW)
         Reported by Jamie Nichol
       - Macronix MX25L2005(C) to PREW (+PREW)
         Reported by Давыдов Дмитрий
       - Micron/Numonyx/ST N25Q064..1E to PREW (+PREW)
         Reported by Paolo Zambotti
       - Pmc Pm25LD010(C) to PREW (+PREW)
         Reported by Vasile Ceteras
       - Micron/Numonyx/ST M25P16 to PREW (+EW)
         Reported by raven
       - Micron/Numonyx/ST M25PX64 to PREW (+W)
         Reported by Zaolin
       - SST SST25VF020B to PREW (+PREW)
         Reported by Michaël Zweers
       - SST SST49LF040 to PREW (+W)
         Reported by Oskar Enoksson
       - Add support for MX25L3273E (evil twin of MX25L3205 et al.)
         Also, add MX25L1673 and MX25L6473E to the names of their twins and
         add a note about MX25L8073E.
       - Winbond W25X32 to PREW (+REW)
         Reported by The Raven
       - Winbond W29C010 etc. to PREW (+W)
         Reported by san
      
      Chipsets tested OK:
       - Intel NM70 (8086:1e5f)
         Reported by mrnuke
       - Intel C204 (8086:1c54)
         Reported by Vasiliy Vylegzhanin
       - Intel QM67 (8086:1c4f)
         Reported by Obermair Thomas
       - Intel HM77 (8086:1e57)
         Reported by Vasiliy Vylegzhanin
       - Intel B85 (8086:8c50)
         Reported by Mladen Milinković
       - Intel HM87 (8086:8c4b)
         Reported by Vasiliy Vylegzhanin
       - Intel Z87 (8086:8c44)
         Reported by virii5
       - NVIDIA MCP51 (10de:0261)
         Reported by Marcin Kościelnicki
       - SiS 648 (1039:0648)
         Reported by TeslaBIOS
      
      Miscellaneous:
       - Mark ARM-USB-TINY-H as tested in ft2232_spi (reported by _nanodev_).
       - getrevision.sh: Ignore failing date calls.
       - getrevision.sh: Fix -u and -l for older git versions which require = for the
         git log grep parameter.
       - Corrected K8T Neo2-F entries due to a report from Stelios Tsampas.
       - Add "-p internal" to output that requests users to send flashrom -V logs.
       - Add Macbook2,1, Thinkpad X230, EasyNote LM85 to laptop whitelist.
       - Tiny other stuff.
      
      Corresponding to flashrom svn r1783.
      Signed-off-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      Acked-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      c2eec2c9
  8. 02 May, 2014 1 commit
  9. 27 Apr, 2014 1 commit
  10. 26 Apr, 2014 11 commits
  11. 19 Mar, 2014 2 commits
  12. 17 Mar, 2014 1 commit
  13. 14 Mar, 2014 1 commit
  14. 05 Mar, 2014 1 commit
  15. 21 Nov, 2013 1 commit
  16. 29 Oct, 2013 1 commit
    • Stefan Tauner's avatar
      Ensure DMI strings used in dmi_compare() are not NULL · d1045d8b
      Stefan Tauner authored
      
      Previously the external DMI decoder did not allow this to happen because
      all possible pointers were initialized at startup by the output of
      'dmidecode -s ...' which has default values for all supported types.
      
      The now active internal DMI decoder does work differently: it scans the
      complete DMI table once and copies the available strings. Therefore, strings
      that are not set by the firmware are left at their default value of NULL.
      
      A segfault would arise if the following conditions are all true:
       - the firmware sets up a DMI/SMBIOS table which has at least a correct
         checksum, and
       - that table does *not* define at least one of the DMI strings we use
         for matching (as defined by dmi_strings[] in dmi.c), and
       - there exists a board enable whose PCI IDs are matched by the board,
         and which has a DMI string set that ends with a $ anchor, and
       - the user calls the internal programmer of flashrom without the
         optional mainboard parameter.
      
      This was first observed by Gelip on an abit BF6 using the coreboot port
      for the abit BE6-II V2.0.
      The segfault was reproduced by Idwer Vollering on an ASUS F2A85-M with
      the default DMI values of CONFIG_MAINBOARD_SMBIOS_MANUFACTURER etc.
      overwritten and a forged board enable matching his board.
      Idwer also verified that this patch fixes the problem, thanks a lot!
      
      Corresponding to flashrom svn r1763.
      Signed-off-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      Acked-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      d1045d8b
  17. 26 Oct, 2013 1 commit
  18. 25 Oct, 2013 1 commit
    • Stefan Tauner's avatar
      Refactor Intel Chipset Enables · 92d6a861
      Stefan Tauner authored
      
       - Combine enable_flash_ich_4e() and enable_flash_ich_dc() to
         enable_flash_ich_fwh().
       - Remove unjustified (chipset) name parameters from various
         enable_flash_ich* functions.
       - Make Poulsbo and Tunnel Creek use generic enables by refining existing
         functions to work with them, including everything in ichspi.c.
       - Refactor enable_flash_ich_fwh_decode() to be called unconditionally for
         all chipsets.
       - Add support for Intel Atom Centerton (S12x0).
       - Recombine ICH2/3/4/5 to CHIPSET_ICH2345 because we treat them equally
         anyway.
       - Move spibar handling out of ich_init_spi() into enable_flash_ich_spi()
       - Various small cleanups.
      
      Corresponding to flashrom svn r1761.
      Signed-off-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      Acked-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
      92d6a861
  19. 21 Oct, 2013 1 commit
  20. 19 Oct, 2013 2 commits
  21. 02 Oct, 2013 5 commits