From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julian Pidancet Subject: [PATCH v2 2/3] firmware: Use mkhex from hvmloader directory for etherboot ROMs Date: Fri, 10 Feb 2012 01:53:43 +0000 Message-ID: <04bca2da081cc7cc2d1649c0d2d4d93af2bdccc2.1328837585.git.julian.pidancet@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Ian.Campbell@citrix.com, Julian Pidancet List-Id: xen-devel@lists.xenproject.org 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 --- Config.mk | 2 ++ tools/firmware/etherboot/Config | 2 -- tools/firmware/etherboot/Makefile | 13 +++---------- tools/firmware/hvmloader/Makefile | 9 ++++++--- 4 files changed, 11 insertions(+), 15 deletions(-) diff --git a/Config.mk b/Config.mk index e2dc4b9..42508b8 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 143914f..69963b9 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 c09140e..a195888 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 e82146a..1ea32db 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 $@ -- Julian Pidancet