mirror of
https://review.coreboot.org/flashrom.git
synced 2025-10-17 15:51:53 +02:00
3461f65b23e9e2f81a4ad13117644813f990f0d9

If the flash chip is larger than 16MiB, the memory mapped read from top of 4G address will not work properly, resulting in accesses to addresses below 0xff000000. In such cases flashrom fails with "Bus error". Fallback to default_spi_read for flashes larger than 16 MiB. Using memory mapped access with ROM3 register could be implemented, however it introduces the complexity of ROM page remapping. I.e. the PSP may remap 16MiB pages of 32MiB or larger flashes by XORing the host memory mapped address bits [31:24]. It results in non-linear memory mapped flash space. Fixes the issue: https://ticket.coreboot.org/issues/370 TEST=Read complete flash content on Gigabyte MZ33-AR1 running coreboot. Change-Id: I218a4c2dbf7cd7e8fa25b3ecb5aeac03f54f9dc6 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/89446 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
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`. The list of platforms that package flashrom can be found on `repology.org <https://repology.org/project/flashrom/versions>`_. Information about recent releases can be found in :doc:`/release_notes/index`. Building / installing / packaging --------------------------------- flashrom is built with **meson**. TLDR: :: 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`. If you are interested in development, have a look at :doc:`dev_guide/development_guide`. Contact ------- The official flashrom website is: https://www.flashrom.org/ For available contact methods see :doc:`contact`
Description
Languages
C
90.2%
Rust
5%
Shell
2%
Makefile
1.6%
Meson
1.2%