]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[romprefix] Remove .hrom prefix
authorMichael Brown <mcb30@ipxe.org>
Mon, 19 Apr 2010 19:38:35 +0000 (20:38 +0100)
committerMichael Brown <mcb30@ipxe.org>
Mon, 19 Apr 2010 22:43:48 +0000 (23:43 +0100)
The .hrom prefix provides an experimental mechanism for reducing
option ROM space usage on systems where PMM allocation fails, by
pretending that PMM allocation succeeded and gave us an address fixed
at compilation time.  This is unreliable, and potentially dangerous.
In particular, when multiple gPXE ROMs are present in a system, each
gPXE ROM will assume ownership of the same fixed address, resulting in
undefined behaviour.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/Makefile.housekeeping
src/arch/i386/Makefile.pcbios
src/arch/i386/prefix/hromprefix.S [deleted file]
src/arch/i386/prefix/romprefix.S

index efd85ea3c6ee8763ad55688c20a248b9a7ebf1e4..a7162e6fdb1dda66511675890bb2a38e07e04f81 100644 (file)
@@ -866,7 +866,6 @@ endif # defined(BIN)
 #
 FINALISE_rom   = $(MAKEROM) $(MAKEROM_FLAGS) $(TGT_MAKEROM_FLAGS) \
                  -i$(IDENT) -s 0 $@
-FINALISE_hrom  = $(FINALISE_rom)
 
 # Some ROMs require specific flags to be passed to makerom.pl
 #
index dcabbdf7d43b8db20547e98efda22c5a2d385bdb..e3c338729c1794682835ef1f83b143bd72cf8873 100644 (file)
@@ -11,7 +11,6 @@ LDFLAGS               += -N --no-check-sections
 # Media types.
 #
 MEDIA          += rom
-MEDIA          += hrom
 MEDIA          += pxe
 MEDIA          += kpxe
 MEDIA          += kkpxe
@@ -24,7 +23,6 @@ MEDIA         += raw
 # Padding rules
 #
 PAD_rom                = $(PADIMG) --blksize=512 --byte=0xff $@
-PAD_hrom       = $(PAD_rom)
 PAD_dsk                = $(PADIMG) --blksize=512 $@
 PAD_hd         = $(PADIMG) --blksize=32768 $@
 
diff --git a/src/arch/i386/prefix/hromprefix.S b/src/arch/i386/prefix/hromprefix.S
deleted file mode 100644 (file)
index 03acf1e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/*****************************************************************************
- * ROM prefix that relocates to HIGHMEM_LOADPOINT during POST if PMM allocation
- * fails. Intended to be used, with caution, on BIOSes that support PCI3.00 but
- * have limited PMM support, such as most AMI BIOSes.
- *****************************************************************************
- */
-
-FILE_LICENCE ( GPL2_OR_LATER )
-
-#define SHRINK_WITHOUT_PMM
-
-#include "romprefix.S"
index e7d146eb6a3618f56a189d76ef2741e5771eff51..2d70cd2124f35b50e1389ffc7e886c949d06e26d 100644 (file)
@@ -352,7 +352,6 @@ got_pmm: /* PMM allocation succeeded */
        call    print_character
        movw    %si, %ax
        call    print_hex_byte
-pmm_copy:
        /* Copy ROM to PMM block */
        xorw    %ax, %ax
        movw    %ax, %es
@@ -364,19 +363,7 @@ pmm_copy:
        movl    %edi, decompress_to
        /* Shrink ROM */
        movb    $_prefix_memsz_sect, romheader_size
-#ifdef SHRINK_WITHOUT_PMM
-       jmp     pmm_done
 pmm_fail:
-       /* Print marker and copy ourselves to high memory */
-       movl    $HIGHMEM_LOADPOINT, image_source
-       xorw    %di, %di
-       movb    $( '!' ), %al
-       call    print_character
-       jmp     pmm_copy
-pmm_done:
-#else
-pmm_fail:
-#endif
        /* Restore upper register halves */
        popal
 no_pmm: