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

[Xen-devel] [PATCH] Fetch the OVMF repository from specific git mirror and enable it



- Fetch the OVMF parent tree from: http://github.com/tianocore/edk2.git
- Add a simple Makefile to edk2 that automagically runs the right scripts
  to build OVMF and setles the resulting binary properly

Signed-off-by: Attilio Rao <attilio.rao@xxxxxxxxxx>

diff -r d7fe4cd831a0 -r 7bdf0747c170 Config.mk
--- a/Config.mk Wed Feb 29 17:01:41 2012 +0000
+++ b/Config.mk Wed Feb 29 19:37:29 2012 +0000
@@ -187,12 +187,15 @@ QEMU_REMOTE=git://xenbits.xensource.com/
 endif
 
 ifeq ($(GIT_HTTP),y)
+OVMF_UPSTREAM_URL ?= http://github.com/tianocore/edk2.git
 QEMU_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/qemu-upstream-unstable.git
 SEABIOS_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/seabios.git
 else
+OVMF_UPSTREAM_URL ?= git://github.com/tianocore/edk2.git
 QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/qemu-upstream-unstable.git
 SEABIOS_UPSTREAM_URL ?= git://xenbits.xen.org/seabios.git
 endif
+OVMF_UPSTREAM_REVISION ?= master
 QEMU_UPSTREAM_REVISION ?= master
 SEABIOS_UPSTREAM_TAG ?= c69e288adfe6c273df4b1f3d9c223d8a4fb613cd
 # Wed Feb 8 20:23:36 2012 -0500
@@ -200,7 +203,7 @@ SEABIOS_UPSTREAM_TAG ?= c69e288adfe6c273
 
 ETHERBOOT_NICS ?= rtl8139 8086100e
 
-CONFIG_OVMF ?= n
+CONFIG_OVMF ?= y
 CONFIG_ROMBIOS ?= y
 CONFIG_SEABIOS ?= y
 
diff -r d7fe4cd831a0 -r 7bdf0747c170 tools/firmware/Makefile
--- a/tools/firmware/Makefile   Wed Feb 29 17:01:41 2012 +0000
+++ b/tools/firmware/Makefile   Wed Feb 29 19:37:29 2012 +0000
@@ -6,12 +6,17 @@ TARGET      := hvmloader/hvmloader
 INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR)
 
 SUBDIRS-y :=
+SUBDIRS-$(CONFIG_OVMF) += ovmf
 SUBDIRS-$(CONFIG_SEABIOS) += seabios-dir
 SUBDIRS-$(CONFIG_ROMBIOS) += rombios
 SUBDIRS-$(CONFIG_ROMBIOS) += vgabios
 SUBDIRS-$(CONFIG_ROMBIOS) += etherboot
 SUBDIRS-y += hvmloader
 
+ovmf:
+       GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(OVMF_UPSTREAM_URL) 
$(OVMF_UPSTREAM_REVISION) ovmf
+       cp ovmf-makefile ovmf/Makefile;
+
 seabios-dir:
        GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) 
$(SEABIOS_UPSTREAM_TAG) seabios-dir
        cp seabios-config seabios-dir/.config;
@@ -44,9 +49,21 @@ distclean: subdirs-distclean
 subdir-distclean-etherboot: .phony
        $(MAKE) -C etherboot distclean
 
+subdir-distclean-ovmf: .phony
+       rm -rf ovmf ovmf-remote
+
 subdir-distclean-seabios-dir: .phony
        rm -rf seabios-dir seabios-dir-remote
 
+.PHONY: ovmf-force-update
+ovmf-force-update:
+       set -ex; \
+       if [ "$(OVMF_UPSTREAM_REVISION)" ]; then \
+               cd ovmf-remote; \
+               $(GIT) fetch origin; \
+               $(GIT) reset --hard $(OVMF_UPSTREAM_REVISION); \
+       fi
+
 .PHONY: seabios-dir-force-update
 seabios-dir-force-update:
        set -ex; \
diff -r d7fe4cd831a0 -r 7bdf0747c170 tools/firmware/ovmf-makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/firmware/ovmf-makefile      Wed Feb 29 19:37:29 2012 +0000
@@ -0,0 +1,17 @@
+# OVMF building system is not ready yet to run in parallel.
+# Force it to be serial in order to exploit parallelism for neighbors.
+
+.NOTPARALLEL:
+MAKEFLAGS  += -j1
+
+.PHONY: all
+all: ovmf.bin
+
+.PHONY: ovmf.bin
+ovmf.bin:
+       OvmfPkg/build.sh -a X64
+       cp Build/OvmfX64/DEBUG_GCC44/FV/OVMF.fd ovmf.bin
+
+.PHONY: clean
+clean:
+       rm -rf ovmf.bin Build/*

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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