[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v3 3/5] 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 <julian.pidancet@xxxxxxxxx>
---
 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


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.