[LinuxBIOS] r77 - in buildrom-devel: . config/payloads config/platforms packages/linuxbios

svn at openbios.org svn at openbios.org
Thu Dec 6 17:18:18 CET 2007


Author: jcrouse
Date: 2007-12-06 17:18:18 +0100 (Thu, 06 Dec 2007)
New Revision: 77

Modified:
   buildrom-devel/Config.in
   buildrom-devel/config/payloads/payloads.conf
   buildrom-devel/config/platforms/Config.in
   buildrom-devel/config/platforms/platforms.conf
   buildrom-devel/packages/linuxbios/linuxbios.inc
Log:
This patch adds support for QEMU to buildrom, for both v2 and v3.  It
also allows you to build QEMU from sources with the patches.

Signed-off-by: Myles Watson <myles at pel.cs.byu.edu>
Acked-by: Jordan Crouse <jordan.crouse at amd.com>


Modified: buildrom-devel/Config.in
===================================================================
--- buildrom-devel/Config.in	2007-12-05 23:27:08 UTC (rev 76)
+++ buildrom-devel/Config.in	2007-12-06 16:18:18 UTC (rev 77)
@@ -43,6 +43,23 @@
 
 menu "LinuxBIOS configuration"
 
+config LINUXBIOS_V3
+	bool "Use LinuxBIOSv3"
+	depends ADVANCED
+	default n
+	help
+	  Use the v3 tree.  LinuxBIOSv3 doesn't support all platforms yet.
+
+config LINUXBIOS_V3_LGDT_PATCH
+	bool "Avoid an error in stage0_i586 with some compilers"
+	depends LINUXBIOS_V3
+	default n
+	help
+	  Say 'y' here to use the patch from the mailing list to replace 
+	  "data32  lgdt %cs:gdtptr" with 
+	  "movl $gdtptr"
+          "%ebx lgdt %cs:(%bx)"
+
 config USE_LZMA
 	bool "Enable LZMA compression"
 	depends !PAYLOAD_OFW

Modified: buildrom-devel/config/payloads/payloads.conf
===================================================================
--- buildrom-devel/config/payloads/payloads.conf	2007-12-05 23:27:08 UTC (rev 76)
+++ buildrom-devel/config/payloads/payloads.conf	2007-12-06 16:18:18 UTC (rev 77)
@@ -29,6 +29,7 @@
 
 # Add LZMA if it is enabled
 HOSTTOOLS-$(CONFIG_USE_LZMA) += lzma
+HOSTTOOLS-$(CONFIG_BUILD_QEMU) += qemu
 
 # Sanity check
 

Modified: buildrom-devel/config/platforms/Config.in
===================================================================
--- buildrom-devel/config/platforms/Config.in	2007-12-05 23:27:08 UTC (rev 76)
+++ buildrom-devel/config/platforms/Config.in	2007-12-06 16:18:18 UTC (rev 77)
@@ -21,6 +21,9 @@
 config VENDOR_PC_ENGINES
 	bool "PC Engines"
 
+config VENDOR_QEMU
+	bool "QEMU Emulator"
+
 config VENDOR_SUPERMICRO
 	bool "Supermicro"
 
@@ -84,6 +87,11 @@
        select PLATFORM
        select PLATFORM_SUPPORT_64BIT
 
+config PLATFORM_QEMU-i386
+       bool "QEMU Emulator"
+       depends VENDOR_QEMU
+       select PLATFORM
+
 config PLATFORM_SERENGETI_CHEETAH
        bool "AMD Serengeti-Cheetah"
        depends VENDOR_AMD
@@ -98,6 +106,22 @@
 
 endchoice
 
+config BUILD_QEMU
+	bool "Build QEMU with patches for LinuxBIOS"
+	depends PLATFORM_QEMU-i386
+	default n
+	help
+	  Say 'y' here to build a patched version of QEMU to work with
+	  LinuxBIOS. This downloads the correct version and patches it
+	  it even builds it if you specify the QEMU_CC correctly.
+
+config QEMU_CC
+	string "Compiler to use when building QEMU"
+	depends BUILD_QEMU
+	default "gcc32"
+	help
+	  Set this string to point to your compiler (GCC_VER <=3.2)
+
 config SIMNOW
 	bool "Build for the AMD SimNow (TM) emulator"
 	depends PLATFORM_SERENGETI_CHEETAH || PLATFORM_SERENGETI_CHEETAH_64

Modified: buildrom-devel/config/platforms/platforms.conf
===================================================================
--- buildrom-devel/config/platforms/platforms.conf	2007-12-05 23:27:08 UTC (rev 76)
+++ buildrom-devel/config/platforms/platforms.conf	2007-12-06 16:18:18 UTC (rev 77)
@@ -18,5 +18,6 @@
 PLATFORM-$(CONFIG_PLATFORM_SERENGETI_CHEETAH) = serengeti_cheetah.conf
 PLATFORM-$(CONFIG_PLATFORM_SERENGETI_CHEETAH_64) = serengeti_cheetah-x86_64.conf
 PLATFORM-$(CONFIG_PLATFORM_GA_2761GXDK) = ga-2761gxdk.conf
+PLATFORM-$(CONFIG_PLATFORM_QEMU-i386) = qemu.conf
 
 include $(CONFIG_DIR)/platforms/$(PLATFORM-y)

Modified: buildrom-devel/packages/linuxbios/linuxbios.inc
===================================================================
--- buildrom-devel/packages/linuxbios/linuxbios.inc	2007-12-05 23:27:08 UTC (rev 76)
+++ buildrom-devel/packages/linuxbios/linuxbios.inc	2007-12-06 16:18:18 UTC (rev 77)
@@ -7,8 +7,14 @@
 ifeq ($(LINUXBIOS_BOARD),)
 $(error No LinuxBIOS board specified)
 endif
-ifeq ($(LINUXBIOS_CONFIG),)
-$(error No LinuxBIOS config specified)
+ifeq ($(CONFIG_LINUXBIOS_V3),y)
+  ifeq ($(LINUXBIOS_V3_CONFIG),)
+  $(error No LinuxBIOSv3 config specified)
+  endif
+else
+  ifeq ($(LINUXBIOS_CONFIG),)
+  $(error No LinuxBIOS config specified)
+  endif
 endif
 ifeq ($(LINUXBIOS_TDIR),)
 $(error No LinuxBIOS TDIR specified)
@@ -29,7 +35,12 @@
 LINUXBIOS_TARGET_DIR=$(LINUXBIOS_SRC_DIR)/targets/
 LINUXBIOS_TARGET_NAME=$(LINUXBIOS_VENDOR)/$(LINUXBIOS_BOARD)
 LINUXBIOS_CONFIG_NAME=$(LINUXBIOS_TARGET_NAME)/$(LINUXBIOS_CONFIG)
+
+ifeq ($(CONFIG_LINUXBIOS_V3),y)
+LINUXBIOS_BUILD_DIR=$(LINUXBIOS_SRC_DIR)
+else
 LINUXBIOS_BUILD_DIR=$(LINUXBIOS_TARGET_DIR)/$(LINUXBIOS_TARGET_NAME)/$(LINUXBIOS_TDIR)
+endif
 
 LINUXBIOS_STAMP_DIR=$(LINUXBIOS_DIR)/stamps
 LINUXBIOS_LOG_DIR=$(LINUXBIOS_DIR)/logs
@@ -68,10 +79,17 @@
 	@ touch $@
 
 $(LINUXBIOS_STAMP_DIR)/.configured: $(LINUXBIOS_STAMP_DIR)/.patched
+ifeq ($(CONFIG_LINUXBIOS_V3),y)
+	@ echo "Configuring v3..."
+	@ cp $(LINUXBIOS_V3_CONFIG) $(LINUXBIOS_SRC_DIR)/.config
+	@ make -C $(LINUXBIOS_SRC_DIR) oldconfig > $(LINUXBIOS_CONFIG_LOG) 2>&1
+	@ touch $@
+else
 	@ echo "Building target..."
 	@( cd $(LINUXBIOS_TARGET_DIR); \
 	./buildtarget $(LINUXBIOS_CONFIG_NAME) > $(LINUXBIOS_CONFIG_LOG) 2>&1)
 	@ touch $@
+endif
 
 $(LINUXBIOS_STAMP_DIR) $(LINUXBIOS_LOG_DIR):
 	@ mkdir -p $@





More information about the coreboot mailing list