opengnsys_ipxe/src/util
Michael Brown 132c391712 [romprefix] Add .mrom format, allowing loading of large ROMs
Add an infrastructure allowing the prefix to provide an open_payload()
method for obtaining out-of-band access to the whole iPXE image.  Add
a mechanism within this infrastructure that allows raw access to the
expansion ROM BAR by temporarily borrowing an address from a suitable
memory BAR on the same PCI card.

For cards that have a memory BAR that is at least as large as their
expansion ROM BAR, this allows large iPXE ROMs to be supported even on
systems where PMM fails, or where option ROM space pressure makes it
impossible to use PMM shrinking.  The BIOS sees only a stub ROM of
approximately 3kB in size; the remainder (which can be well over 64kB)
is loaded only at the time iPXE is invoked.

As a nice side-effect, an iPXE .mrom image will continue to work even
if its PMM-allocated areas are overwritten between initialisation and
invocation.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-04-25 16:37:06 +01:00
..
Option [romprefix] Add .mrom format, allowing loading of large ROMs 2010-04-25 16:37:06 +01:00
.gitignore [build] Enable building with the Intel C compiler (icc) 2009-03-26 07:27:19 +00:00
Makefile - first check-in for mucurses_test.c 2006-06-27 17:31:01 +00:00
catrom.pl Initial revision 2005-03-08 18:53:11 +00:00
diffsize.pl [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
disrom.pl [util] Tidy up output of disrom.pl 2009-01-09 19:38:53 +00:00
efirom.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
elf2efi.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
fixrom.pl [build] Replace obsolete makerom.pl with quick script using Option::ROM 2010-04-25 02:54:12 +01:00
fnrec.sh [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
geniso [util] Hide an expected error from the 'which' command 2010-04-16 07:55:15 -04:00
genliso [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
gensdsk [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
get-pci-ids Initial revision 2005-03-08 18:53:11 +00:00
hijack.c Make pcap_inject non-static, so that its prototype doesn't conflict with 2006-04-05 11:44:05 +00:00
iccfix.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
licence.pl [legal] Add the MIT and ISC licenses to licence.pl 2009-08-02 23:30:38 +01:00
mergerom.pl [util] Allow Option::ROM to understand and modify initialisation entry point 2008-08-15 04:10:35 +01:00
modrom.pl [modrom] Avoid clobbering near jump with checksum 2009-10-15 14:47:54 -04:00
mucurses_test.c - modified length of password string to match visible field length 2006-06-28 11:52:30 +00:00
nrv2b.c Initial revision 2005-03-08 18:53:11 +00:00
padimg.pl [build] Simplify use of Getopt::Long in padimg.pl 2009-04-16 06:13:09 +01:00
parserom.pl [pci] Add driver_data field to struct pci_device_id 2009-03-26 10:22:15 +00:00
sortobjdump.pl [util] Don't die on undefined symbols in sortobjdump.pl 2008-10-10 03:42:22 +01:00
swapdevids.pl Initial revision 2005-03-08 18:53:11 +00:00
symcheck.pl Restore the "shared symbol found only in a single object should be 2007-07-17 01:39:06 +01:00
zbin.c [prefix] Add .text16.early section 2010-04-20 12:56:28 +01:00