- 15 Jun, 2009 1 commit
-
-
Carl-Daniel Hailfinger authored
And even when it checks if the erase worked, the result of that check is often ignored. Convert all erase functions and actually check return codes almost everywhere. Check inside all erase_* routines if erase worked, not outside. erase_sector_jedec and erase_block_jedec have changed prototypes to enable erase checking. Uwe successfully tested LPC on an CK804 box and SPI on some SB600 box. Corresponding to flashrom svn r595. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Signed-off-by:
Urja Rannikko <urjaman@gmail.com> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 05 Jun, 2009 1 commit
-
-
Carl-Daniel Hailfinger authored
Add external programmer delay functions so external programmers can handle the delay on their own if needed. Corresponding to flashrom svn r578. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Urja Rannikko <urjaman@gmail.com>
-
- 16 May, 2009 3 commits
-
-
Uwe Hermann authored
They serve pretty much no purpose, compilers can optimize pretty much all of what we might mark as inline anyway, _and_ inlines are not enforced in any way by the compiler either. They're totally unneeded. Kill them. Corresponding to flashrom svn r522. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Uwe Hermann authored
Build-tested on 32bit x86. Corresponding to flashrom svn r521. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Carl-Daniel Hailfinger authored
Use chipaddr instead of volatile uint8_t * because when we access chips in external flashers, they are not accessed via pointers at all. Benefits: This allows us to differentiate between volatile machine memory accesses and flash chip accesses. It also enforces usage of chip_{read,write}[bwl] to access flash chips, so nobody will unintentionally use pointers to access chips anymore. Some unneeded casts are removed as well. Grepping for chip operations and machine memory operations doesn't yield any false positives anymore. Compile tested on 32 bit and 64 bit Linux. Corresponding to flashrom svn r519. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 06 Mar, 2009 2 commits
-
-
Carl-Daniel Hailfinger authored
Before we attempt trickery, we can simply rename the accessor functions. Patch created with the help of Coccinelle. Corresponding to flashrom svn r420 and coreboot v2 svn r3984. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Idwer Vollering <idwer_v@hotmail.com> Acked-by:
Patrick Georgi <patrick@georgi-clan.de>
-
Carl-Daniel Hailfinger authored
During the conversion of flash chip accesses to helper functions, I spotted assignments to volatile variables which were neither placed inside the mmapped ROM area nor were they counters. Due to the use of accessor functions, volatile usage can be reduced significantly because the accessor functions take care of actually performing the reads/writes correctly. The following semantic patch spotted them (linebreak in python string for readability reasons, please remove before usage): @r exists@ expression b; typedef uint8_t; volatile uint8_t a; position p1; @@ a@p1 = readb(b); @script:python@ p1 << r.p1; a << r.a; b << r.b; @@ print "* file: %s line %s has assignment to unnecessarily volatile variable: %s = readb(%s);" % (p1[0].file, p1[0].line, a, b) Result was: HANDLING: sst28sf040.c * file: sst28sf040.c line 44 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 43 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 42 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 41 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 40 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 39 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 38 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 58 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 57 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 56 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 55 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 54 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 53 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); * file: sst28sf040.c line 52 has assignment to unnecessarily volatile variable: tmp = readb(TODO: Binary); The following semantic patch uses the spatch builtin match printing functionality by prepending a "*" to the line with the pattern: @@ expression b; typedef uint8_t; volatile uint8_t a; @@ * a = readb(b); Result is: HANDLING: sst28sf040.c diff = - tmp = readb(bios + 0x1823); - tmp = readb(bios + 0x1820); - tmp = readb(bios + 0x1822); - tmp = readb(bios + 0x0418); - tmp = readb(bios + 0x041B); - tmp = readb(bios + 0x0419); - tmp = readb(bios + 0x040A); } static __inline__ void unprotect_28sf040(volatile uint8_t *bios) @@ -49,13 +42,6 @@ static __inline__ void unprotect_28sf040 /* ask compiler not to optimize this */ volatile uint8_t tmp; - tmp = readb(bios + 0x1823); - tmp = readb(bios + 0x1820); - tmp = readb(bios + 0x1822); - tmp = readb(bios + 0x0418); - tmp = readb(bios + 0x041B); - tmp = readb(bios + 0x0419); - tmp = readb(bios + 0x041A); } static __inline__ int erase_sector_28sf040(volatile uint8_t *bios, It's arguably a bit easier to read if you get used to the leading "-" for matching lines. This patch was enabled by Coccinelle: http://www.emn.fr/x-info/coccinelle/ Corresponding to flashrom svn r419 and coreboot v2 svn r3973. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Joseph Smith <joe@settoplinux.org>
-
- 05 Mar, 2009 1 commit
-
-
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:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
FENG Yu Ning <fengyuning1984@gmail.com>
-
- 25 Jan, 2009 1 commit
-
-
Peter Stuge authored
Corresponding to flashrom svn r390 and coreboot v2 svn r3895. Signed-off-by:
Peter Stuge <peter@stuge.se> Acked-by:
Peter Stuge <peter@stuge.se>
-
- 17 Oct, 2007 1 commit
-
-
Uwe Hermann authored
Corresponding to flashrom svn r151 and coreboot v2 svn r2873. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Stefan Reinauer <stepan@coresystems.de>
-
- 09 Sep, 2007 1 commit
-
-
Uwe Hermann authored
Corresponding to flashrom svn r136 and coreboot v2 svn r2768. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 29 Aug, 2007 1 commit
-
-
Uwe Hermann authored
No changes in content of the files. Corresponding to flashrom svn r131 and coreboot v2 svn r2751. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 23 Aug, 2007 2 commits
-
-
Uwe Hermann authored
Corresponding to flashrom svn r130 and coreboot v2 svn r2748. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Uwe Hermann authored
Corresponding to flashrom svn r128 and coreboot v2 svn r2746. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Stefan Reinauer <stepan@coresystems.de>
-
- 13 Aug, 2007 1 commit
-
-
Ed Swierk authored
The first byte of the flash chip was read at the start of the function and later written back to address 0 if the flash chip was not identified as SST28SF040, which means most of the time. This write caused corruption of flash contents when verifying a SST49LF160C part. Corresponding to flashrom svn r126 and coreboot v2 svn r2744. Signed-off-by:
Ed Swierk <eswierk@arastra.com> Acked-by:
Peter Stuge <peter@stuge.se>
-
- 24 May, 2007 1 commit
-
-
Stefan Reinauer authored
Corresponding to flashrom svn r115 and coreboot v2 svn r2693. Signed-off-by:
Stefan Reinauer <stepan@coresystems.de> Acked-by:
Stefan Reinauer <stepan@coresystems.de>
-
- 23 May, 2007 1 commit
-
-
Stefan Reinauer authored
* Give decent names to virt_addr and virt_addr_2 * add some comments * move virtual addresses to the end of the struct, so they dont mess up the initializer. Corresponding to flashrom svn r111 and coreboot v2 svn r2689. Signed-off-by:
Stefan Reinauer <stepan@coresystems.de> Acked-by:
Stefan Reinauer <stepan@coresystems.de>
-
- 09 May, 2007 1 commit
-
-
Uwe Hermann authored
indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs *.[ch] Some minor fixups were required, and maybe a few more cosmetic changes are needed. Corresponding to flashrom svn r108 and coreboot v2 svn r2643. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 26 Nov, 2005 1 commit
-
-
Ollie Lho authored
Corresponding to flashrom svn r34 and coreboot v2 svn r2111.
-
- 27 Mar, 2004 1 commit
-
-
Ollie Lho authored
Corresponding to flashrom svn r19 and coreboot v2 svn r1486.
-
- 20 Mar, 2004 1 commit
-
-
Ollie Lho authored
Corresponding to flashrom svn r15 and coreboot v2 svn r1457.
-
- 18 Mar, 2004 1 commit
-
-
Ollie Lho authored
Corresponding to flashrom svn r8 and coreboot v2 svn r1434.
-
- 12 Sep, 2003 1 commit
-
-
Ronald G. Minnich authored
Corresponding to coreboot v1 svn r873.
-
- 28 Feb, 2003 1 commit
-
-
Ronald G. Minnich authored
Corresponding to coreboot v1 svn r752.
-
- 29 Jan, 2002 2 commits
-
-
Ronald G. Minnich authored
- switch to volatile everywhere - use myusec_delay instead of usleep Corresponding to coreboot v1 svn r492.
-
Ronald G. Minnich authored
Corresponding to coreboot v1 svn r489.
-