summaryrefslogtreecommitdiff
path: root/cgpt/cgpt_nor.c
Commit message (Collapse)AuthorAgeFilesLines
* treewide: Fix license headers to conform with linterJakub Czapiga2022-10-041-1/+1
| | | | | | | | | | | | | BRANCH=none BUG=none TEST=cros lint Signed-off-by: Jakub Czapiga <jacz@semihalf.com> Change-Id: I7710c43c8c70cf257a898f22c42ecbf350e125a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3925702 Commit-Queue: Jakub Czapiga <czapiga@google.com> Reviewed-by: Yu-Ping Wu <yupingso@chromium.org> Tested-by: Jakub Czapiga <czapiga@google.com>
* vboot_ref/cgpt: Move mkdir out of flashrom worker funcEdward O'Callaghan2022-03-031-13/+3
| | | | | | | | | | | | | | | | | | Small refactor to make it easier to more towards libflashrom. This makes the call site responsible for setting up the path for ReadNorFlash(). BUG=b:207808292,b:220079643 BRANCH=none TEST=`make cgpt` Signed-off-by: Edward O'Callaghan <quasisec@google.com> Change-Id: I15fc57e5afca6206b60df92616fd4cdce63b03e3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3469738 Tested-by: Edward O'Callaghan <quasisec@chromium.org> Auto-Submit: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Sam McNally <sammc@chromium.org> Commit-Queue: Edward O'Callaghan <quasisec@chromium.org>
* vboot_ref/cgpt: Consolidate flashrom write cmd pathsEdward O'Callaghan2022-03-031-14/+15
| | | | | | | | | | | | | | | | Small refactor to make it easier to more towards libflashrom. BUG=b:207808292,b:220079643 BRANCH=none TEST=`make cgpt` Signed-off-by: Edward O'Callaghan <quasisec@google.com> Change-Id: Ie0c7f4faee3052300b10ba2d1adce7876d7b821c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3469737 Tested-by: Edward O'Callaghan <quasisec@chromium.org> Auto-Submit: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Sam McNally <sammc@chromium.org> Commit-Queue: Edward O'Callaghan <quasisec@chromium.org>
* vboot_ref/cgpt: Use defines for region constsEdward O'Callaghan2022-03-011-3/+7
| | | | | | | | | | | | | | BUG=b:207808292,b:220079643 BRANCH=none TEST=`make cgpt` Signed-off-by: Edward O'Callaghan <quasisec@google.com> Change-Id: I367e44eed18c79a807bd428e50a3faf926833719 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3461097 Auto-Submit: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Nikolai Artemiev <nartemiev@google.com> Tested-by: Edward O'Callaghan <quasisec@chromium.org> Commit-Queue: Edward O'Callaghan <quasisec@chromium.org>
* vboot_reference/cgpt_nor: Make ForkExecL() static localfactory-cherry-14455.BEdward O'Callaghan2022-01-131-1/+1
| | | | | | | | | | | | | | BUG=none TEST=builds Signed-off-by: Edward O'Callaghan <quasisec@google.com> Change-Id: Ied809d3c2839f33d738d1938cafd6c634d54ee28 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3353558 Commit-Queue: Edward O'Callaghan <quasisec@chromium.org> Tested-by: Edward O'Callaghan <quasisec@chromium.org> Auto-Submit: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Nikolai Artemiev <nartemiev@google.com> Commit-Queue: Nikolai Artemiev <nartemiev@google.com>
* vboot_reference: migrate out of flashrom deprecated optionsDaniel Campello2021-04-281-2/+2
| | | | | | | | | | | | | | This change replaces --diff and --fast-verify for the supported equivalent flashrom options BRANCH=none BUG=b:186479007 TEST=tryjobs Change-Id: I614ba71c606dbe4e3a1b4988df845bcbbd61dd01 Signed-off-by: Daniel Campello <campello@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2853623 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* cgpt: Move all GPT on SPI-NOR infra behind a flagNicolas Boichat2021-04-091-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | This piece of code caused serious issues in b/184559695, and it seems like we have no active users at the moment. We can punt the decision to remove the code entirely, but for now, let's stop building and executing it, leaving it to potential users to fix it up, and refactor/cleanup/test the code. BRANCH=none BUG=b:184812319 TEST=`make` does not build `cgpt_wrapper` or any SPI-NOR code. TEST=`make GPT_SPI_NOR=1` does build it. TEST=`emerge-$BOARD -v vboot_reference && \ cros deploy $IP vboot_reference` `cgpt find -t kernel` does not print any RW_GPT-related errors anymore. Change-Id: Ie081f372964807caa1b121059288ae761f2f8e43 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2814132 Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* cgpt: Use subprocess_run to call flashrom with 1>/dev/nullstabilize-quickfix-13904.98.Bstabilize-13904.67.Bstabilize-13904.66.Bstabilize-13904.62.Bstabilize-13904.59.Bstabilize-13904.58.Bstabilize-13904.55.Bstabilize-13904.49.Bstabilize-13904.48.Bstabilize-13904.47.Bstabilize-13904.44.Bstabilize-13904.43.Bstabilize-13904.42.Bstabilize-13904.41.Bstabilize-13904.34.Brelease-R91-13904.BNicolas Boichat2021-04-081-19/+56
| | | | | | | | | | | | | | | | | | | | | | Closing fd=1 is a bad idea, as flashrom will then reuse fd=1 for the MTD device and directly write to it. Luckily, we have a subprocess_run function in vboot that does what we need. There will be some cleanup required after this, but hopefully this is enough to clear the P0 on hand. BUG=b:184559695 TEST=`cgpt find -t kernel` (fails?!), but at least does not corrupt flash: `flashrom -r /usr/local/x.bin && hexdump -C /usr/local/x.bin | head` BRANCH=none Change-Id: Ia82ed7966ea66274f72fe21eca5241633ffbdb5c Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2812630 Reviewed-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* portability fixes: support building vboot on FreeBSDIdwer Vollering2020-09-111-0/+2
| | | | | | | | | | | Built on FreeBSD 12.1-RELEASE, 13-CURRENT, using gcc9 installed from packages. Change-Id: Ifa8bb343c7e916c1b545cf6c1e4bd0a18ea391cd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2382790 Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: Julius Werner <jwerner@chromium.org> Commit-Queue: Julius Werner <jwerner@chromium.org>
* Fix more coverity warnings in utilitiesRandall Spangler2016-09-151-4/+9
| | | | | | | | | | | | | | Assorted minor code issues, which we should fix so any new errors stand out more. BUG=chromium:643769 BRANCH=none TEST=make runtests Change-Id: I8fcf0c51e33d5dc49f650f4069f1579091cf188d Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/383713 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* cgpt: Fix coverity warningsRandall Spangler2016-09-061-0/+1
| | | | | | | | | | | | | | Assorted minor code issues, which we should fix so any new errors stand out more. BUG=chromium:643769 BRANCH=none TEST=make runtests Change-Id: I9e7ce2ba226993fc53d1745c98381cb7cfcb7712 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/380448 Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
* cgpt: Close stdout on exec'ing flashromNam T. Nguyen2015-01-221-2/+10
| | | | | | | | | | | | | | | | flashrom spills out "Reading flash... SUCCESS" and so on to stdout. This affects scripts calling to "cgpt". So this CL sets stdout to CLOEXEC before exec'ing flashrom. It still leaves stderr and stdin unclosed. BUG=None BRANCH=None TEST=cgpt show /dev/mtd0 2>/dev/null will not show any unnecessary text Change-Id: Ide1414c56f63ffe8bc2385a797f166476dacd732 Reviewed-on: https://chromium-review.googlesource.com/242295 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Nam Nguyen <namnguyen@chromium.org> Commit-Queue: Nam Nguyen <namnguyen@google.com>
* cgpt: Enable fast-verify when writing back to NORNam T. Nguyen2015-01-221-2/+2
| | | | | | | | | | | | | | | flashrom has been fixed, we could enable this flag for better performance. BUG=None BRANCH=None TEST=cgpt show /dev/mtd0 works much faster now. Change-Id: I7a6f5b8649b4293d9b4b4878ae8e599ea1c35289 Reviewed-on: https://chromium-review.googlesource.com/242292 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Nam Nguyen <namnguyen@chromium.org> Commit-Queue: Nam Nguyen <namnguyen@google.com>
* Add cgpt_wrapper binary to transparently support NANDNam T. Nguyen2015-01-171-0/+249
This CL adds a "cgpt_wrapper" binary that will forward to "cgpt" binary as needed to transparently support NAND. The idea is that if we are working with an MTD device, this binary will exec out to "flashrom" to read in the GPT section, then exec out to the actual "cgpt" binary to work on that file, and finally write it back with "flashrom". This CL introduces a make target "install_mtd" to install this wrapper. The corresponding ebuild should use this make target when "mtd" USE flag is on. BUG=chromium:442518 BRANCH=none CQ-DEPEND=CL:239573 TEST=unittest and some trial runs with mtdram TEST=test on a real device with NOR flash and NAND Change-Id: I54534afa9a970ec858f313f698c0eb210c827477 Reviewed-on: https://chromium-review.googlesource.com/239580 Tested-by: Nam Nguyen <namnguyen@chromium.org> Reviewed-by: Daniel Ehrenberg <dehrenberg@chromium.org> Reviewed-by: Bill Richardson <wfrichar@chromium.org> Commit-Queue: Nam Nguyen <namnguyen@chromium.org>