blob: 5ca14fc00cecf5de1b1978a6363b9eeea14d7cec [file] [log] [blame]
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +00001.TH FLASHROM 8 "Apr 29, 2010"
Stefan Reinauer261144c2006-07-27 23:29:02 +00002.SH NAME
Uwe Hermann530cb2d2009-05-14 22:58:21 +00003flashrom \- detect, read, write, verify and erase flash chips
Stefan Reinauer261144c2006-07-27 23:29:02 +00004.SH SYNOPSIS
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +00005.B flashrom \fR[\fB\-n\fR] [\fB\-V\fR] [\fB\-f\fR] [\fB\-h\fR|\fB\-R\fR|\
6\fB\-L\fR|\fB\-z\fR|\fB\-E\fR|\fB\-r\fR <file>|\fB\-w\fR <file>|\
7\fB\-v\fR <file>]
8 [\fB\-c\fR <chipname>] [\fB\-m\fR [<vendor>:]<part>] \
9[\fB\-l\fR <file>]
10 [\fB\-i\fR <image>] [\fB\-p\fR <programmername>[:<parameters>]]
Stefan Reinauer261144c2006-07-27 23:29:02 +000011.SH DESCRIPTION
12.B flashrom
Uwe Hermanne8ba5382009-05-22 11:37:27 +000013is a utility for detecting, reading, writing, verifying and erasing flash
Uwe Hermann530cb2d2009-05-14 22:58:21 +000014chips. It's often used to flash BIOS/EFI/coreboot/firmware images in-system
15using a supported mainboard, but it also supports flashing of network cards
16(NICs), SATA controller cards, and other external devices which can program
17flash chips.
Uwe Hermanne74b9f82009-04-10 14:41:29 +000018.PP
Uwe Hermannd42009c2009-04-11 13:59:00 +000019It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, and
20TSOP40 chips, which use various protocols such as LPC, FWH, parallel flash,
21or SPI.
Stefan Reinauer261144c2006-07-27 23:29:02 +000022.SH OPTIONS
Carl-Daniel Hailfinger5de93412009-05-01 10:53:49 +000023Please note that the command line interface for flashrom will change before
24flashrom 1.0. Do not use flashrom in scripts or other automated tools without
Uwe Hermanne8ba5382009-05-22 11:37:27 +000025checking that your flashrom version won't interpret options in a different way.
Carl-Daniel Hailfinger5de93412009-05-01 10:53:49 +000026.PP
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000027You can specify one of \-h, \-R, \-L, \-z, \-E, \-r, \-w, \-v or no operation.
28If no operation is specified, flashrom will only probe for flash chips. It is
Michael Karcher31fd8252010-03-12 06:41:39 +000029recommended that if you try flashrom the first time on a system, you run it
30in probe only mode and check the output. Also you are advised to make a
31backup of your current ROM contents with \-r before you try to write a new
32image.
Stefan Reinauerde063bf2006-09-21 13:09:22 +000033.TP
Uwe Hermanne74b9f82009-04-10 14:41:29 +000034.B "\-r, \-\-read <file>"
35Read flash ROM contents and save them into the given
36.BR <file> .
Stefan Reinauerde063bf2006-09-21 13:09:22 +000037.TP
Uwe Hermanne74b9f82009-04-10 14:41:29 +000038.B "\-w, \-\-write <file>"
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000039Write
40.B <file>
41into flash ROM.
Stefan Reinauerde063bf2006-09-21 13:09:22 +000042.TP
Uwe Hermannea07f622009-06-24 17:31:08 +000043.B "\-n, \-\-noverify"
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000044Skip the automatic verification of flash ROM contents after writing. Using this
Uwe Hermannea07f622009-06-24 17:31:08 +000045option is
46.B not
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000047recommended, you should only use it if you know what you are doing and if you
Uwe Hermannea07f622009-06-24 17:31:08 +000048feel that the time for verification takes too long.
49.sp
50Typical usage is:
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000051.B "flashrom -n -w file"
Uwe Hermannea07f622009-06-24 17:31:08 +000052.sp
53This option is only useful in combination with
54.BR \-\-write .
55.TP
Uwe Hermanne74b9f82009-04-10 14:41:29 +000056.B "\-v, \-\-verify <file>"
57Verify the flash ROM contents against the given
58.BR <file> .
Stefan Reinauerde063bf2006-09-21 13:09:22 +000059.TP
Stefan Reinauer261144c2006-07-27 23:29:02 +000060.B "\-E, \-\-erase"
Uwe Hermanne74b9f82009-04-10 14:41:29 +000061Erase the flash ROM chip.
Stefan Reinauerde063bf2006-09-21 13:09:22 +000062.TP
Stefan Reinauer261144c2006-07-27 23:29:02 +000063.B "\-V, \-\-verbose"
64More verbose output.
Stefan Reinauerde063bf2006-09-21 13:09:22 +000065.TP
Stefan Reinauer261144c2006-07-27 23:29:02 +000066.B "\-c, \-\-chip" <chipname>
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +000067Probe only for specified flash ROM chip. This option takes the chip name as
68printed by
69.B "flashrom \-L"
70without the vendor name. Please note that the chip name is case sensitive.
Joerg Mayer645c6df2010-03-13 14:47:48 +000071.TP
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000072.B "\-m, \-\-mainboard" [<vendor>:]<part>
Joerg Mayer645c6df2010-03-13 14:47:48 +000073Override mainboard settings.
74.sp
75flashrom reads the coreboot table to determine the current mainboard. If no
76coreboot table could be read or if you want to override these values, you can
77specify \-m, e.g.:
78.sp
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +000079.B " flashrom --mainboard AGAMI:ARUMA -w agami_aruma.rom"
Joerg Mayer645c6df2010-03-13 14:47:48 +000080.sp
81See the 'Supported mainboards' section in the output of 'flashrom \-L' for
82a list of boards which require the specification of the board name, if no
83coreboot table is found.
84.TP
85.B "\-f, \-\-force"
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +000086Force one or more of the following actions:
Joerg Mayer645c6df2010-03-13 14:47:48 +000087.sp
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +000088* Force chip read and pretend the chip is there.
89.sp
90* Force chip access even if the chip is bigger than max decode size for\
91 the flash bus.
92.sp
93* Force erase even if erase is known bad.
94.sp
95* Force write even if write is known bad.
Joerg Mayer645c6df2010-03-13 14:47:48 +000096.TP
97.B "\-l, \-\-layout <file>"
98Read ROM layout from
99.BR <file> .
Uwe Hermann87c07932009-05-05 16:15:46 +0000100.sp
101flashrom supports ROM layouts. This allows you to flash certain parts of
102the flash chip only. A ROM layout file looks like follows:
103.sp
104 00000000:00008fff gfxrom
105 00009000:0003ffff normal
106 00040000:0007ffff fallback
107.sp
108 i.e.:
109 startaddr:endaddr name
110.sp
111All addresses are offsets within the file, not absolute addresses!
112If you only want to update the normal image in a ROM you can say:
113.sp
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000114.B " flashrom --layout rom.layout --image normal -w agami_aruma.rom"
Uwe Hermann87c07932009-05-05 16:15:46 +0000115.sp
116To update normal and fallback but leave the VGA BIOS alone, say:
117.sp
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000118.B " flashrom -l rom.layout -i normal \"
Uwe Hermann87c07932009-05-05 16:15:46 +0000119.br
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000120.B " -i fallback -w agami_aruma.rom"
Uwe Hermann87c07932009-05-05 16:15:46 +0000121.sp
122Currently overlapping sections are not supported.
Stefan Reinauerde063bf2006-09-21 13:09:22 +0000123.TP
Uwe Hermanne74b9f82009-04-10 14:41:29 +0000124.B "\-i, \-\-image <name>"
Uwe Hermann67808fe2007-10-18 00:29:05 +0000125Only flash image
126.B <name>
127from flash layout.
Stefan Reinauerde063bf2006-09-21 13:09:22 +0000128.TP
Uwe Hermanne5ac1642008-03-12 11:54:51 +0000129.B "\-L, \-\-list\-supported"
Uwe Hermanne8ba5382009-05-22 11:37:27 +0000130List the flash chips, chipsets, mainboards, and PCI card "programmers"
131supported by flashrom.
Uwe Hermanne5ac1642008-03-12 11:54:51 +0000132.sp
Uwe Hermanne8ba5382009-05-22 11:37:27 +0000133There are many unlisted boards which will work out of the box, without
134special support in flashrom. Please let us know if you can verify that
135other boards work or do not work out of the box. For verification you have
136to test an ERASE and/or WRITE operation, so make sure you only do that
137if you have proper means to recover from failure!
Uwe Hermanne5ac1642008-03-12 11:54:51 +0000138.TP
Uwe Hermann20a293f2009-06-19 10:42:43 +0000139.B "\-z, \-\-list\-supported-wiki"
140Same as
141.BR \-\-list\-supported ,
142but outputs the supported hardware in MediaWiki syntax, so that it can be
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000143easily pasted into the wiki page at http://www.flashrom.org/. Please note
144that MediaWiki output is not compiled in by default.
Uwe Hermann20a293f2009-06-19 10:42:43 +0000145.TP
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +0000146.B "\-p, \-\-programmer <name>[:parameter[,parameter[,parameter]]]"
Carl-Daniel Hailfingerce986772009-05-09 00:27:07 +0000147Specify the programmer device. Currently supported are:
148.sp
Uwe Hermann530cb2d2009-05-14 22:58:21 +0000149.BR "* internal" " (default, for in-system flashing in the mainboard)"
150.sp
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +0000151.BR "* dummy" " (just prints all operations and accesses)"
152.sp
Uwe Hermann530cb2d2009-05-14 22:58:21 +0000153.BR "* nic3com" " (for flash ROMs on 3COM network cards)"
154.sp
Uwe Hermann2bc98f62009-09-30 18:29:55 +0000155.BR "* gfxnvidia" " (for flash ROMs on NVIDIA graphics cards)"
156.sp
TURBO Jb0912c02009-09-02 23:00:46 +0000157.BR "* drkaiser" " (for flash ROMs on Dr. Kaiser PC-Waechter PCI cards)"
158.sp
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +0000159.BR "* satasii" " (for flash ROMs on Silicon Image SATA/IDE controllers)"
160.sp
Uwe Hermannddd5c9e2010-02-21 21:17:00 +0000161.BR "* atahpt" " (for flash ROMs on Highpoint ATA/RAID controllers)"
162.sp
Uwe Hermanne9d04d42009-06-02 19:54:22 +0000163.BR "* it87spi" " (for flash ROMs behind an ITE IT87xx Super I/O LPC/SPI translation unit)"
Carl-Daniel Hailfingerb8afecd2009-05-31 18:00:57 +0000164.sp
Paul Fox05dfbe62009-06-16 21:08:06 +0000165.BR "* ft2232spi" " (for flash ROMs attached to a FT2232H/FT4232H based USB SPI programmer)"
166.sp
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000167.BR "* serprog" " (for flash ROMs attached to Urja's AVR programmer)"
168.sp
Carl-Daniel Hailfingerd5b28fa2009-11-24 18:27:10 +0000169.BR "* buspiratespi" " (for flash ROMs attached to a Bus Pirate)"
170.sp
Michael Karchere5eafb22010-03-07 12:11:08 +0000171Some programmers have optional or mandatory parameters which are described
172in detail in the
173.B PROGRAMMER SPECIFIC INFO
174section. Support for some programmers can be disabled at compile time.
175.B "flashrom -h"
176lists all supported programmers.
177.TP
178.B "\-h, \-\-help"
179Show a help text and exit.
180.TP
181.B "\-R, \-\-version"
182Show version information and exit.
183.SH PROGRAMMER SPECIFIC INFO
184Some programmer drivers accept further parameters to set programmer-specific
Uwe Hermann4e3d0b32010-03-25 23:18:41 +0000185parameters. These parameters are separated from the programmer name by a
Michael Karchere5eafb22010-03-07 12:11:08 +0000186colon. While some programmers take arguments at fixed positions, other
187programmers use a key/value interface in which the key and value is separated
188by an equal sign and different pairs are separated by a comma or a colon.
189.TP
Michael Karcher7f0c3ec2010-03-07 22:29:28 +0000190.BR "internal " programmer
191Some mainboards require to run mainboard specific code to enable flash erase
192and write support (and probe support on old systems with parallel flash).
193The mainboard brand and model (if it requires specific code) is usually
194autodetected using one of the following mechanisms: If your system is
195running coreboot, the mainboard type is determined from the coreboot table,
196otherwise, the mainboard is detected by examining the onboard PCI devices
197and possibly DMI info. If PCI and DMI do not contain information to uniquely
198identify the mainboard (which is the exception), it might be necessary to
199specify the mainboard using the \-m switch (see above).
200.sp
201Some of these board-specific flash enabling functions (called board enables)
202in flashrom have not yet been tested. If your mainboard is detected needing
203an untested board enable function, a warning message is printed and the
204board enable is not executed, because a wrong board enable function might
205cause the system to behave erratically, as board enable functions touch the
206low-level internals of a mainboard. Not executing a board enable function
207(if one is needed) might cause detection or erasing failure. If your board
208protects only part of the flash (commonly the top end, called boot block),
209flashrom might encounter an error only after erasing the unprotected part,
210so running without the board-enable function might be dangerous for erase
211and write (which includes erase).
212.sp
213The suggested procedure for a mainboard with untested board specific code is
214to first try to probe the ROM (just invoke flashrom and check that it
215detects your flash chip type) without running the board enable code (i.e.
216without any parameters). If it finds your chip, fine, otherwise, retry
217probing your chip with the board-enable code running, using
218.sp
219.B "flashrom -p internal:boardenable=force"
220.sp
221If your chip is still not detected, the board enable code seems to be broken
222or the flash chip unsupported. Otherwise, make a backup of your current ROM
223contents (using \-r) and store it to a medium outside of your computer, like
224an USB drive or a network share. If you needed to run the board enable code
225already for probing, use it for reading too. Now you can try to write the
226new image. You should enable the board enable code in any case now, as it
227has been written because it is known that writing/erasing without the board
228enable is going to fail. In any case (success or failure), please report to
229the flashrom mailing list, see below.
230.sp
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +0000231On systems running coreboot, flashrom checks whether the desired image matches
232your mainboard. This needs some special board ID to be present in the image.
233If flashrom detects that the image you want to write and the current board
234do not match, it will refuse to write the image unless you specify
235.sp
236.B "flashrom -p internal:boardmismatch=force"
237.sp
Carl-Daniel Hailfinger01f3ef42010-03-25 02:50:40 +0000238If your mainboard uses an ITE IT87 series Super I/O for LPC<->SPI flash bus
239translation, flashrom should autodetect that configuration. You can use
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000240.sp
Carl-Daniel Hailfinger01f3ef42010-03-25 02:50:40 +0000241.B "flashrom -p internal:it87spiport=portnum"
242syntax as explained in the
243.B it87spi
244programmer section to use a non-default port for controlling the IT87 series
245Super I/O. In the unlikely case flashrom doesn't detect an active IT87 LPC<->SPI
246bridge, you can try to force recognition by using the it87spi programmer.
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +0000247.sp
248Using flashrom on laptops is dangerous and may easily make your hardware
249unusable (see also the BUGS section). The embedded controller (EC) in these
250machines often interacts badly with flashing. http://www.flashrom.org/Laptops
251has more information. If flash is shared with the EC, erase is guaranteed to
252brick your laptop and write is very likely to brick your laptop.
253Chip read and probe may irritate your EC and cause fan failure, backlight
254failure, sudden poweroff, and other nasty effects.
255flashrom will attempt to detect laptops and abort immediately for safety
256reasons.
257If you want to proceed anyway at your own risk, use
258.sp
259.B "flashrom -p internal:laptop=force_I_want_a_brick"
260.sp
261You have been warned.
262.sp
263We will not help you if you force flashing on a laptop because this is a really
264dumb idea.
Carl-Daniel Hailfinger01f3ef42010-03-25 02:50:40 +0000265.TP
Michael Karchere5eafb22010-03-07 12:11:08 +0000266.BR "dummy " programmer
267An optional parameter specifies the bus types it
Carl-Daniel Hailfinger3504b532009-06-01 00:02:11 +0000268should support. For that you have to use the
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000269.B "flashrom -p dummy:type"
Carl-Daniel Hailfinger3504b532009-06-01 00:02:11 +0000270syntax where
271.B type
272can be any comma-separated combination of
273.B parallel lpc fwh spi all
274in any order.
275.sp
276Example:
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000277.B "flashrom -p dummy:lpc,fwh"
Michael Karchere5eafb22010-03-07 12:11:08 +0000278.TP
Carl-Daniel Hailfinger01f3ef42010-03-25 02:50:40 +0000279.BR "nic3com" , " gfxnvidia" , " satasii " and " atahpt " programmers
Michael Karchere5eafb22010-03-07 12:11:08 +0000280These programmers have an option to specify the PCI address of the card
281your want to use, which must be specified if more than one card supported
282by the selected programmer is installed in your system. The syntax is
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000283.B "flashrom -p xxxx:bb:dd.f"
Michael Karchere5eafb22010-03-07 12:11:08 +0000284, where
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +0000285.B xxxx
286is the name of the programmer
Uwe Hermann530cb2d2009-05-14 22:58:21 +0000287.B bb
288is the PCI bus number,
289.B dd
290is the PCI device number, and
291.B f
292is the PCI function number of the desired NIC.
293.sp
294Example:
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000295.B "flashrom -p nic3com:05:04.0"
Michael Karchere5eafb22010-03-07 12:11:08 +0000296.TP
297.BR "it87spi " programmer
298An optional parameter sets the I/O base port of the IT87* SPI controller
299interface to the port specified in the parameter instead of using the port
300address set by the BIOS. For that you have to use the
Carl-Daniel Hailfinger01f3ef42010-03-25 02:50:40 +0000301.B "flashrom -p it87spi:it87spiport=portnum"
Carl-Daniel Hailfingerbb297f72009-07-11 18:05:42 +0000302syntax where
303.B portnum
304is an I/O port number which must be a multiple of 8.
Michael Karchere5eafb22010-03-07 12:11:08 +0000305.TP
306.BR "ft2232spi " programmer
307An optional parameter species the controller
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000308type and interface/port it should support. For that you have to use the
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000309.B "flashrom -p ft2232spi:model,port=interface"
Carl-Daniel Hailfingerfeea2722009-07-01 00:02:23 +0000310syntax where
311.B model
312can be any of
313.B 2232H 4232H
314and
315.B interface
316can be any of
Michael Karchere5eafb22010-03-07 12:11:08 +0000317.BR "A B" .
Carl-Daniel Hailfingerfeea2722009-07-01 00:02:23 +0000318The default model is
319.B 4232H
320and the default interface is
321.BR B .
Michael Karchere5eafb22010-03-07 12:11:08 +0000322.TP
323.BR "serprog " programmer
324A mandatory parameter specifies either a serial
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000325device/baud combination or an IP/port combination for communication with the
Michael Karchere5eafb22010-03-07 12:11:08 +0000326programmer. In the device/baud combination, the device has to start with a
327slash. For serial, you have to use the
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000328.B "flashrom -p serprog:/dev/device:baud"
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000329syntax and for IP, you have to use
Carl-Daniel Hailfinger664e7ad2009-08-19 15:03:28 +0000330.B "flashrom -p serprog:ip:port"
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000331instead. More information about serprog is available in serprog-protocol.txt in
332the source distribution.
Michael Karchere5eafb22010-03-07 12:11:08 +0000333.TP
334.BR "buspiratespi " programmer
Uwe Hermann4e3d0b32010-03-25 23:18:41 +0000335A required dev parameter specifies the Bus Pirate device node and an optional
336spispeed parameter specifies the frequency of the SPI bus. The parameter
Michael Karchere5eafb22010-03-07 12:11:08 +0000337delimiter is a comma. Syntax is
Carl-Daniel Hailfingerdfade102009-08-18 23:51:22 +0000338.sp
Carl-Daniel Hailfingerd5b28fa2009-11-24 18:27:10 +0000339.B "flashrom -p buspiratespi:dev=/dev/device,spispeed=frequency"
Michael Karchere5eafb22010-03-07 12:11:08 +0000340.sp
Carl-Daniel Hailfingerd5b28fa2009-11-24 18:27:10 +0000341where
342.B frequency
343can be any of
344.B 30k 125k 250k 1M 2M 2.6M 4M 8M
Michael Karchere5eafb22010-03-07 12:11:08 +0000345(in Hz). The default is the maximum frequency of 8 MHz.
Peter Stuge42688e52009-01-26 02:20:56 +0000346.SH EXIT STATUS
347flashrom exits with 0 on success, 1 on most failures but with 2 if /dev/mem
348(/dev/xsvc on Solaris) can not be opened and with 3 if a call to mmap() fails.
Stefan Reinauer261144c2006-07-27 23:29:02 +0000349.SH BUGS
Uwe Hermann42eb17f2008-01-18 17:48:51 +0000350Please report any bugs at
Stefan Reinauer22ea8cd2009-07-30 13:32:26 +0000351.BR http://www.flashrom.org/trac/flashrom/newticket ","
Carl-Daniel Hailfinger27023762010-04-28 15:22:14 +0000352or on the flashrom mailing list at
353.BR http://www.flashrom.org/mailman/listinfo/flashrom "."
354.sp
355Using flashrom on laptops is dangerous and may easily make your hardware
356unusable unless you can desolder the flash chip and have a full flash chip
357backup. This is caused by the embedded controller (EC) present in many laptops,
358which interacts badly with any flash attempts. This is a hardware limitation
359and flashrom will attempt to detect it and abort immediately for safety reasons.
Stefan Reinauer261144c2006-07-27 23:29:02 +0000360.SH LICENCE
361.B flashrom
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000362is covered by the GNU General Public License (GPL), version 2. Some files are
363additionally available under the GPL (version 2, or any later version).
Stefan Reinauer261144c2006-07-27 23:29:02 +0000364.SH COPYRIGHT
Stefan Reinauer261144c2006-07-27 23:29:02 +0000365.br
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000366Please see the individual files.
Stefan Reinauer261144c2006-07-27 23:29:02 +0000367.SH AUTHORS
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000368Carl-Daniel Hailfinger
369.br
370Claus Gindhart <claus.gindhart@kontron.com>
371.br
372Dominik Geyer <dominik.geyer@kontron.com>
373.br
Stefan Reinaueredc61882010-01-03 14:40:30 +0000374Eric Biederman
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000375.br
376Giampiero Giancipoli <gianci@email.it>
377.br
378Joe Bao <Zheng.Bao@amd.com>
379.br
380Luc Verhaegen <libv@skynet.be>
381.br
Carl-Daniel Hailfinger451dc802009-05-01 11:00:39 +0000382Li-Ta Lo
383.br
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000384Markus Boas <ryven@ryven.de>
385.br
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000386Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
387.br
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000388Nikolay Petukhov <nikolay.petukhov@gmail.com>
389.br
390Peter Stuge <peter@stuge.se>
391.br
392Reinder E.N. de Haan <lb_reha@mveas.com>
393.br
394Ronald G. Minnich <rminnich@gmail.com>
395.br
396Ronald Hoogenboom <ronald@zonnet.nl>
Stefan Reinauer261144c2006-07-27 23:29:02 +0000397.br
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000398Sean Nelson <audiohacked@gmail.com>
399.br
Stefan Reinauer261144c2006-07-27 23:29:02 +0000400Stefan Reinauer <stepan@coresystems.de>
401.br
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000402Stefan Wildemann <stefan.wildemann@kontron.com>
403.br
404Steven James <pyro@linuxlabs.com>
405.br
406Uwe Hermann <uwe@hermann-uwe.de>
407.br
Stefan Reinaueredc61882010-01-03 14:40:30 +0000408Wang Qingpei
Carl-Daniel Hailfinger851ecf22009-01-08 04:56:59 +0000409.br
Stefan Reinaueredc61882010-01-03 14:40:30 +0000410Yinghai Lu
Stefan Reinauerf8337dd2006-08-03 10:49:09 +0000411.br
412some others
Stefan Reinauer261144c2006-07-27 23:29:02 +0000413.PP
Carl-Daniel Hailfinger8841d3e2010-05-15 15:04:37 +0000414This manual page was written by Uwe Hermann <uwe@hermann-uwe.de> and Carl-Daniel
415Hailfinger.
Uwe Hermann42eb17f2008-01-18 17:48:51 +0000416It is licensed under the terms of the GNU GPL (version 2 or later).