aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware
diff options
context:
space:
mode:
authorJulian Pidancet <julian.pidancet@gmail.com>2012-02-13 12:49:06 +0000
committerJulian Pidancet <julian.pidancet@gmail.com>2012-02-13 12:49:06 +0000
commit00849cb37af425f98811b261cc51d81e1618b16d (patch)
tree414ccc54b70ea525ab3e9dc9325fce0d34c076ff /tools/firmware
parent41145f9399bb501da6c1a683d2a4b978be15e506 (diff)
downloadxen-00849cb37af425f98811b261cc51d81e1618b16d.tar.gz
xen-00849cb37af425f98811b261cc51d81e1618b16d.tar.bz2
xen-00849cb37af425f98811b261cc51d81e1618b16d.zip
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@gmail.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/firmware')
-rw-r--r--tools/firmware/etherboot/Config2
-rw-r--r--tools/firmware/etherboot/Makefile13
-rw-r--r--tools/firmware/hvmloader/Makefile9
3 files changed, 9 insertions, 15 deletions
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 $@