mirror of
https://github.com/ipxe/ipxe
synced 2025-12-22 21:11:03 +03:00
[romprefix] Add a dummy ROM header to cover the .mrom payload
The header of a .mrom image declares its length to be only a few kilobytes; the remainder is accessed via a sideband mechanism. This makes it difficult to append an additional ROM image, such as an EFI ROM. Add a second, dummy ROM header covering the payload portion of the .mrom image, allowing consumers to locate any appended ROM images in the usual way. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* -*- sh -*- */
|
||||
/* -*- ld-script -*- */
|
||||
|
||||
/*
|
||||
* Linker script for i386 images
|
||||
@@ -121,6 +121,23 @@ SECTIONS {
|
||||
_textdata_filesz = ABSOLUTE ( _mtextdata ) - ABSOLUTE ( _textdata );
|
||||
_textdata_memsz = ABSOLUTE ( _etextdata ) - ABSOLUTE ( _textdata );
|
||||
|
||||
/*
|
||||
* Payload prefix
|
||||
*
|
||||
* If present, this will be placed between .text16.early and .text16.late.
|
||||
*
|
||||
*/
|
||||
.pprefix 0x0 : AT ( _pprefix_lma ) {
|
||||
_pprefix = .;
|
||||
KEEP(*(.pprefix))
|
||||
KEEP(*(.pprefix.*))
|
||||
_mpprefix = .;
|
||||
} .bss.pprefix (NOLOAD) : AT ( _end_lma ) {
|
||||
_epprefix = .;
|
||||
}
|
||||
_pprefix_filesz = ABSOLUTE ( _mpprefix ) - ABSOLUTE ( _pprefix );
|
||||
_pprefix_memsz = ABSOLUTE ( _epprefix ) - ABSOLUTE ( _pprefix );
|
||||
|
||||
/*
|
||||
* Compressor information block
|
||||
*
|
||||
@@ -187,8 +204,14 @@ SECTIONS {
|
||||
_text16_early_lma = .;
|
||||
. += _text16_early_filesz;
|
||||
|
||||
. = ALIGN ( _max_align );
|
||||
. = ALIGN ( _payload_align );
|
||||
_pprefix_lma = .;
|
||||
. += _pprefix_filesz;
|
||||
|
||||
. = ALIGN ( _max_align );
|
||||
_payload_lma = .;
|
||||
_pprefix_skip = ABSOLUTE ( _payload_lma ) - ABSOLUTE ( _pprefix_lma );
|
||||
_text16_late_lma = .;
|
||||
. += _text16_late_filesz;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user