This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
2005-03-08 19:53:11 +01:00
|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
|
|
|
use warnings;
|
|
|
|
use strict;
|
|
|
|
|
2012-06-11 02:42:33 +02:00
|
|
|
use FindBin;
|
|
|
|
use lib "$FindBin::Bin";
|
|
|
|
use Option::ROM qw ( :all );
|
2005-03-08 19:53:11 +01:00
|
|
|
|
|
|
|
my @romfiles = @ARGV
|
|
|
|
or die "Usage: $0 rom-file-1 rom-file-2 ... > multi-rom-file\n";
|
|
|
|
|
|
|
|
while ( my $romfile = shift @romfiles ) {
|
|
|
|
|
2012-06-11 02:42:33 +02:00
|
|
|
# Read ROM file
|
|
|
|
my $rom = new Option::ROM;
|
|
|
|
$rom->load ( $romfile );
|
2005-03-08 19:53:11 +01:00
|
|
|
|
2012-06-11 02:42:33 +02:00
|
|
|
# Tag final image as non-final in all except the final ROM
|
|
|
|
if ( @romfiles ) {
|
|
|
|
my $image = $rom;
|
|
|
|
$image = $image->next_image() while $image->next_image();
|
|
|
|
$image->pci_header->{last_image} &= ~PCI_LAST_IMAGE;
|
|
|
|
$image->fix_checksum();
|
|
|
|
}
|
2005-03-08 19:53:11 +01:00
|
|
|
|
2012-06-11 02:42:33 +02:00
|
|
|
# Write ROM file to STDOUT
|
|
|
|
$rom->save ( "-" );
|
2005-03-08 19:53:11 +01:00
|
|
|
}
|