- 30 May, 2010 5 commits
-
-
Carl-Daniel Hailfinger authored
This allows users to run make clean without specifying the target architecture. Corresponding to flashrom svn r1022. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Idwer Vollering <vidwer@gmail.com> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Carl-Daniel Hailfinger authored
Unistd.h was only used to get a definition of NULL in all files. Add our own NULL #define and remove unistd.h from flash.h stdio.h has no place in flash.h, it should be included only in files which really need it. Add #include statements in individual .c files where needed. Replace a few printf with msg_* to eliminate the need for stdio.h. Corresponding to flashrom svn r1021. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Uwe Hermann authored
- Winbond W39V040FA (reported by Guenter <lists@gknw.net>) Read (thus also probe), write (thus also erase), and verify tested. http://www.flashrom.org/pipermail/flashrom/2010-May/003078.html Corresponding to flashrom svn r1020. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Uwe Hermann authored
- Eon EN25F80 (reported by oops66 <oops66@wanadoo.fr>) Probe and read tested. http://www.flashrom.org/pipermail/flashrom/2010-May/003183.html - AMIC A49LF040A (reported by Guenter <lists@gknw.net>) Read (thus also probe), write (thus also erase), and verify tested. http://www.flashrom.org/pipermail/flashrom/2010-May/003078.html Also reported by Robert Grasso <robert.grasso@modulonet.fr>. http://www.flashrom.org/pipermail/flashrom/2010-May/003006.html - SST SST49LF008A (reported by Marco Giacinti <marcogiacinti@hotmail.it>) Erase tested. http://www.flashrom.org/pipermail/flashrom/2010-May/003010.html - SST SST29EE020A (reported by Anders Jenbo <anders@jenbo.dk>) Write (and thus erase) tested. http://www.flashrom.org/pipermail/flashrom/2010-April/002961.html - SST SST49LF040 (reported by David Westberg <david@uarda.dlinkddns.com>) Probe and read tested. http://www.flashrom.org/pipermail/flashrom/2010-April/002862.html - Winbond W39V080FA (reported by Maciej Żenczykowski <zenczykowski@gmail.com>) All operations tested. http://www.flashrom.org/pipermail/flashrom/2010-April/002863.html - Winbond W29C020C (reported by Urja Rannikko <urjaman@gmail.com>) Erase tested. http://www.flashrom.org/pipermail/flashrom/2010-April/002847.html - PMC Pm39LV010 (reported by Tim Small <tim@seoss.co.uk>) Write (and thus also erase) tested. http://www.flashrom.org/pipermail/flashrom/2010-March/002711.html Corresponding to flashrom svn r1019. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Michael Karcher authored
Corresponding to flashrom svn r1018. Signed-off-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 28 May, 2010 2 commits
-
-
Carl-Daniel Hailfinger authored
Some chips implement the RES (0xab) opcode, but they use a non-standard two byte response instead of the usual one byte response. A two-byte response has the accuracy of REMS and RDID, so don't check for REMS/RDID availability before running a two-byte RES. Corresponding to flashrom svn r1017. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Stefan Reinauer <stepan@coresystems.de>
-
Carl-Daniel Hailfinger authored
ICH SPI can enforce address restrictions for all accesses which take an address (well, it could if the chipset implementation was not broken). Since exploiting the broken implementation is harder than conforming to the address restrictions wherever possible, conform to the address restrictions instead. This patch eliminates a lot of transaction errors people were seeing on chip probe. Corresponding to flashrom svn r1016. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Stefan Reinauer <stepan@coresystems.de>
-
- 26 May, 2010 3 commits
-
-
Peter Lemenkov authored
At least it's addressed as 'Pro' in the list of boards, which requires board_enable. See also: http://www.flashrom.org/pipermail/flashrom/2009-July/000003.html Corresponding to flashrom svn r1015. Signed-off-by:
Peter Lemenkov <lemenkov@gmail.com> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Peter Lemenkov authored
Corresponding to flashrom svn r1014. Signed-off-by:
Peter Lemenkov <lemenkov@gmail.com> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Carl-Daniel Hailfinger authored
- x86/x86_64 (little endian) - PowerPC (big endian) - MIPS (big+little endian) No changes to programmer specific code. This means any drivers with MMIO access will _not_ suddenly start working on big endian systems, but with this patch everything is in place to fix them. Compilation should work on all architectures listed above for all drivers except nic3com and nicrealtek which require PCI Port IO which is x86-only for now. To compile without nic3com and nicrealtek, run make distclean make CONFIG_NIC3COM=no CONFIG_NICREALTEK=no Thanks to Misha Manulis for testing early versions of this patch on PowerPC (big endian) with the satasii programmer. Thanks to Segher Boessenkool for design review and for helping out with compiler tricks and pointing out that we need eieio on PowerPC. Thanks to Vladimir Serbinenko for compile testing on MIPS (little endian) and PowerPC (big endian) and for runtime testing on MIPS (little endian). Thanks to David Daney for compile testing on MIPS (big endian). Thanks to Uwe Hermann for compile and runtime testing on x86_64. DO NOT RUN flashrom ON NON-X86 AFTER APPLYING THIS PATCH! This patch only provides the infrastructure, but does not convert any drivers, so flashrom will compile, but it won't do the right thing on non-x86 platforms. Corresponding to flashrom svn r1013. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Misha Manulis <misha@manulis.com> Acked-by:
Vladimir 'phcoder/φ-coder' Serbinenko <phcoder@gmail.com> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Segher Boessenkool <segher@kernel.crashing.org>
-
- 25 May, 2010 1 commit
-
-
Uwe Hermann authored
- PMC Pm49FL004 - SST SST49LF020 - SST SST49LF020A - SST SST49LF040B - SST SST49LF080A - Winbond W39V040B I tested all operations on hardware using r997. Only on SST49LF040B write/erase does not seem to work, will investigate later (probe/read works, though). Corresponding to flashrom svn r1012. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 24 May, 2010 3 commits
-
-
Uwe Hermann authored
- Add missing entries for 'flashrom -L' output and wiki output. - Add missing entries in the manpage. - nicrealtek.c: Coding style fixes and cosmetics. Corresponding to flashrom svn r1011. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Michael Karcher authored
Corresponding to flashrom svn r1010. Signed-off-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by:
Marc Bertens <mbertens@xs4all.nl>
-
Uwe Hermann authored
- Use '?3' wiki template (light greenish, not gray) for untested stuff. - Reduce page width a bit to improve readability on smaller screens. - Generalize some functions a bit (pass in how many columns to generate). - Mark untested board-enables as such (were incorrectly marked "OK" so far). - Drop some useless 'valign=top' entries. - Make a few more functions 'static' while we're at it. Corresponding to flashrom svn r1009. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 22 May, 2010 3 commits
-
-
Carl-Daniel Hailfinger authored
Add debug output of the exact matched chipset PCI ID to keep track of tested PCI IDs for chipsets with one name and multiple IDs. This will help avoid problems similar to the Tyan S2915 OEM undetected flash in the future. Corresponding to flashrom svn r1008. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
Carl-Daniel Hailfinger authored
Fix Tyan S2915 OEM board by commenting out MCP55 LPC bridge PCI ID 10de:0361 which is the secondary LPC bridge. The same effect could be achieved by refusing to run enable_flash_mcp55 if the device class is not ISA bridge [0601]. Thanks to Alessandro Polverini, Joel Robertson, Nicolas Aveline, Phil LoCascio and Nils-Helge Garli Hegvik for testing flashrom on hardware and Michael Karcher for analyzing the factory BIOS for clues. In the end, no board enable was needed and it was a pure chipset issue. Corresponding to flashrom svn r1007. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
Carl-Daniel Hailfinger authored
The programmer init may need a good host delay function. Corresponding to flashrom svn r1006. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
- 21 May, 2010 4 commits
-
-
Carl-Daniel Hailfinger authored
Every SPI programmer driver had its own completely different chip write implementation, and all of them were insufficiently commented. Create spi_write_chunked as a copy of spi_read_chunked and convert all SPI programmers to use it. No functional changes except: - Bus Pirate uses 12 Byte writes instead of 8 Byte writes - SB600 uses 5 Byte writes instead of 1 Byte writes Corresponding to flashrom svn r1005. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by:
David Hendricks <dhendrix@google.com>
-
Carl-Daniel Hailfinger authored
Read class info manually and store it in a separate variable. Corresponding to flashrom svn r1004. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Joerg Fischer authored
Support for Realtek RTL8139 network card flashing. Corresponding to flashrom svn r1003. Signed-off-by:
Joerg Fischer <turboj@gmx.de> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Joerg Fischer authored
Corresponding to flashrom svn r1002. Signed-off-by:
Joerg Fischer <turboj@gmx.de> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 19 May, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
Corresponding to flashrom svn r1000. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Sean Nelson <audiohacked@gmail.com> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by:
Luc Verhaegen <libv@skynet.be> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 17 May, 2010 1 commit
-
-
Anti Sullin authored
Msr_t memory layout may depend on compiler; with optimizations this may lead to writing incorrect data to MSR. Create a temporary buffer with correct layout to avoid this problem. Corresponding to flashrom svn r999. Signed-off-by:
Anti Sullin <anti.sullin@artecdesign.ee> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
- 15 May, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
Change the command line interface to make file names positional. Add more sanity checks to the command line parser. Corresponding to flashrom svn r998. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
- 07 May, 2010 1 commit
-
-
Sean Nelson authored
Convert programmer print messages to msg_p* convert general print messages to msg_g* a few fixes as suggested by Carl-Daniel. Corresponding to flashrom svn r997. Signed-off-by:
Sean Nelson <audiohacked@gmail.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 28 Apr, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
- Force chip read by faking probe success. - Force chip access even if the chip is bigger than max decode size for the flash bus. - Force erase even if erase is known bad. - Force write even if write is known bad. - Force writing even if cbtable tells us that this is the wrong image for this board. This patch cleans up --force usage: - Remove any suggestions to use --force for probe/read from flashrom output. - Don't talk about "success" or "Found chip" if the chip is forced. - Add a new internal programmer parameter boardmismatch=force. This overrides any mismatch detection from cbtable/image comparisons. - Add a new internal programmer parameter laptop=force_I_want_a_brick. - Adjust the documentation for --force. - Clean up the man page a bit whereever it talks about --force or laptops. Additional changes in this patch: - Add warnings about laptops to the documentation. - Abort if a laptop is detected. Can be overridden with the programmer parameter mentioned above. - Add "Portable" to the list of DMI strings indicating laptops. - Check if a chip specified with -c is known to flashrom. - Programmer parameter reliability and consistency fixes. - More paranoid self-checks. - Improve documentation. Corresponding to flashrom svn r996. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
- 25 Apr, 2010 1 commit
-
-
Rudolf Marek authored
Now the DS selector limit is set to 4GB and all mmio accesses goes through DS, the 1:1 mapping is fixed so the _DS base is taken onto account. Plus is that the hwaccess.c needs no change and memcpy etc can be used on mmaped space. Corresponding to flashrom svn r995. Signed-off-by: Rudolf Marek <r.marek@assembler.cz> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 20 Apr, 2010 1 commit
-
-
Rudolf Marek authored
I tested read/write/probe with W25Q80. Corresponding to flashrom svn r994. Signed-off-by: Rudolf Marek <r.marek@assembler.cz> Acked-by:
David Hendricks <dhendrix@google.com>
-
- 11 Apr, 2010 1 commit
-
-
Michael Karcher authored
Corresponding to flashrom svn r993. Signed-off-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by:
Tom Brand <worntreads@sbcglobal.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 09 Apr, 2010 1 commit
-
-
Urja Rannikko authored
Fix an unescaped % in a format specifier. Corresponding to flashrom svn r992. Signed-off-by:
Urja Rannikko <urjaman@gmail.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 03 Apr, 2010 1 commit
-
-
Michael Karcher authored
Remove blockwise write for i82802ab chips. It will be reintroduced in post-0.9.2 in a generic way. This is needed to fix FWH-like chips with non-uniform sectors. These are: Intel 28F001 Sharp LHF00L04 ST M50FW002 ST M50LPW116 Corresponding to flashrom svn r991. Signed-off-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 31 Mar, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
The current delay loop calculation is still from revision 1 of flashrom, and since then it had a logic bug which caused all delays to be twice as long as intended. Fix the delay duration. Protect against delay loop overflows. Detect a non-working delay loop. Change the delay loop itself to ensure clever compiler optimizers won't eliminate it (as happens with clang/llvm in the current code). Some people suggested machine-specific asm, but the empty asm statement with the loop counter as register/memory input has the benefit of being perfectly cross-platform and working in gcc and clang. If time goes backwards (catastrophical NTP time difference, manual time change), timing measurements were shot because the new-old time subtraction yielded negative numbers which weren't handled correctly because the variable is unsigned. Work around that issue (a fix is mathematically impossible). If time goes forward too fast, pick the biggest possible timing measurement with a guaranteed overflow avoidance for all timing calculations. Check four times if the calculated timing is at most 10% too fast. This addresses OS scheduler interactions, e.g. being scheduled out during measurement which inflates measurements. If the timing looks like garbage, recalculate the timer values up to four times before giving up. Avoid division by zero in rare cases where timing measurements for a 250 ms delay returned 0 us elapsed. Corresponding to flashrom svn r990. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Maciej Pijanka <maciej.pijanka@gmail.com>
-
- 30 Mar, 2010 1 commit
-
-
Vadim Girlin authored
Original patch by Vadim Girlin. Message printing updated by Carl-Daniel Hailfinger. Corresponding to flashrom svn r989. Signed-off-by:
Vadim Girlin <vadimgirlin@gmail.com> Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 27 Mar, 2010 3 commits
-
-
Anders Juel Jensen authored
Corresponding to flashrom svn r988. Signed-off-by:
Anders Juel Jensen <andersjjensen@gmail.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Carl-Daniel Hailfinger authored
This patch uses code from Idwer Vollering and Maciej Pijanka. I've added Makefile support and compiler version printing and restructured the code heavily. The code prints runtime system information and buildtime libpci information (I couldn't find any runtime libpci version function). Due to our ability to cross-compile flashrom, buildtime system information from "uname -mrs" doesn't help diagnosing any problems. That's why only libpci and gcc are buildtime info, and the rest is runtime info. Examples: openSUSE 10.3, i686, gcc 4.2.1, with PCI support: flashrom v0.9.1-r971 on Linux 2.6.22.19-0.2-default (i686), built with libpci 2.2.6, GCC 4.2.1 (SUSE Linux) openSUSE 10.3, i686, llvm-clang-2.6.99svn97231, with PCI support: flashrom v0.9.1-r971 on Linux 2.6.22.19-0.2-default (i686), built with libpci 2.2.6, LLVM 1/clang 1 openSUSE 11.1, x86_64, gcc 4.3.2, with PCI support: flashrom v0.9.1-r972 on Linux 2.6.27.29-0.1-default (x86_64), built with libpci 3.0.1, GCC 4.3.2 [gcc-4_3-branch revision 141291] openSUSE 10.3, i686, gcc 4.2.1, without PCI support: flashrom v0.9.1-r971 on Linux 2.6.22.19-0.2-default (i686), built with GCC 4.2.1 (SUSE Linux) Windows/cygwin, i686, gcc 4.3.4, without PCI support: flashrom v0.9.1-r973 on CYGWIN_NT-5.1 1.7.1(0.218/5/3) (i686), built with GCC 4.3.4 20090804 (release) 1 FreeBSD 8.0, i386, gcc 4.2.1, with PCI support: flashrom v0.9.1-r973 on FreeBSD 8.0-RELEASE-p2 (i386), built with libpci 3.1.7, GCC 4.2.1 20070719 [FreeBSD] Corresponding to flashrom svn r987. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Signed-off-by:
Idwer Vollering <vidwer@gmail.com> Acked-by:
Maciej Pijanka <maciej.pijanka@gmail.com>
-
Carl-Daniel Hailfinger authored
Clean up code duplication and measure timing of 10/100/1000/10000 us delays. Corresponding to flashrom svn r986. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Maciej Pijanka <maciej.pijanka@gmail.com>
-
- 25 Mar, 2010 3 commits
-
-
Uwe Hermann authored
- Fix a number of typos (found via ispell). - Use correct vendor names (as per their websites) consistently. Corresponding to flashrom svn r985. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Michael Karcher authored
PMC Pm39LV010: See http://www.coreboot.org/pipermail/flashrom/2010-March/002711.html Thanks to Tim Small for reporting! Supermicro X8DTT-F: See http://www.coreboot.org/pipermail/flashrom/2010-March/002707.html Thank to Taylan Develioglu for testing! Gigabyte GA-965P-DS4: See http://www.coreboot.org/pipermail/flashrom/2010-March/002426.html Thanks to Michal Andrzejczak for reporting! Tyan Tempest i5000PW: See http://www.coreboot.org/pipermail/flashrom/2010-February/002358.html Thanks to Rob Lazzurs for reporting! PCEngines WRAP.2E: See http://www.coreboot.org/pipermail/flashrom/2010-February/002187.html Thanks to Vincenzo Caruso for testing! Asus P5B: This board has been reporting as working (for r710/0.9.1) in: http://www.coreboot.org/pipermail/flashrom/2010-February/002170.html Thanks to Patrice Levesque for testing! MSI 7312 (K9MM-V) + W39V040B: See http://www.coreboot.org/pipermail/flashrom/2010-February/002159.html Thanks to David Mears for testing! Probe + Read on SST49LF080A: See http://www.coreboot.org/pipermail/flashrom/2010-February/002095.html Thanks to Peter Lemenkov for testing! Finally: remove Asus A7V8X-X from "boards_ok", as this table is meant only for boards not needing a board enable. Corresponding to flashrom svn r984. Signed-off-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Carl-Daniel Hailfinger authored
Move boards which had an IT87* SPI board enable from the board enable list to the OK list. Mark the Gigabyte GA-MA78GPM-DS2H as OK. Change the it87spi forced port parameter to it87spiport=... Fix incorrect indentation in the man page. Tested by Ward Vandewege on both variants of the Gigabyte GA-M57SLI-S4 http://www.flashrom.org/pipermail/flashrom/2010-March/002712.html Tested by 李彥學 (Ian-Xue Li) on the Gigabyte GA-MA78GPM-DS2H http://www.flashrom.org/pipermail/flashrom/2010-March/002723.html Corresponding to flashrom svn r983. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Ward Vandewege <ward@gnu.org>
-
- 24 Mar, 2010 1 commit
-
-
Sean Nelson authored
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>
-