From: Julian Pidancet Date: Mon, 13 Feb 2012 12:49:06 +0000 (+0000) Subject: firmware: Use mkhex from hvmloader directory for etherboot ROMs X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=00849cb37af425f98811b261cc51d81e1618b16d;p=xen.git firmware: Use mkhex from hvmloader directory for etherboot ROMs To remain consistent with how other ROMs are built into hvmloader, call mkhex on etherboot ROMs from the hvmloader directory, instead of the etherboot directory. In other words, eb-roms.h is not used any more. Introduce ETHERBOOT_NICS config option to choose which ROMs should be built (kept rtl8139 and 8086100e per default as before). Signed-off-by: Julian Pidancet Acked-by: Ian Campbell --- diff --git a/Config.mk b/Config.mk index e2dc4b93ae..42508b88ee 100644 --- a/Config.mk +++ b/Config.mk @@ -222,6 +222,8 @@ endif QEMU_UPSTREAM_REVISION ?= master SEABIOS_UPSTREAM_TAG ?= rel-1.6.3.1 +ETHERBOOT_NICS ?= rtl8139 8086100e + # Specify which qemu-dm to use. This may be `ioemu' to use the old # Mercurial in-tree version, or a local directory, or a git URL. # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git diff --git a/tools/firmware/etherboot/Config b/tools/firmware/etherboot/Config index 143914f135..69963b94b4 100644 --- a/tools/firmware/etherboot/Config +++ b/tools/firmware/etherboot/Config @@ -1,6 +1,4 @@ -NICS = rtl8139 8086100e - CFLAGS += -UPXE_DHCP_STRICT CFLAGS += -DPXE_DHCP_STRICT diff --git a/tools/firmware/etherboot/Makefile b/tools/firmware/etherboot/Makefile index c09140eb19..a195888dff 100644 --- a/tools/firmware/etherboot/Makefile +++ b/tools/firmware/etherboot/Makefile @@ -17,23 +17,16 @@ IPXE_TARBALL_URL := $(XEN_EXTFILES_URL)/ipxe-git-$(IPXE_GIT_TAG).tar.gz D=ipxe T=ipxe.tar.gz -ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom, $(NICS))) +ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom, $(ETHERBOOT_NICS))) .NOTPARALLEL: .PHONY: all -all: eb-roms.h +all: $(ROMS) %.rom: $D/src/arch/i386/Makefile $(MAKE) -C $D/src bin/$(*F).rom -eb-roms.h.new: $(ROMS) - cat $^ | ../hvmloader/mkhex etherboot >$@ - -eb-roms.h: Config - $(MAKE) NO_WERROR=1 $@.new - mv -f $@.new $@ - $T: if ! wget -O _$T $(IPXE_TARBALL_URL); then \ $(GIT) clone $(IPXE_GIT_URL) $D.git; \ @@ -56,7 +49,7 @@ $D/src/bin/NIC: $D/src/arch/i386/Makefile .PHONY: clean clean: - rm -rf $D $D.git *~ eb-roms.h _$T $T + rm -rf $D $D.git *~ _$T $T .PHONY: distclean distclean: clean diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile index e82146a251..1ea32dbd27 100644 --- a/tools/firmware/hvmloader/Makefile +++ b/tools/firmware/hvmloader/Makefile @@ -58,6 +58,8 @@ else CIRRUSVGA_ROM := ../vgabios/VGABIOS-lgpl-latest.cirrus.bin endif +ETHERBOOT_ROMS := $(addprefix ../etherboot/ipxe/src/bin/, $(addsuffix .rom, $(ETHERBOOT_NICS))) + .PHONY: all all: subdirs-all $(MAKE) hvmloader @@ -70,7 +72,7 @@ hvmloader: $(OBJS) acpi/acpi.a $(OBJCOPY) hvmloader.tmp hvmloader rm -f hvmloader.tmp -roms.inc: $(ROMBIOS_ROM) $(SEABIOS_ROM) $(STDVGA_ROM) $(CIRRUSVGA_ROM) ../etherboot/eb-roms.h +roms.inc: $(ROMBIOS_ROM) $(SEABIOS_ROM) $(STDVGA_ROM) $(CIRRUSVGA_ROM) $(ETHERBOOT_ROMS) echo "/* Autogenerated file. DO NOT EDIT */" > $@.new ifneq ($(ROMBIOS_ROM),) @@ -95,10 +97,11 @@ ifneq ($(CIRRUSVGA_ROM),) sh ./mkhex vgabios_cirrusvga $(CIRRUSVGA_ROM) >> $@.new echo "#endif" >> $@.new endif - +ifneq ($(ETHERBOOT_ROMS),) echo "#ifdef ROM_INCLUDE_ETHERBOOT" >> $@.new - cat ../etherboot/eb-roms.h >> $@.new + sh ./mkhex etherboot $(ETHERBOOT_ROMS) >> $@.new echo "#endif" >> $@.new +endif mv $@.new $@