Edward O'Callaghan has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/74210 )
Change subject: libflashrom: Allow flashrom_flashchip_info to contain model id's
......................................................................
libflashrom: Allow flashrom_flashchip_info to contain model id's
Some users wish to work with numerical values over strings.
Include both parts of the story within the flashrom_flashchip_info
structure reported back via the API surface.
BUG=b:276981092
TEST=put `printf("XXX %x , %x\n", info.manufacture_id, info.model_id);`
into cli_classic and ran './flashrom -p internal --flash-name' then
verified data with include/flashchips.h is indeed correct.
Change-Id: I9742bbac8424ec9cca4b6e85cd6baa521c3d0f56
Signed-off-by: Edward O'Callaghan <quasisec(a)google.com>
---
M include/libflashrom.h
M libflashrom.c
2 files changed, 25 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/10/74210/1
diff --git a/include/libflashrom.h b/include/libflashrom.h
index f844aaa..e2ed611 100644
--- a/include/libflashrom.h
+++ b/include/libflashrom.h
@@ -115,6 +115,8 @@
struct flashrom_flashchip_info {
const char *vendor;
const char *name;
+ uint32_t manufacture_id;
+ uint32_t model_id;
unsigned int total_size;
struct flashrom_tested {
enum flashrom_test_state probe;
diff --git a/libflashrom.c b/libflashrom.c
index 7edf05e..dd9edf3 100644
--- a/libflashrom.c
+++ b/libflashrom.c
@@ -102,6 +102,8 @@
for (unsigned int i = 0; i < flashchips_size; ++i) {
supported_flashchips[i].vendor = flashchips[i].vendor;
supported_flashchips[i].name = flashchips[i].name;
+ supported_flashchips[i].manufacture_id = flashchips[i].manufacture_id;
+ supported_flashchips[i].model_id = flashchips[i].model_id;
supported_flashchips[i].tested.erase =
(enum flashrom_test_state)flashchips[i].tested.erase;
supported_flashchips[i].tested.probe =
@@ -257,6 +259,8 @@
info->vendor = flashctx->chip->vendor;
info->name = flashctx->chip->name;
+ info->manufacture_id = flashctx->chip->manufacture_id;
+ info->model_id = flashctx->chip->model_id;
info->total_size = flashctx->chip->total_size;
--
To view, visit https://review.coreboot.org/c/flashrom/+/74210
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I9742bbac8424ec9cca4b6e85cd6baa521c3d0f56
Gerrit-Change-Number: 74210
Gerrit-PatchSet: 1
Gerrit-Owner: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-MessageType: newchange
Attention is currently required from: Thomas Heijligen, Nikolai Artemiev.
Hello build bot (Jenkins), Nikolai Artemiev,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/flashrom/+/73286
to look at the new patch set (#6).
Change subject: libflashrom: Provide flashrom_flash_getinfo() API
......................................................................
libflashrom: Provide flashrom_flash_getinfo() API
The libflashom API exposes a API to get the flash size however
not the flash name. Provide a API entry that instead provides
a complete flashrom_flashchip_info structure with the detected
flashchip for a given flashctx.
BUG=b:276981092
TEST=tested with cli_classic.c patch to show --flash-name using API.
Change-Id: I3dc32e261e6d54230d93f06b91f723811792112a
Signed-off-by: Edward O'Callaghan <quasisec(a)google.com>
---
M include/libflashrom.h
M libflashrom.c
M libflashrom.map
3 files changed, 41 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/86/73286/6
--
To view, visit https://review.coreboot.org/c/flashrom/+/73286
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I3dc32e261e6d54230d93f06b91f723811792112a
Gerrit-Change-Number: 73286
Gerrit-PatchSet: 6
Gerrit-Owner: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Reviewer: Nikolai Artemiev <nartemiev(a)google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Nikolai Artemiev <nartemiev(a)google.com>
Gerrit-MessageType: newpatchset
Attention is currently required from: Thomas Heijligen.
Hello build bot (Jenkins), Thomas Heijligen,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/flashrom/+/73287
to look at the new patch set (#3).
Change subject: cli_classic.c: Use flashrom_flash_getinfo() libflashrom API
......................................................................
cli_classic.c: Use flashrom_flash_getinfo() libflashrom API
TEST=`$ sudo ./flashrom -p internal --flash-name`.
Change-Id: I5270c2cc0c1392d95d497fc1fce266ae082843c2
Signed-off-by: Edward O'Callaghan <quasisec(a)google.com>
---
M cli_classic.c
1 file changed, 16 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/87/73287/3
--
To view, visit https://review.coreboot.org/c/flashrom/+/73287
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I5270c2cc0c1392d95d497fc1fce266ae082843c2
Gerrit-Change-Number: 73287
Gerrit-PatchSet: 3
Gerrit-Owner: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: Thomas Heijligen, Nikolai Artemiev.
Edward O'Callaghan has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/73286 )
Change subject: libflashrom: Provide flashrom_flash_getinfo() API
......................................................................
Patch Set 5:
(1 comment)
Patchset:
PS3:
> In the API we have `struct flashrom_flashchip_info` and `flashrom_supported_flash_chips()`. […]
Good idea, done!
--
To view, visit https://review.coreboot.org/c/flashrom/+/73286
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I3dc32e261e6d54230d93f06b91f723811792112a
Gerrit-Change-Number: 73286
Gerrit-PatchSet: 5
Gerrit-Owner: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Reviewer: Nikolai Artemiev <nartemiev(a)google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Nikolai Artemiev <nartemiev(a)google.com>
Gerrit-Comment-Date: Wed, 05 Apr 2023 00:08:58 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Thomas Heijligen <src(a)posteo.de>
Gerrit-MessageType: comment
Attention is currently required from: Edward O'Callaghan, Nikolai Artemiev.
Hello build bot (Jenkins), Nikolai Artemiev,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/flashrom/+/73286
to look at the new patch set (#5).
Change subject: libflashrom: Provide flashrom_flash_getinfo() API
......................................................................
libflashrom: Provide flashrom_flash_getinfo() API
The libflashom API exposes a API to get the flash size however
not the flash name. Provide a API entry that instead provides
a complete flashrom_flashchip_info structure with the detected
flashchip for a given flashctx.
BUG=b:276981092
Change-Id: I3dc32e261e6d54230d93f06b91f723811792112a
Signed-off-by: Edward O'Callaghan <quasisec(a)google.com>
---
M include/libflashrom.h
M libflashrom.c
M libflashrom.map
3 files changed, 40 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/86/73286/5
--
To view, visit https://review.coreboot.org/c/flashrom/+/73286
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I3dc32e261e6d54230d93f06b91f723811792112a
Gerrit-Change-Number: 73286
Gerrit-PatchSet: 5
Gerrit-Owner: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Reviewer: Nikolai Artemiev <nartemiev(a)google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Attention: Nikolai Artemiev <nartemiev(a)google.com>
Gerrit-MessageType: newpatchset
Attention is currently required from: Edward O'Callaghan, Nikolai Artemiev.
Hello build bot (Jenkins), Nikolai Artemiev,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/flashrom/+/73286
to look at the new patch set (#4).
Change subject: libflashrom: Provide flashrom_flash_getinfo() API
......................................................................
libflashrom: Provide flashrom_flash_getinfo() API
The libflashom API exposes a API to get the flash size however
not the flash name. Provide a API entry that instead provides
a complete flashrom_flashchip_info structure with the detected
flashchip for a given flashctx.
BUG=b:276981092
Change-Id: I3dc32e261e6d54230d93f06b91f723811792112a
Signed-off-by: Edward O'Callaghan <quasisec(a)google.com>
---
M include/libflashrom.h
M libflashrom.c
M libflashrom.map
3 files changed, 48 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/86/73286/4
--
To view, visit https://review.coreboot.org/c/flashrom/+/73286
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I3dc32e261e6d54230d93f06b91f723811792112a
Gerrit-Change-Number: 73286
Gerrit-PatchSet: 4
Gerrit-Owner: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Reviewer: Nikolai Artemiev <nartemiev(a)google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Attention: Nikolai Artemiev <nartemiev(a)google.com>
Gerrit-MessageType: newpatchset
Attention is currently required from: Thomas Heijligen, Peter Marheine.
Anastasia Klimchuk has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/74157 )
Change subject: tests: Emulate multithreading environment for unit tests
......................................................................
Patch Set 5:
(1 comment)
Patchset:
PS2:
> Yes, I'd prefer to always create a thread and get rid of the `__isthreaded` poke for other BSDs. […]
Finally, it seems like we got to the other side of rabbit hole! :) I tested the version without pre-processor conditionals, it works!
One more patch is needed though, I pushed it as a previous one for the chain CB:74202 but otherwise looks like that's it?
Peter thank you so much, your help is invaluable!
--
To view, visit https://review.coreboot.org/c/flashrom/+/74157
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I3d65c125183e60037ad07b9d54b8fffdece5a4e8
Gerrit-Change-Number: 74157
Gerrit-PatchSet: 5
Gerrit-Owner: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Idwer Vollering <vidwer(a)gmail.com>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-Comment-Date: Tue, 04 Apr 2023 13:17:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Anastasia Klimchuk <aklm(a)chromium.org>
Comment-In-Reply-To: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-MessageType: comment
Attention is currently required from: Thomas Heijligen, Anastasia Klimchuk.
Hello build bot (Jenkins), Thomas Heijligen, Peter Marheine,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/flashrom/+/74157
to look at the new patch set (#5).
Change subject: tests: Emulate multithreading environment for unit tests
......................................................................
tests: Emulate multithreading environment for unit tests
The main purpose of this patch is to run unit tests on BSD family
of OSes. The root cause is `fileno` syscall which is a macro that
can be expanded to either a function call (for multi-threaded
environment) or to inline code (for single-threaded environment).
Said inline code accesses private field of file descriptor, and
this construction is impossible to mock in unit tests. Multi-
threaded environment has `fileno` as a function, which can be
mocked in unit tests.
On other OSes the patch just creates a thread which is doing nothing.
We avoid adding pre-processor conditionals since the cost is small.
Tested on
FreeBSD 13.1-RELEASE-p6 GENERIC amd64
NetBSD 9.2 (GENERIC) amd64
OpenBSD 7.2 GENERIC#7 amd64
DragonFly v6.4.0-RELEASE x86_64
Ubuntu 22.04.1 x86_64
Change-Id: I3d65c125183e60037ad07b9d54b8fffdece5a4e8
Signed-off-by: Anastasia Klimchuk <aklm(a)chromium.org>
---
M tests/meson.build
M tests/tests.c
2 files changed, 51 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/57/74157/5
--
To view, visit https://review.coreboot.org/c/flashrom/+/74157
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I3d65c125183e60037ad07b9d54b8fffdece5a4e8
Gerrit-Change-Number: 74157
Gerrit-PatchSet: 5
Gerrit-Owner: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-MessageType: newpatchset
Attention is currently required from: Thomas Heijligen, Anastasia Klimchuk.
Hello build bot (Jenkins), Thomas Heijligen, Peter Marheine,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/flashrom/+/74157
to look at the new patch set (#4).
Change subject: tests: Emulate multithreading environment for unit tests
......................................................................
tests: Emulate multithreading environment for unit tests
The main purpose of this patch is to run unit tests on BSD family
of OSes. The root cause is `fileno` syscall which is a macro that
can be expanded to either a function call (for multi-threaded
environment) or to inline code (for single-threaded environment).
Said inline code accesses private field of file descriptor, and
this construction is impossible to mock in unit tests. Multi-
threaded environment has `fileno` as a function, which can be
mocked in unit tests.
On other OSes the patch just creates a thread which is doing nothing.
We avoid adding pre-processor conditionals since the cost is small.
Tested on
FreeBSD 13.1-RELEASE-p6 GENERIC amd64
NetBSD 9.2 (GENERIC) amd64
OpenBSD 7.2 GENERIC#7 amd64
[WIP] DragonFly v6.4.0-RELEASE x86_64
Ubuntu 22.04.1 x86_64
Change-Id: I3d65c125183e60037ad07b9d54b8fffdece5a4e8
Signed-off-by: Anastasia Klimchuk <aklm(a)chromium.org>
---
M tests/meson.build
M tests/tests.c
2 files changed, 51 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/57/74157/4
--
To view, visit https://review.coreboot.org/c/flashrom/+/74157
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I3d65c125183e60037ad07b9d54b8fffdece5a4e8
Gerrit-Change-Number: 74157
Gerrit-PatchSet: 4
Gerrit-Owner: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-MessageType: newpatchset