[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v9 5/6] Clone and build Seabios by default
From: stefano.stabellini@xxxxxxxxxxxxx <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> --- .hgignore | 2 + Config.mk | 12 ++----- Makefile | 4 ++ tools/firmware/Makefile | 21 ++++++++++- tools/firmware/hvmloader/Makefile | 1 + tools/firmware/seabios-config | 73 +++++++++++++++++++++++++++++++++++++ 6 files changed, 102 insertions(+), 11 deletions(-) create mode 100644 tools/firmware/seabios-config diff --git a/.hgignore b/.hgignore index efbb5ed..c2023ec 100644 --- a/.hgignore +++ b/.hgignore @@ -299,6 +299,8 @@ ^tools/qemu-xen-traditional-dir$ ^tools/qemu-xen-dir-remote ^tools/qemu-xen-dir$ +^tools/firmware/seabios-dir-remote +^tools/firmware/seabios-dir$ ^tools/ocaml/.*/.*\.annot$ ^tools/ocaml/.*/.*\.cmx?a$ ^tools/ocaml/.*/META$ diff --git a/Config.mk b/Config.mk index e72324f..30e0ab5 100644 --- a/Config.mk +++ b/Config.mk @@ -205,10 +205,13 @@ endif ifeq ($(GIT_HTTP),y) QEMU_UPSTREAM_URL ?= http://xenbits.xensource.com/git-http/qemu-upstream-unstable.git +SEABIOS_UPSTREAM_URL ?= http://git.qemu.org/git/seabios.git else QEMU_UPSTREAM_URL ?= git://xenbits.xensource.com/qemu-upstream-unstable.git +SEABIOS_UPSTREAM_URL ?= git://git.qemu.org/seabios.git endif QEMU_UPSTREAM_TAG ?= 30f93db54875e1f2836e1f3d21672c33191f883f +SEABIOS_UPSTREAM_TAG ?= 7fc039e9c262b4199fab497f3e12f4e425c37560 # 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. @@ -222,15 +225,6 @@ QEMU_TAG ?= 52834188eedfbbca5636fd869d4c86b3b3044439 # Short answer -- do not enable this unless you know what you are # doing and are prepared for some pain. -# SeaBIOS integration is a work in progress. Before enabling this -# option you must clone git://git.qemu.org/seabios.git/, possibly add -# some development patches and then build it yourself before pointing -# this variable to it (using an absolute path). -# -# Note that using SeaBIOS requires the use the upstream qemu as the -# device model. -SEABIOS_DIR ?= - # Optional components XENSTAT_XENTOP ?= y VTPM_TOOLS ?= n diff --git a/Makefile b/Makefile index edc5e3d..8edea0d 100644 --- a/Makefile +++ b/Makefile @@ -98,6 +98,10 @@ tools/qemu-xen-dir: tools/qemu-xen-dir-force-update: $(MAKE) -C tools qemu-xen-dir-force-update +.PHONY: tools/firmware/seabios-dir-force-update +tools/firmware/seabios-dir-force-update: + $(MAKE) -C tools/firmware seabios-dir-force-update + .PHONY: install-docs install-docs: sh ./docs/check_pkgs && $(MAKE) -C docs install || true diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile index 4b6d144..c3ec9a0 100644 --- a/tools/firmware/Makefile +++ b/tools/firmware/Makefile @@ -6,13 +6,18 @@ TARGET := hvmloader/hvmloader INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR) SUBDIRS := +SUBDIRS += seabios-dir SUBDIRS += rombios SUBDIRS += vgabios SUBDIRS += etherboot SUBDIRS += hvmloader +seabios-dir: + GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) $(SEABIOS_UPSTREAM_TAG) seabios-dir + cp seabios-config seabios-dir/.config; + .PHONY: all -all: +all: seabios-dir @set -e; if [ $$((`( bcc -v 2>&1 | grep version || echo 0.0.0 ) | cut -d' ' -f 3 | awk -F. '{ printf "0x%02x%02x%02x", $$1, $$2, $$3}'`)) -lt $$((0x00100e)) ] ; then \ echo "==========================================================================="; \ echo "Require dev86 rpm or bin86 & bcc debs version >= 0.16.14 to build firmware!"; \ @@ -35,4 +40,16 @@ clean: subdirs-clean distclean: subdirs-distclean subdir-distclean-etherboot: .phony - $(MAKE) -C etherboot distclean \ No newline at end of file + $(MAKE) -C etherboot distclean + +subdir-distclean-seabios-dir: .phony + rm -rf seabios-dir seabios-dir-remote + +.PHONY: seabios-dir-force-update +seabios-dir-force-update: + set -ex; \ + if [ "$(SEABIOS_UPSTREAM_TAG)" ]; then \ + cd seabios-dir-remote; \ + $(GIT) fetch origin; \ + $(GIT) reset --hard $(SEABIOS_UPSTREAM_TAG); \ + fi diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile index 11e8f1c..ae8a1e2 100644 --- a/tools/firmware/hvmloader/Makefile +++ b/tools/firmware/hvmloader/Makefile @@ -44,6 +44,7 @@ CFLAGS += -DENABLE_ROMBIOS ROMBIOS_ROM := $(ROMBIOS_DIR)/BIOS-bochs-latest endif +SEABIOS_DIR := ../seabios-dir ifneq ($(SEABIOS_DIR),) OBJS += seabios.o CFLAGS += -DENABLE_SEABIOS diff --git a/tools/firmware/seabios-config b/tools/firmware/seabios-config new file mode 100644 index 0000000..202d15f --- /dev/null +++ b/tools/firmware/seabios-config @@ -0,0 +1,73 @@ +# +# Automatically generated make config: don't edit +# SeaBIOS Configuration +# Wed Sep 7 13:03:21 2011 +# + +# +# General Features +# +# CONFIG_COREBOOT is not set +CONFIG_XEN=y +CONFIG_THREADS=y +# CONFIG_THREAD_OPTIONROMS is not set +CONFIG_RELOCATE_INIT=y +CONFIG_BOOTMENU=y +# CONFIG_BOOTSPLASH is not set +CONFIG_BOOTORDER=y + +# +# Hardware support +# +CONFIG_ATA=y +CONFIG_ATA_DMA=y +CONFIG_ATA_PIO32=y +CONFIG_AHCI=y +CONFIG_VIRTIO_BLK=y +CONFIG_FLOPPY=y +CONFIG_PS2PORT=y +CONFIG_USB=y +CONFIG_USB_UHCI=y +CONFIG_USB_OHCI=y +CONFIG_USB_EHCI=y +CONFIG_USB_MSC=y +CONFIG_USB_HUB=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_MOUSE=y +CONFIG_SERIAL=y +CONFIG_LPT=y +# CONFIG_USE_SMM is not set +CONFIG_MTRR_INIT=y + +# +# BIOS interfaces +# +CONFIG_DRIVES=y +CONFIG_CDROM_BOOT=y +CONFIG_CDROM_EMU=y +CONFIG_PCIBIOS=y +CONFIG_APMBIOS=y +CONFIG_PNPBIOS=y +CONFIG_OPTIONROMS=y +# CONFIG_OPTIONROMS_DEPLOYED is not set +CONFIG_PMM=y +CONFIG_BOOT=y +CONFIG_KEYBOARD=y +CONFIG_KBD_CALL_INT15_4F=y +CONFIG_MOUSE=y +CONFIG_S3_RESUME=y +# CONFIG_DISABLE_A20 is not set + +# +# BIOS Tables +# +CONFIG_PIRTABLE=y +CONFIG_MPTABLE=y +CONFIG_SMBIOS=y +CONFIG_ACPI=y + +# +# Debugging +# +CONFIG_DEBUG_LEVEL=1 +# CONFIG_DEBUG_SERIAL is not set -- 1.7.2.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |