Index: config/platforms/Config.in
===================================================================
--- config/platforms/Config.in	(revision 109)
+++ config/platforms/Config.in	(working copy)
@@ -95,7 +95,7 @@
        select PLATFORM
        select PLATFORM_SUPPORT_64BIT
 
-config PLATFORM_QEMU-i386
+config PLATFORM_QEMU-X86
        bool "QEMU Emulator"
        depends VENDOR_QEMU
        select PLATFORM
@@ -122,7 +122,7 @@
 
 config BUILD_QEMU
 	bool "Build QEMU with patches for LinuxBIOS"
-	depends PLATFORM_QEMU-i386
+	depends PLATFORM_QEMU-X86
 	default n
 	help
 	  Say 'y' here to build a patched version of QEMU to work with
Index: config/platforms/serengeti_cheetah.conf
===================================================================
--- config/platforms/serengeti_cheetah.conf	(revision 109)
+++ config/platforms/serengeti_cheetah.conf	(working copy)
@@ -52,12 +52,10 @@
 COREBOOT_BOARD=serengeti_cheetah_fam10
 CBV2_TDIR=serengeti_cheetah_fam10
 CBV2_TAG=3092
-CBV3_CONFIG=serengeti_cheetah_fam10-defconfig
 else
 COREBOOT_BOARD=serengeti_cheetah
 CBV2_TDIR=serengeti_cheetah
 CBV2_TAG=3092
-CBV3_CONFIG=serengeti_cheetah-defconfig
 endif
 
 # FILO configuration
Index: config/platforms/platforms.conf
===================================================================
--- config/platforms/platforms.conf	(revision 109)
+++ config/platforms/platforms.conf	(working copy)
@@ -18,6 +18,6 @@
 PLATFORM-$(CONFIG_PLATFORM_SERENGETI_CHEETAH) = serengeti_cheetah.conf
 PLATFORM-$(CONFIG_PLATFORM_CHEETAH_FAM10) = serengeti_cheetah.conf
 PLATFORM-$(CONFIG_PLATFORM_GA_2761GXDK) = ga-2761gxdk.conf
-PLATFORM-$(CONFIG_PLATFORM_QEMU-i386) = qemu.conf
+PLATFORM-$(CONFIG_PLATFORM_QEMU-X86) = qemu.conf
 
 include $(CONFIG_DIR)/platforms/$(PLATFORM-y)
Index: config/platforms/qemu.conf
===================================================================
--- config/platforms/qemu.conf	(revision 109)
+++ config/platforms/qemu.conf	(working copy)
@@ -27,14 +27,13 @@
 CBV2_TAG=3092
 CBV2_CONFIG=Config.lb
 CBV2_PAYLOAD_FILE_EXT=elf
-CBV2_TDIR=qemu-i386
+CBV2_TDIR=qemu-x86
 
 # coreboot v3 configuration
-CBV3_CONFIG=qemu-i386-defconfig
 CBV3_TAG=HEAD
 
 COREBOOT_VENDOR=emulation
-COREBOOT_BOARD=qemu-i386
+COREBOOT_BOARD=qemu-x86
 
 # FILO configuration
 
Index: packages/coreboot-v3/conf/qemu-i386-defconfig
===================================================================
--- packages/coreboot-v3/conf/qemu-i386-defconfig	(revision 109)
+++ packages/coreboot-v3/conf/qemu-i386-defconfig	(working copy)
@@ -1,88 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# coreboot version: 3.0.0
-# Wed Feb  6 13:55:31 2008
-#
-
-#
-# General setup
-#
-# CONFIG_EXPERIMENTAL is not set
-# CONFIG_EXPERT is not set
-CONFIG_LOCALVERSION=""
-
-#
-# Mainboard
-#
-# CONFIG_VENDOR_ADL is not set
-# CONFIG_VENDOR_AMD is not set
-# CONFIG_VENDOR_ARTECGROUP is not set
-CONFIG_VENDOR_EMULATION=y
-# CONFIG_VENDOR_PCENGINES is not set
-CONFIG_MAINBOARD_NAME="emulation/qemu-x86"
-CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID=0x15ad
-CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID=0x1976
-CONFIG_BOARD_EMULATION_QEMU_X86=y
-# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
-# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
-CONFIG_COREBOOT_ROMSIZE_KB_1024=y
-# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
-CONFIG_COREBOOT_ROMSIZE_KB=1024
-CONFIG_ARCH_X86=y
-CONFIG_ARCH="x86"
-CONFIG_CPU_I586=y
-CONFIG_OPTION_TABLE=y
-
-#
-# Compression
-#
-CONFIG_COMPRESSION_LZMA=y
-# CONFIG_COMPRESSION_NRV2B is not set
-CONFIG_DEFAULT_COMPRESSION_LZMA=y
-# CONFIG_DEFAULT_COMPRESSION_NRV2B is not set
-# CONFIG_DEFAULT_COMPRESSION_NONE is not set
-
-#
-# Console
-#
-CONFIG_CONSOLE=y
-CONFIG_CONSOLE_LOGLEVEL_8=y
-# CONFIG_CONSOLE_LOGLEVEL_7 is not set
-# CONFIG_CONSOLE_LOGLEVEL_6 is not set
-# CONFIG_CONSOLE_LOGLEVEL_5 is not set
-# CONFIG_CONSOLE_LOGLEVEL_4 is not set
-# CONFIG_CONSOLE_LOGLEVEL_3 is not set
-# CONFIG_CONSOLE_LOGLEVEL_2 is not set
-# CONFIG_CONSOLE_LOGLEVEL_1 is not set
-# CONFIG_CONSOLE_LOGLEVEL_0 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8
-CONFIG_CONSOLE_SERIAL=y
-CONFIG_CONSOLE_SERIAL_COM1=y
-# CONFIG_CONSOLE_SERIAL_COM2 is not set
-CONFIG_CONSOLE_SERIAL_115200=y
-# CONFIG_CONSOLE_SERIAL_57600 is not set
-# CONFIG_CONSOLE_SERIAL_38400 is not set
-# CONFIG_CONSOLE_SERIAL_19200 is not set
-# CONFIG_CONSOLE_SERIAL_9600 is not set
-
-#
-# Devices
-#
-CONFIG_PCI_OPTION_ROM_RUN=y
-# CONFIG_PCI_OPTION_ROM_RUN_X86EMU is not set
-CONFIG_PCI_OPTION_ROM_RUN_VM86=y
-# CONFIG_PCI_OPTION_ROM_RUN_NONE is not set
-# CONFIG_MULTIPLE_VGA_INIT is not set
-# CONFIG_INITIALIZE_ONBOARD_VGA_FIRST is not set
-CONFIG_NORTHBRIDGE_INTEL_I440BXEMULATION=y
-CONFIG_SOUTHBRIDGE_INTEL_I82371EB=y
-CONFIG_SUPERIO_WINBOND_W83627HF=y
-CONFIG_NORTHBRIDGE_INTEL_I440BXEMULATION_RAMSIZE=32
-
-#
-# Payload
-#
-# CONFIG_PAYLOAD_PREPARSE_ELF is not set
-# CONFIG_PAYLOAD_ELF is not set
-CONFIG_PAYLOAD_NONE=y
Index: packages/coreboot-v3/coreboot-v3.mk
===================================================================
--- packages/coreboot-v3/coreboot-v3.mk	(revision 109)
+++ packages/coreboot-v3/coreboot-v3.mk	(working copy)
@@ -3,7 +3,7 @@
 endif
 
 CBV3_URL=svn://coreboot.org/repository/coreboot-v3
-CBV3_TARBALL=coreboot-svn-$(CBV3_TAG).tar.gz
+CBV3_TARBALL=coreboot-v3-svn-$(CBV3_TAG).tar.gz
 CBV3_DIR=$(BUILD_DIR)/coreboot-v3
 CBV3_SRC_DIR=$(CBV3_DIR)/svn
 
@@ -45,8 +45,15 @@
 
 $(CBV3_STAMP_DIR)/.configured: $(CBV3_STAMP_DIR)/.patched
 	@ echo "Configuring coreboot v3..."
-	@ cp $(PACKAGE_DIR)/coreboot-v3/conf/$(CBV3_CONFIG) $(CBV3_SRC_DIR)/.config
+ifeq ($(shell if [ -f $(PACKAGE_DIR)/coreboot-v3/conf/customconfig--$(PAYLOAD)--$(COREBOOT_VENDOR)-$(COREBOOT_BOARD) ]; then echo 1; fi),1)
+	@ cp -f $(PACKAGE_DIR)/coreboot-v3/conf/customconfig--$(PAYLOAD)--$(COREBOOT_VENDOR)-$(COREBOOT_BOARD) $(CBV3_SRC_DIR)/.config
+	@ echo "Using custom config $(PACKAGE_DIR)/coreboot-v3/conf/customconfig--$(PAYLOAD)--$(COREBOOT_VENDOR)-$(COREBOOT_BOARD)"
 	@ make -C $(CBV3_SRC_DIR) oldconfig > $(CBV3_CONFIG_LOG) 2>&1
+else
+	@ make -C $(CBV3_SRC_DIR) defconfig \
+		MAINBOARDDIR="$(COREBOOT_VENDOR)/$(COREBOOT_BOARD)" \
+		> $(CBV3_CONFIG_LOG) 2>&1
+endif
 	@ touch $@
 
 $(CBV3_OUTPUT): $(CBV3_STAMP_DIR)/.configured
@@ -74,3 +81,21 @@
 	@ rm -rf $(CBV3_DIR)/*
 	@ rm -rf $(STAGING_DIR)/bin/lar
 
+coreboot-v3-config: $(CBV3_STAMP_DIR)/.unpacked
+ifeq ($(shell if [ -f $(PACKAGE_DIR)/coreboot-v3/conf/customconfig--$(PAYLOAD)--$(COREBOOT_VENDOR)-$(COREBOOT_BOARD) ]; then echo 1; fi),1)
+	@ cp -f $(PACKAGE_DIR)/coreboot-v3/conf/customconfig--$(PAYLOAD)--$(COREBOOT_VENDOR)-$(COREBOOT_BOARD) $(CBV3_SRC_DIR)/.config
+endif
+	@ echo "Configure coreboot-v3..."
+	@ $(MAKE) -C $(CBV3_SRC_DIR) menuconfig
+	@ echo
+ifeq ($(shell if [ -f $(PACKAGE_DIR)/coreboot-v3/conf/customconfig--$(PAYLOAD)--$(COREBOOT_VENDOR)-$(COREBOOT_BOARD) ]; then echo 1; fi),1)
+	@ echo "Found an existing custom configuration file:"
+	@ echo "  $(PACKAGE_DIR)/coreboot-v3/conf/customconfig--$(PAYLOAD)--$(COREBOOT_VENDOR)-$(COREBOOT_BOARD)"
+	@ echo "I've copied it back to the source directory for modification."
+	@ echo "Remove the above file and re-run this command if you want to create a new custom configuration from scratch for this payload/board."
+	@ echo
+endif
+	@ cp -f $(CBV3_SRC_DIR)/.config $(PACKAGE_DIR)/coreboot-v3/conf/customconfig--$(PAYLOAD)--$(COREBOOT_VENDOR)-$(COREBOOT_BOARD)
+	@ echo "Your custom coreboot-v3 config file has been saved as $(PACKAGE_DIR)/coreboot-v3/conf/customconfig--$(PAYLOAD)--$(COREBOOT_VENDOR)-$(COREBOOT_BOARD)."
+	@ echo
+	@ touch $(CBV3_STAMP_DIR)/.configured
