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 <[EMAIL PROTECTED]>
Acked-by: Jordan Crouse <[EMAIL PROTECTED]>


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 $@


-- 
linuxbios mailing list
[email protected]
http://www.linuxbios.org/mailman/listinfo/linuxbios

Reply via email to