aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
author <stefano.stabellini@eu.citrix.com>2012-01-24 15:09:31 +0000
committer <stefano.stabellini@eu.citrix.com>2012-01-24 15:09:31 +0000
commit14ee3c05f3ef7d1d2580043392c500be2fc7cbfe (patch)
treeaaafc8e3ac143ae3ed7b3b95cfa2c1e09564d12f /tools
parente737b4333bb287b6134a89edff2bde2a7e048a9e (diff)
downloadxen-14ee3c05f3ef7d1d2580043392c500be2fc7cbfe.tar.gz
xen-14ee3c05f3ef7d1d2580043392c500be2fc7cbfe.tar.bz2
xen-14ee3c05f3ef7d1d2580043392c500be2fc7cbfe.zip
Clone and build Seabios by default
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/firmware/Makefile21
-rw-r--r--tools/firmware/hvmloader/Makefile1
-rw-r--r--tools/firmware/seabios-config73
3 files changed, 93 insertions, 2 deletions
diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile
index 4b6d144134..c3ec9a07b9 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 ec33155128..41a4369ff0 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 0000000000..202d15fad5
--- /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