1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 07:02:34 +02:00
Brian Norris 0802655531 linux_mtd: Provide no-op delay implementation
Flashrom has several magic programmer_delay() calls scattered throughout
its codebase (see cli_classic.s/main() and
flashrom.c/flashrom_image_write(), at least). These delays are
superfluous for the linux_mtd programmer, because it's an opaque
programmer in which all protocol details are handled by the kernel
driver.

Stub out the delay function, so we don't waste up to 1.1 seconds of
needless delay time, depending on the operation and CLI vs libflashrom
usage.

BUG=b:325539928
TEST=`elogtool add 0xa7` on a linux_mtd system (such as a Mediatek
       Chromebook):
     Time improvement - reduces from ~1.5s wall clock to about 0.4s
     CPU usage: -90%, as most of the CPU cycles (before this change) are
       spent in needless magic-delay busy loops

Change-Id: I3ac69d3fd7cfc689c5b32c130d044516ed846c29
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/80771
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
2024-03-14 10:14:51 +00:00
2023-03-01 09:40:52 +00:00
2007-09-08 14:36:01 +00:00
2023-03-28 00:36:36 +00:00
2024-03-08 12:30:13 +00:00
2023-10-25 10:03:31 +00:00
2023-07-18 01:17:04 +00:00
2023-04-24 13:30:12 +00:00
2019-07-31 08:26:59 +00:00
2023-05-07 08:36:39 +00:00

flashrom README
===============

flashrom is a utility for detecting, reading, writing, verifying and erasing
flash chips. It is often used to flash BIOS/EFI/coreboot/firmware images
in-system using a supported mainboard, but it also supports flashing of network
cards (NICs), SATA controller cards, and other external devices which can
program flash chips.

It supports a wide range of flash chips (most commonly found in SOIC8, DIP8,
SOIC16, WSON8, PLCC32, DIP32, TSOP32, and TSOP40 packages), which use various
protocols such as LPC, FWH, parallel flash, or SPI.

Do not use flashrom on laptops (yet)! The embedded controller (EC) present in
many laptops might interact badly with any attempts to communicate with the
flash chip and may brick your laptop.

Please make a backup of your flash chip before writing to it.

Please see the flashrom(8) manpage :doc:`classic_cli_manpage`.


Building / installing / packaging
---------------------------------

flashrom supports building with **make** and **meson**.

TLDR, building with meson
"""""""""""""""""""""""""

::

    meson setup builddir
    meson compile -C builddir
    meson test -C builddir
    meson install -C builddir

For full detailed instructions, follow the information in
:doc:`dev_guide/building_from_source`

TLDR, building with make
""""""""""""""""""""""""

::

	make
	make install

For full detailed instructions, follow the information in
:doc:`dev_guide/building_with_make`

Contact
-------

The official flashrom website is:

  https://www.flashrom.org/

For available contact methods see :doc:`contact`
Description
No description provided
Readme 75 MiB
Languages
C 90.2%
Rust 5%
Shell 2%
Makefile 1.6%
Meson 1.2%