- 13 Dec, 2009 1 commit
-
-
Carl-Daniel Hailfinger authored
Make various pieces of code conditional on support for internal programming. Code shared between PCI device programmers and onboard programming is now conditional as well. It is now possible to build only with dummy support: make CONFIG_INTERNAL=no CONFIG_NIC3COM=no CONFIG_SATASII=no CONFIG_DRKAISER=no CONFIG_SERPROG=no CONFIG_FT2232SPI=no This allows building for a specific use case only, and it also facilitates porting to a new architecture because it is possible to focus on highlevel code only. Note: Either internal or dummy programmer needs to be compiled in due to the current behaviour of always picking a default programmer if -p is not specified. Picking an arbitrary external programmer as default wouldn't make sense. Build and runtime tested in all 1024 possible build combinations. The only failures are by design as mentioned above. Corresponding to flashrom svn r797. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Sean Nelson <audiohacked@gmail.com>
-
- 15 Nov, 2009 1 commit
-
-
Carl-Daniel Hailfinger authored
The two existing SiS chipset enables (compared to the 28 in this patch) were refactored, and one of them was fixed. A function to match PCI vendor/class combinations was added to generic code. Tested on the "Elitegroup K7S5A". Results are somewhat unexpected (some PCI settings seem to be inaccessible, but it still works). This is not based on any docs, but rather on detailed analysis of existing opensource code for some of the chipsets. Thanks to for Adrian Glaubitz testing. Corresponding to flashrom svn r759. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
-
- 16 Sep, 2009 1 commit
-
-
Carl-Daniel Hailfinger authored
Example make commandline if you want only internal programmers: make CONFIG_FT2232SPI=no CONFIG_SERPROG=no CONFIG_NIC3COM=no CONFIG_SATASII=no CONFIG_DRKAISER=no CONFIG_DUMMY=no Of course, all of the CONFIG_* symbols can be mixed and matched as needed. CONFIG_FT2232SPI is special because even if it is enabled, make will check if the headers are available and skip it otherwise. Corresponding to flashrom svn r724. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Stefan Reinauer <stepan@coresystems.de>
-
- 02 Sep, 2009 1 commit
-
-
Carl-Daniel Hailfinger authored
Even a failing chipset init (maybe due to unknown chipset) could still get us reasonable probe results or at least forced reads. Corresponding to flashrom svn r708. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 12 Aug, 2009 1 commit
-
-
Carl-Daniel Hailfinger authored
FT2232 and IT87 programmers used functions of the dummy programmer instead of fallback functions. The dummy programmer is a "real" programmer with possible side effects and its functions should not be abused by other programmers. Make FT2232 and IT87 use official fallback functions instead. Create fallback_shutdown(). Create fallback_chip_writeb(). Convert the programmer #defines to an enum. Corresponding to flashrom svn r678. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Stefan Reinauer <stepan@coresystems.de>
-
- 09 Aug, 2009 1 commit
-
-
Carl-Daniel Hailfinger authored
Use a proper abstraction. Kill unneeded #include statements. Corresponding to flashrom svn r672. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Stefan Reinauer <stepan@coresystems.de>
-
- 05 Jun, 2009 2 commits
-
-
Carl-Daniel Hailfinger authored
Add chip_{read,write}n to the external flasher infrastructure which read/write n bytes at once. Fix a few places where the code used memcpy/memcmp although that is strictly impossible with external flashers. Place a FIXME in the layout.c code because usage is not totally clear and needs to be fixed to support external flashers. As a nice side benefit, we get a noticeable speedup for builtin flash reading which is now a memcpy() of the full flash area instead of a series of single-byte reads. Corresponding to flashrom svn r579. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Urja Rannikko <urjaman@gmail.com> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
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>
-
- 17 May, 2009 2 commits
-
-
Uwe Hermann authored
Corresponding to flashrom svn r531. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Carl-Daniel Hailfinger authored
Some MMIO accesses used volatile, others didn't (and risked non-execution of side effects) and even with volatile, some accesses looked dubious. Since the MMIO accessor functions and the onboard flash accessor functions are functionally identical (but have different signatures), make the flash accessors wrappers for the MMIO accessors. For some of the conversions, I used Coccinelle. Semantic patch follows: @@ typedef uint8_t; expression a; volatile uint8_t *b; @@ - b[a] + *(b + a) @@ expression a; volatile uint8_t *b; @@ - *(b) |= (a); + *(b) = *(b) | (a); @@ expression a; volatile uint8_t *b; @@ - *(b) = (a); + mmio_writeb(a, b); @@ volatile uint8_t *b; @@ - *(b) + mmio_readb(b) @@ type T; T b; @@ ( mmio_readb | mmio_writeb ) (..., - (T) - (b) + b ) Corresponding to flashrom svn r524. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Uwe tested read, write, erase with this patch on a random board to make sure nothing breaks. Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 16 May, 2009 3 commits
-
-
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>
-
Carl-Daniel Hailfinger authored
The emulation works by splitting 32 bit accesses into 16 bit accesses and 16 bit accesses into to 8 bit accesses. That way, external flashers can mix and match the amount of emulation they need. Corresponding to flashrom svn r517. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 14 May, 2009 3 commits
-
-
Carl-Daniel Hailfinger authored
Corresponding to flashrom svn r512. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Uwe Hermann authored
Factor out portable iopl()-style code into a global function which all programmers can use, add missing close() call. Corresponding to flashrom svn r511. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Christian Ruppert authored
Add support for users to specify a certain NIC via PCI bus:slot.func notation, in case there are multiple NICs in one system. Usage: flashrom -p nic3com=bb:ss.f Corresponding to flashrom svn r510. Signed-off-by:
Christian Ruppert <spooky85@gmail.com> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 08 May, 2009 1 commit
-
-
Carl-Daniel Hailfinger authored
- Read/write accesses through function pointers - Command line parameter for internal/external flasher - Board and chipset setup moved to internal init function - Shutdown stuff moved to internal shutdown function As a side benefit, this will allow us to undo chipset write enable during shutdown. Tested by Uwe on real hardware. Corresponding to flashrom svn r476. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-