[prefix] Use area at top of INT 15,88 memory map for temporary decompression

Use INT 15,88 to find a suitable temporary decompression area, rather
than a fixed address.  This hopefully gives us a better chance of not
treading on any PMM-allocated areas, in BIOSes where PMM support
exists but tends not to give us the large blocks that we ask for.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2010-04-24 22:22:54 +01:00
parent bae3964e6f
commit f0ae1d58e8
3 changed files with 27 additions and 17 deletions

View File

@@ -483,9 +483,10 @@ init_message_done:
.asciz "\n\n"
.size init_message_done, . - init_message_done
/* ROM image location
/* Image source area
*
* May be either within option ROM space, or within PMM-allocated block.
* May be either zero (indicating to use option ROM space as source),
* or within a PMM-allocated block.
*/
.globl image_source
image_source:
@@ -507,11 +508,12 @@ shrunk_rom_size:
/* Temporary decompression area
*
* May be either at HIGHMEM_LOADPOINT, or within PMM-allocated block.
* May be either zero (indicating to use default decompression area in
* high memory), or within a PMM-allocated block.
*/
.globl decompress_to
decompress_to:
.long HIGHMEM_LOADPOINT
.long 0
.size decompress_to, . - decompress_to
/* BBS version