1. 07 Jan, 2010 1 commit
  2. 26 Nov, 2009 1 commit
    • Michael Karcher's avatar
      Refine support for the JEDEC Software Data Protection · 972cec28
      Michael Karcher authored
      
      This patch removes the extremely dangerous unprotect_jedec function
      which is not used at all within flashrom code, and renames the
      misleadingly named protect_jedec function to start_program_jedec.
      
      Calls to protect_jedec after flashing are removed, because a) on LPC
      chips, the command sent by protoct_jedec is not even in the datasheet
      and b) on parallel chips, the block write command issued before already
      contained the software protection sequence, so software protection is
      definitely enabled.
      
      This patch also removes two clones of protect_jedec
      
      Background: JEDEC Software Data Protection started as an optional
      feature, which was disabled on the first single-voltage-flash chips.
      The software data protection is the need to prefix a write with a magic
      "write enable" command, while without write protection every write
      access into the chip's address space modifies flash content. This magic
      write enable command also tells the flash chip that the programmer
      obviously support sending write-enable commands and turns off the "any
      write modifies flash content" mode. There also exist a two-command (6
      writes) sequence that disables Software Data Protection completey, which
      should only ever be used to prepare updating with a device that can't
      handle software data protection.
      
      Corresponding to flashrom svn r783.
      Signed-off-by: default avatarMichael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
      Acked-by: default avatarSean Nelson <audiohacked@gmail.com>
      Acked-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      972cec28
  3. 16 Sep, 2009 1 commit
  4. 02 Sep, 2009 1 commit
  5. 15 Jun, 2009 1 commit
  6. 05 Jun, 2009 1 commit
  7. 16 May, 2009 2 commits
  8. 06 Mar, 2009 1 commit
  9. 05 Mar, 2009 1 commit
    • Carl-Daniel Hailfinger's avatar
      Use helper functions to access flash chips · 61a8bd27
      Carl-Daniel Hailfinger authored
      
      Right now we perform direct pointer manipulation without any abstraction
      to read from and write to memory mapped flash chips. That makes it
      impossible to drive any flasher which does not mmap the whole chip.
      
      Using helper functions readb() and writeb() allows a driver for external
      flash programmers like Paraflasher to replace readb and writeb with
      calls to its own chip access routines.
      
      This patch has the additional advantage of removing lots of unnecessary
      casts to volatile uint8_t * and now-superfluous parentheses which caused
      poor readability.
      
      I used the semantic patcher Coccinelle to create this patch. The
      semantic patch follows:
      @@
      expression a;
      typedef uint8_t;
      volatile uint8_t *b;
      @@
      - *(b) = (a);
      + writeb(a, b);
      @@
      volatile uint8_t *b;
      @@
      - *(b)
      + readb(b)
      @@
      type T;
      T b;
      @@
      (
       readb
      |
       writeb
      )
       (...,
      - (T)
      - (b)
      + b
       )
      
      In contrast to a sed script, the semantic patch performs type checking
      before converting anything.
      
      Tested-by: Joe Julian
      
      Corresponding to flashrom svn r418 and coreboot v2 svn r3971.
      Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
      Acked-by: default avatarFENG Yu Ning <fengyuning1984@gmail.com>
      61a8bd27
  10. 25 Jan, 2009 1 commit
  11. 14 Mar, 2008 1 commit
  12. 13 Mar, 2008 1 commit
  13. 17 Oct, 2007 1 commit
  14. 09 Sep, 2007 1 commit
  15. 29 Aug, 2007 1 commit
  16. 23 Aug, 2007 4 commits
  17. 24 May, 2007 3 commits
  18. 23 May, 2007 2 commits
  19. 09 May, 2007 1 commit
  20. 06 Apr, 2007 1 commit
  21. 06 Feb, 2007 1 commit
  22. 23 Aug, 2006 1 commit
  23. 14 Mar, 2006 1 commit
  24. 23 Feb, 2006 1 commit
  25. 26 Nov, 2005 1 commit
  26. 27 Mar, 2004 1 commit
  27. 20 Mar, 2004 1 commit
  28. 18 Mar, 2004 1 commit
  29. 12 Sep, 2003 1 commit
  30. 28 Feb, 2003 1 commit
  31. 29 Jan, 2002 2 commits