Browse Source

[romprefix] Remove .hrom prefix

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>
tags/v1.20.1
Michael Brown 14 years ago
parent
commit
8ffea19225

+ 0
- 1
src/Makefile.housekeeping View File

866
 #
866
 #
867
 FINALISE_rom	= $(MAKEROM) $(MAKEROM_FLAGS) $(TGT_MAKEROM_FLAGS) \
867
 FINALISE_rom	= $(MAKEROM) $(MAKEROM_FLAGS) $(TGT_MAKEROM_FLAGS) \
868
 		  -i$(IDENT) -s 0 $@
868
 		  -i$(IDENT) -s 0 $@
869
-FINALISE_hrom	= $(FINALISE_rom)
870
 
869
 
871
 # Some ROMs require specific flags to be passed to makerom.pl
870
 # Some ROMs require specific flags to be passed to makerom.pl
872
 #
871
 #

+ 0
- 2
src/arch/i386/Makefile.pcbios View File

11
 # Media types.
11
 # Media types.
12
 #
12
 #
13
 MEDIA		+= rom
13
 MEDIA		+= rom
14
-MEDIA		+= hrom
15
 MEDIA		+= pxe
14
 MEDIA		+= pxe
16
 MEDIA		+= kpxe
15
 MEDIA		+= kpxe
17
 MEDIA		+= kkpxe
16
 MEDIA		+= kkpxe
24
 # Padding rules
23
 # Padding rules
25
 #
24
 #
26
 PAD_rom		= $(PADIMG) --blksize=512 --byte=0xff $@
25
 PAD_rom		= $(PADIMG) --blksize=512 --byte=0xff $@
27
-PAD_hrom	= $(PAD_rom)
28
 PAD_dsk		= $(PADIMG) --blksize=512 $@
26
 PAD_dsk		= $(PADIMG) --blksize=512 $@
29
 PAD_hd		= $(PADIMG) --blksize=32768 $@
27
 PAD_hd		= $(PADIMG) --blksize=32768 $@
30
 
28
 

+ 0
- 12
src/arch/i386/prefix/hromprefix.S View File

1
-/*****************************************************************************
2
- * ROM prefix that relocates to HIGHMEM_LOADPOINT during POST if PMM allocation
3
- * fails. Intended to be used, with caution, on BIOSes that support PCI3.00 but
4
- * have limited PMM support, such as most AMI BIOSes.
5
- *****************************************************************************
6
- */
7
-
8
-FILE_LICENCE ( GPL2_OR_LATER )
9
-
10
-#define SHRINK_WITHOUT_PMM
11
-
12
-#include "romprefix.S"

+ 0
- 13
src/arch/i386/prefix/romprefix.S View File

352
 	call	print_character
352
 	call	print_character
353
 	movw	%si, %ax
353
 	movw	%si, %ax
354
 	call	print_hex_byte
354
 	call	print_hex_byte
355
-pmm_copy:
356
 	/* Copy ROM to PMM block */
355
 	/* Copy ROM to PMM block */
357
 	xorw	%ax, %ax
356
 	xorw	%ax, %ax
358
 	movw	%ax, %es
357
 	movw	%ax, %es
364
 	movl	%edi, decompress_to
363
 	movl	%edi, decompress_to
365
 	/* Shrink ROM */
364
 	/* Shrink ROM */
366
 	movb	$_prefix_memsz_sect, romheader_size
365
 	movb	$_prefix_memsz_sect, romheader_size
367
-#ifdef SHRINK_WITHOUT_PMM
368
-	jmp	pmm_done
369
 pmm_fail:
366
 pmm_fail:
370
-	/* Print marker and copy ourselves to high memory */
371
-	movl	$HIGHMEM_LOADPOINT, image_source
372
-	xorw	%di, %di
373
-	movb	$( '!' ), %al
374
-	call	print_character
375
-	jmp	pmm_copy
376
-pmm_done:
377
-#else
378
-pmm_fail:
379
-#endif
380
 	/* Restore upper register halves */
367
 	/* Restore upper register halves */
381
 	popal
368
 	popal
382
 no_pmm:
369
 no_pmm:

Loading…
Cancel
Save