summaryrefslogtreecommitdiffstats
path: root/src/util/fixrom.pl
diff options
context:
space:
mode:
authorMichael Brown2012-06-10 19:23:24 +0200
committerMichael Brown2012-06-12 12:36:20 +0200
commitf2e5f8813e9a867cae76305d4186dcf26e5fa22a (patch)
treea4c6e892e8ffbbaeeb9538d721d005735ae1404c /src/util/fixrom.pl
parent[cmdline] Use "cpuid --ext" instead of "cpuid --amd" (diff)
downloadipxe-f2e5f8813e9a867cae76305d4186dcf26e5fa22a.tar.gz
ipxe-f2e5f8813e9a867cae76305d4186dcf26e5fa22a.tar.xz
ipxe-f2e5f8813e9a867cae76305d4186dcf26e5fa22a.zip
[util] Allow Option::ROM to access multiple ROM images
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/util/fixrom.pl')
-rwxr-xr-xsrc/util/fixrom.pl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/util/fixrom.pl b/src/util/fixrom.pl
index c3a31f41..88f8cb83 100755
--- a/src/util/fixrom.pl
+++ b/src/util/fixrom.pl
@@ -28,7 +28,11 @@ my @romfiles = @ARGV;
foreach my $romfile ( @romfiles ) {
my $rom = new Option::ROM;
$rom->load ( $romfile );
- $rom->pnp_header->fix_checksum() if $rom->pnp_header;
- $rom->fix_checksum();
+ my $image = $rom;
+ while ( $image ) {
+ $image->pnp_header->fix_checksum() if $image->pnp_header;
+ $image->fix_checksum();
+ $image = $image->next_image();
+ }
$rom->save ( $romfile );
}