| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Constify variables where possible.
Initialize programmer-related variables explicitly in programmer_init to
allow running programmer_init from a clean state after
programmer_shutdown.
Prohibit registering programmer shutdown functions before init or after
shutdown.
Kill some dead code.
Rename global variables with namespace-polluting names.
Use a previously unused locking helper function in sst49lfxxxc.c.
This is needed for libflashrom.
Effects on the binary size of flashrom are minimal (300 bytes
shrinkage), but the data section shrinks by 4384 bytes, and that's a
good thing if flashrom is operating in constrained envionments.
Corresponding to flashrom svn r1068.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
|
|
|
|
|
|
|
| |
Corresponding to flashrom svn r982.
Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
|
|
|
|
|
|
|
|
|
| |
sst29sf040.c functions from chipdrivers.h
Corresponding to flashrom svn r942.
Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
flash.h
Some of the spi programmer drivers required chipdrivers.h, needs fixing later:
it87spi.c ichspi.c sb600spi.c wbsio_spi.c buspirate_spi.c ft2232spi.c
bitbang_spi.c dediprog.c
Corresponding to flashrom svn r914.
Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SST29EE010 SST29LE010 SST29EE020A SST29LE020 SST39SF010A SST39SF020A SST39SF040
SST39VF512 SST39VF010 SST39VF020 SST39VF040 SST39VF080 SST49LF002A/B
SST49LF003A/B SST49LF004C SST49LF008A SST49LF008C SST49LF016C SST49LF020
SST49LF020A SST49LF040 SST49LF040B SST49LF080A SST49LF160C Extend sst28sf040
to include chip and sector functions for block_eraser. Extend sst49lfxxxc
to include chip, sector, block erasers functions for block_erasers. Extend
sst_fwhub to include chip and sector functions for block_erasers. Add
copyrights to changed files. Killed erase_sst_fwhub. Killed erase_49lfxxxc.
NULL A/A mux mode full chip erasers. Ignore block locks in erase/write. Change
comments from "PP mode" to "A/A mux mode"
Corresponding to flashrom svn r877.
Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
|
|
|
|
|
|
|
|
|
|
|
| |
scan-build (r79326, new build on the way)
This commit fixes only some of the issues, those that were
Corresponding to flashrom svn r722.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The __func__ variant is standardized in C99 and recommended to be
used instead of __FUNCTION__ in the gcc info page.
Only _very_ old versions of gcc did not know about __func__, but we've
been using both __func__ and __FUNCTION__ for a long while now, and
nobody complained about this, so all our users seem to use recent
enough compilers.
Corresponding to flashrom svn r711.
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
|
|
| |
indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs *.[ch]
Some minor fixups were required, and maybe a few more cosmetic
Binary file (standard input) matches
Corresponding to flashrom svn r108 and coreboot v2 svn r2643.
|
|
|
|
| |
Corresponding to flashrom svn r34 and coreboot v2 svn r2111.
|
|
|
|
|
|
| |
about the integrity
Corresponding to flashrom svn r19 and coreboot v2 svn r1486.
|
|
|
|
| |
Corresponding to flashrom svn r15 and coreboot v2 svn r1457.
|
|
|
|
| |
Corresponding to flashrom svn r8 and coreboot v2 svn r1434.
|
|
|
|
| |
Corresponding to coreboot v1 svn r873.
|
|
|
|
| |
Corresponding to coreboot v1 svn r752.
|
|
|
|
| |
Corresponding to coreboot v1 svn r492.
|
|
Corresponding to coreboot v1 svn r489.
|