浏览代码

[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 年前
父节点
当前提交
8ffea19225
共有 4 个文件被更改,包括 0 次插入28 次删除
  1. 0
    1
      src/Makefile.housekeeping
  2. 0
    2
      src/arch/i386/Makefile.pcbios
  3. 0
    12
      src/arch/i386/prefix/hromprefix.S
  4. 0
    13
      src/arch/i386/prefix/romprefix.S

+ 0
- 1
src/Makefile.housekeeping 查看文件

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

+ 0
- 2
src/arch/i386/Makefile.pcbios 查看文件

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

+ 0
- 12
src/arch/i386/prefix/hromprefix.S 查看文件

@@ -1,12 +0,0 @@
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 查看文件

@@ -352,7 +352,6 @@ got_pmm: /* PMM allocation succeeded */
352 352
 	call	print_character
353 353
 	movw	%si, %ax
354 354
 	call	print_hex_byte
355
-pmm_copy:
356 355
 	/* Copy ROM to PMM block */
357 356
 	xorw	%ax, %ax
358 357
 	movw	%ax, %es
@@ -364,19 +363,7 @@ pmm_copy:
364 363
 	movl	%edi, decompress_to
365 364
 	/* Shrink ROM */
366 365
 	movb	$_prefix_memsz_sect, romheader_size
367
-#ifdef SHRINK_WITHOUT_PMM
368
-	jmp	pmm_done
369 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 367
 	/* Restore upper register halves */
381 368
 	popal
382 369
 no_pmm:

正在加载...
取消
保存