Navigation Menu

Skip to content

Commit

Permalink
[romprefix] Remove .hrom prefix
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
mcb30 committed Apr 19, 2010
1 parent 329686c commit 8ffea19
Show file tree
Hide file tree
Showing 4 changed files with 0 additions and 28 deletions.
1 change: 0 additions & 1 deletion src/Makefile.housekeeping
Expand Up @@ -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
#
Expand Down
2 changes: 0 additions & 2 deletions src/arch/i386/Makefile.pcbios
Expand Up @@ -11,7 +11,6 @@ LDFLAGS += -N --no-check-sections
# Media types.
#
MEDIA += rom
MEDIA += hrom
MEDIA += pxe
MEDIA += kpxe
MEDIA += kkpxe
Expand All @@ -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 $@

Expand Down
12 changes: 0 additions & 12 deletions src/arch/i386/prefix/hromprefix.S

This file was deleted.

13 changes: 0 additions & 13 deletions src/arch/i386/prefix/romprefix.S
Expand Up @@ -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
Expand All @@ -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:
Expand Down

0 comments on commit 8ffea19

Please sign in to comment.