some progress on kconfig:
- northbridges are done
- southbridges are done
- Intel CPUs are done, with a design that the board only has to specify
  the socket it has, and the CPUs are pulled in automatically. There is
  some more cleanup possible in that area, but I'll do that later
- a couple more mainboards compile:
  - intel/eagleheights
  - intel/jarrell
  - intel/mtarvon
  - intel/truxton
  - intel/xe7501devkit
  - sunw/ultra40
  - supermicro/h8dme
  - tyan/s2850
  - tyan/s2875
  - via/epia
  - via/epia-cn
  - via/epia-m
  - via/epia-m700
  - via/epia-n
  - via/pc2500e
(PPC not considered, probably overlooked something)

All of them only _build_, but some options are probably completely
wrong. To be fixed later

Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4673 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/Makefile b/Makefile
index fe11db4..4423f4a 100644
--- a/Makefile
+++ b/Makefile
@@ -145,6 +145,14 @@
 $(eval $(call evaluate_subdirs))
 
 
+define c_dsl_template
+$(obj)/$(1)%.c: src/$(1)%.dsl
+	@printf "    IASL       $$(subst $$(shell pwd)/,,$$(@))\n"
+	iasl -p $$(basename $$@) -tc $$<
+	perl -pi -e 's/AmlCode/AmlCode_$$(notdir $$(basename $$@))/g' $$(basename $$@).hex
+	mv $$(basename $$@).hex $$@
+endef
+
 define objs_c_template
 $(obj)/$(1)%.o: src/$(1)%.c
 	@printf "    CC         $$(subst $$(shell pwd)/,,$$(@))\n"
@@ -195,6 +203,7 @@
 
 usetemplate=$(foreach d,$(sort $(dir $($(1)))),$(eval $(call $(1)_$(2)_template,$(subst $(obj)/,,$(d)))))
 usetemplate=$(foreach d,$(sort $(dir $($(1)))),$(eval $(call $(1)_$(2)_template,$(subst $(obj)/,,$(d)))))
+$(eval $(call usetemplate,c,dsl))
 $(eval $(call usetemplate,objs,c))
 $(eval $(call usetemplate,objs,S))
 $(eval $(call usetemplate,initobjs,c))
@@ -233,7 +242,7 @@
 CFLAGS = $(STACKPROTECT) $(INCLUDES) $(MAINBOARD_OPTIONS) -Os -nostdinc
 CFLAGS += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
 CFLAGS +=-Wwrite-strings -Wredundant-decls -Wno-trigraphs 
-CFLAGS += -Werror-implicit-function-declaration -Wstrict-aliasing -Wshadow 
+CFLAGS += -Wstrict-aliasing -Wshadow 
 CFLAGS += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer
 
 CBFS_COMPRESS_FLAG:=l
diff --git a/src/cpu/Kconfig b/src/cpu/Kconfig
index e70f021..3d23f0c 100644
--- a/src/cpu/Kconfig
+++ b/src/cpu/Kconfig
@@ -17,6 +17,10 @@
 	hex
 	default 0x8000 if CPU_INTEL_CORE
 
+config DCACHE_RAM_GLOBAL_VAR_SIZE
+	hex
+	default 0
+
 config SMP
 	bool
 	default y if MAX_CPUS != 1
diff --git a/src/cpu/intel/Kconfig b/src/cpu/intel/Kconfig
index c207897..768a823 100644
--- a/src/cpu/intel/Kconfig
+++ b/src/cpu/intel/Kconfig
@@ -1,5 +1,15 @@
+source src/cpu/intel/model_69x/Kconfig
+source src/cpu/intel/model_6dx/Kconfig
 source src/cpu/intel/model_6ex/Kconfig
 source src/cpu/intel/model_6fx/Kconfig
-source src/cpu/intel/socket_mFCPGA478/Kconfig
-source src/cpu/intel/socket_PGA370/Kconfig
+source src/cpu/intel/model_1067x/Kconfig
+
+source src/cpu/intel/bga956/Kconfig
+source src/cpu/intel/ep80579/Kconfig
 source src/cpu/intel/slot_2/Kconfig
+source src/cpu/intel/socket_mFCPGA478/Kconfig
+source src/cpu/intel/socket_mPGA478/Kconfig
+source src/cpu/intel/socket_mPGA479M/Kconfig
+#source src/cpu/intel/socket_mPGA603/Kconfig
+source src/cpu/intel/socket_mPGA604/Kconfig
+source src/cpu/intel/socket_PGA370/Kconfig
diff --git a/src/cpu/intel/Makefile.inc b/src/cpu/intel/Makefile.inc
index 3437eec..7f8874f 100644
--- a/src/cpu/intel/Makefile.inc
+++ b/src/cpu/intel/Makefile.inc
@@ -3,13 +3,15 @@
 #
 # Therefore: ONLY include Makefile.inc from socket directories!
 
+subdirs-$(CONFIG_CPU_INTEL_SOCKET_BGA956) += bga956
+subdirs-$(CONFIG_CPU_INTEL_EP80579) += ep80579
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_MFCPGA478) += socket_mFCPGA478
+subdirs-$(CONFIG_CPU_INTEL_SOCKET_MPGA478) += socket_mPGA478
+subdirs-$(CONFIG_CPU_INTEL_SOCKET_MPGA479M) += socket_mPGA479M
+subdirs-$(CONFIG_CPU_INTEL_SOCKET_MPGA603) += socket_mPGA603
+subdirs-$(CONFIG_CPU_INTEL_SOCKET_MPGA604) += socket_mPGA604
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_PGA370) += socket_PGA370
 subdirs-$(CONFIG_CPU_INTEL_SLOT_2) += slot_2
 
-#socket_mPGA478
-#socket_mPGA479M
-#socket_mPGA603
-#socket_mPGA604
 #socket_mPGA604_533Mhz
 #socket_mPGA604_800Mhz
diff --git a/src/cpu/intel/bga956/Kconfig b/src/cpu/intel/bga956/Kconfig
new file mode 100644
index 0000000..bdcc8ba
--- /dev/null
+++ b/src/cpu/intel/bga956/Kconfig
@@ -0,0 +1,4 @@
+config CPU_INTEL_SOCKET_BGA956
+	bool
+	default n
+	select CPU_INTEL_CORE2
diff --git a/src/cpu/intel/bga956/Makefile.inc b/src/cpu/intel/bga956/Makefile.inc
new file mode 100644
index 0000000..f0b134b
--- /dev/null
+++ b/src/cpu/intel/bga956/Makefile.inc
@@ -0,0 +1,13 @@
+obj-y += bga956.o
+subdirs-y += ../model_1067x
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/fpu
+subdirs-y += ../../x86/mmx
+subdirs-y += ../../x86/sse
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+subdirs-y += ../microcode
+subdirs-y += ../hyperthreading
+
diff --git a/src/cpu/intel/ep80579/Kconfig b/src/cpu/intel/ep80579/Kconfig
new file mode 100644
index 0000000..213ce8c
--- /dev/null
+++ b/src/cpu/intel/ep80579/Kconfig
@@ -0,0 +1,3 @@
+config CPU_INTEL_EP80579
+	bool
+	default false
diff --git a/src/cpu/intel/ep80579/Makefile.inc b/src/cpu/intel/ep80579/Makefile.inc
new file mode 100644
index 0000000..d1edc94
--- /dev/null
+++ b/src/cpu/intel/ep80579/Makefile.inc
@@ -0,0 +1,12 @@
+obj-y += ep80579.o
+driver-y += ep80579_init.o
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/fpu
+subdirs-y += ../../x86/mmx
+subdirs-y += ../../x86/sse
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+subdirs-y += ../microcode
+
diff --git a/src/cpu/intel/model_1067x/Kconfig b/src/cpu/intel/model_1067x/Kconfig
new file mode 100644
index 0000000..55b5eb7
--- /dev/null
+++ b/src/cpu/intel/model_1067x/Kconfig
@@ -0,0 +1,5 @@
+config CPU_INTEL_CORE2
+	bool
+	default y
+	select SMP
+	select HAVE_MOVNTI
diff --git a/src/cpu/intel/model_1067x/Makefile.inc b/src/cpu/intel/model_1067x/Makefile.inc
new file mode 100644
index 0000000..0854233
--- /dev/null
+++ b/src/cpu/intel/model_1067x/Makefile.inc
@@ -0,0 +1 @@
+driver-y += model_1067x_init.o
diff --git a/src/cpu/intel/model_69x/Kconfig b/src/cpu/intel/model_69x/Kconfig
new file mode 100644
index 0000000..4a7560c
--- /dev/null
+++ b/src/cpu/intel/model_69x/Kconfig
@@ -0,0 +1,4 @@
+config CPU_INTEL_MODEL_69X
+	bool
+	default n
+	select SMP
diff --git a/src/cpu/intel/model_6dx/Kconfig b/src/cpu/intel/model_6dx/Kconfig
new file mode 100644
index 0000000..099688b
--- /dev/null
+++ b/src/cpu/intel/model_6dx/Kconfig
@@ -0,0 +1,4 @@
+config CPU_INTEL_MODEL_6DX
+	bool
+	default n
+	select SMP
diff --git a/src/cpu/intel/model_6xx/Kconfig b/src/cpu/intel/model_6xx/Kconfig
new file mode 100644
index 0000000..14789be
--- /dev/null
+++ b/src/cpu/intel/model_6xx/Kconfig
@@ -0,0 +1,4 @@
+config CPU_INTEL_MODEL_6XX
+	bool
+	default n
+	select SMP
diff --git a/src/cpu/intel/model_6xx/Makefile.inc b/src/cpu/intel/model_6xx/Makefile.inc
index b36e601..ddbb7a5 100644
--- a/src/cpu/intel/model_6xx/Makefile.inc
+++ b/src/cpu/intel/model_6xx/Makefile.inc
@@ -1,22 +1 @@
-##
-## This file is part of the coreboot project.
-##
-## Copyright (C) 2009 Ron Minnich <rminnich@gmail.com>
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
-##
-
 driver-y += model_6xx_init.o
-
diff --git a/src/cpu/intel/model_f0x/Kconfig b/src/cpu/intel/model_f0x/Kconfig
new file mode 100644
index 0000000..3cf574b
--- /dev/null
+++ b/src/cpu/intel/model_f0x/Kconfig
@@ -0,0 +1,5 @@
+config CPU_INTEL_MODEL_F0X
+	bool
+	default n
+	select SMP
+	select HAVE_MOVNTI
diff --git a/src/cpu/intel/model_f0x/Makefile.inc b/src/cpu/intel/model_f0x/Makefile.inc
new file mode 100644
index 0000000..0a19a21
--- /dev/null
+++ b/src/cpu/intel/model_f0x/Makefile.inc
@@ -0,0 +1 @@
+driver-y += model_f0x_init.o
diff --git a/src/cpu/intel/model_f1x/Kconfig b/src/cpu/intel/model_f1x/Kconfig
new file mode 100644
index 0000000..7fcd34f
--- /dev/null
+++ b/src/cpu/intel/model_f1x/Kconfig
@@ -0,0 +1,5 @@
+config CPU_INTEL_MODEL_F1X
+	bool
+	default n
+	select SMP
+	select HAVE_MOVNTI
diff --git a/src/cpu/intel/model_f1x/Makefile.inc b/src/cpu/intel/model_f1x/Makefile.inc
new file mode 100644
index 0000000..14c62b6
--- /dev/null
+++ b/src/cpu/intel/model_f1x/Makefile.inc
@@ -0,0 +1 @@
+driver-y += model_f1x_init.o
diff --git a/src/cpu/intel/model_f2x/Kconfig b/src/cpu/intel/model_f2x/Kconfig
new file mode 100644
index 0000000..8644548
--- /dev/null
+++ b/src/cpu/intel/model_f2x/Kconfig
@@ -0,0 +1,5 @@
+config CPU_INTEL_MODEL_F2X
+	bool
+	default n
+	select SMP
+	select HAVE_MOVNTI
diff --git a/src/cpu/intel/model_f2x/Makefile.inc b/src/cpu/intel/model_f2x/Makefile.inc
new file mode 100644
index 0000000..f836056
--- /dev/null
+++ b/src/cpu/intel/model_f2x/Makefile.inc
@@ -0,0 +1 @@
+driver-y += model_f2x_init.o
diff --git a/src/cpu/intel/model_f3x/Kconfig b/src/cpu/intel/model_f3x/Kconfig
new file mode 100644
index 0000000..da02783
--- /dev/null
+++ b/src/cpu/intel/model_f3x/Kconfig
@@ -0,0 +1,5 @@
+config CPU_INTEL_MODEL_F3X
+	bool
+	default n
+	select SMP
+	select HAVE_MOVNTI
diff --git a/src/cpu/intel/model_f3x/Makefile.inc b/src/cpu/intel/model_f3x/Makefile.inc
new file mode 100644
index 0000000..13dda61
--- /dev/null
+++ b/src/cpu/intel/model_f3x/Makefile.inc
@@ -0,0 +1 @@
+driver-y += model_f3x_init.o
diff --git a/src/cpu/intel/model_f4x/Kconfig b/src/cpu/intel/model_f4x/Kconfig
new file mode 100644
index 0000000..d9f9c96
--- /dev/null
+++ b/src/cpu/intel/model_f4x/Kconfig
@@ -0,0 +1,5 @@
+config CPU_INTEL_MODEL_F4X
+	bool
+	default n
+	select SMP
+	select HAVE_MOVNTI
diff --git a/src/cpu/intel/model_f4x/Makefile.inc b/src/cpu/intel/model_f4x/Makefile.inc
new file mode 100644
index 0000000..7e50d29
--- /dev/null
+++ b/src/cpu/intel/model_f4x/Makefile.inc
@@ -0,0 +1 @@
+driver-y += model_f4x_init.o
diff --git a/src/cpu/intel/socket_mPGA478/Kconfig b/src/cpu/intel/socket_mPGA478/Kconfig
new file mode 100644
index 0000000..e16d51e
--- /dev/null
+++ b/src/cpu/intel/socket_mPGA478/Kconfig
@@ -0,0 +1,5 @@
+config CPU_INTEL_SOCKET_MPGA478
+	bool
+	default false
+	select CPU_INTEL_MODEL_69X
+	select CPU_INTEL_MODEL_6DX
diff --git a/src/cpu/intel/socket_mPGA478/Makefile.inc b/src/cpu/intel/socket_mPGA478/Makefile.inc
new file mode 100644
index 0000000..1c72b4b
--- /dev/null
+++ b/src/cpu/intel/socket_mPGA478/Makefile.inc
@@ -0,0 +1,14 @@
+obj-y += socket_mPGA478.o
+subdirs-y += ../model_69x
+subdirs-y += ../model_6dx
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/fpu
+subdirs-y += ../../x86/mmx
+subdirs-y += ../../x86/sse
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+subdirs-y += ../microcode
+subdirs-y += ../hyperthreading
+
diff --git a/src/cpu/intel/socket_mPGA479M/Kconfig b/src/cpu/intel/socket_mPGA479M/Kconfig
new file mode 100644
index 0000000..ca2113e
--- /dev/null
+++ b/src/cpu/intel/socket_mPGA479M/Kconfig
@@ -0,0 +1,5 @@
+config CPU_INTEL_SOCKET_MPGA479M
+	bool
+	default false
+	select CPU_INTEL_MODEL_69X
+	select CPU_INTEL_MODEL_6DX
diff --git a/src/cpu/intel/socket_mPGA479M/Makefile.inc b/src/cpu/intel/socket_mPGA479M/Makefile.inc
new file mode 100644
index 0000000..bcc9db0
--- /dev/null
+++ b/src/cpu/intel/socket_mPGA479M/Makefile.inc
@@ -0,0 +1,14 @@
+obj-y += socket_mPGA479M.o
+subdirs-y += ../model_69x
+subdirs-y += ../model_6dx
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/fpu
+subdirs-y += ../../x86/mmx
+subdirs-y += ../../x86/sse
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+subdirs-y += ../microcode
+subdirs-y += ../hyperthreading
+
diff --git a/src/cpu/intel/socket_mPGA603/Kconfig b/src/cpu/intel/socket_mPGA603/Kconfig
new file mode 100644
index 0000000..460f3c5
--- /dev/null
+++ b/src/cpu/intel/socket_mPGA603/Kconfig
@@ -0,0 +1,6 @@
+config CPU_INTEL_SOCKET_MPGA603
+	bool
+	default false
+	select CPU_INTEL_MODEL_F0X
+	select CPU_INTEL_MODEL_F1X
+	select CPU_INTEL_MODEL_F2X
diff --git a/src/cpu/intel/socket_mPGA603/Makefile.inc b/src/cpu/intel/socket_mPGA603/Makefile.inc
new file mode 100644
index 0000000..69d331d
--- /dev/null
+++ b/src/cpu/intel/socket_mPGA603/Makefile.inc
@@ -0,0 +1,15 @@
+obj-y += socket_mPGA603_400Mhz.o
+subdirs-y += ../model_f0x
+subdirs-y += ../model_f1x
+subdirs-y += ../model_f2x
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/fpu
+subdirs-y += ../../x86/mmx
+subdirs-y += ../../x86/sse
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+subdirs-y += ../microcode
+subdirs-y += ../hyperthreading
+
diff --git a/src/cpu/intel/socket_mPGA604/Kconfig b/src/cpu/intel/socket_mPGA604/Kconfig
new file mode 100644
index 0000000..445ffeb
--- /dev/null
+++ b/src/cpu/intel/socket_mPGA604/Kconfig
@@ -0,0 +1,6 @@
+config CPU_INTEL_SOCKET_MPGA604
+	bool
+	default false
+	select CPU_INTEL_MODEL_F2X
+	select CPU_INTEL_MODEL_F3X
+	select CPU_INTEL_MODEL_F4X
diff --git a/src/cpu/intel/socket_mPGA604/Makefile.inc b/src/cpu/intel/socket_mPGA604/Makefile.inc
new file mode 100644
index 0000000..1a739bd
--- /dev/null
+++ b/src/cpu/intel/socket_mPGA604/Makefile.inc
@@ -0,0 +1,15 @@
+obj-y += socket_mPGA604.o
+subdirs-y += ../model_f2x
+subdirs-y += ../model_f3x
+subdirs-y += ../model_f4x
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/fpu
+subdirs-y += ../../x86/mmx
+subdirs-y += ../../x86/sse
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+subdirs-y += ../microcode
+subdirs-y += ../hyperthreading
+
diff --git a/src/cpu/x86/Kconfig b/src/cpu/x86/Kconfig
index c4ee9fa..b6ae996 100644
--- a/src/cpu/x86/Kconfig
+++ b/src/cpu/x86/Kconfig
@@ -2,6 +2,10 @@
 	bool
 	default y
 
+config WAIT_BEFORE_CPUS_INIT
+	bool
+	default n
+
 config UDELAY_TSC
 	bool
 	default n
diff --git a/src/mainboard/Kconfig b/src/mainboard/Kconfig
index 88de404..a7bada7 100644
--- a/src/mainboard/Kconfig
+++ b/src/mainboard/Kconfig
@@ -441,5 +441,14 @@
 	help
 	  Map the config names to an integer.
 
+config ROM_SIZE
+	hex
+	default 0x20000 if COREBOOT_ROMSIZE_KB_128
+	default 0x40000 if COREBOOT_ROMSIZE_KB_256
+	default 0x80000 if COREBOOT_ROMSIZE_KB_512
+	default 0x100000 if COREBOOT_ROMSIZE_KB_1024
+	default 0x200000 if COREBOOT_ROMSIZE_KB_2048
+	default 0x400000 if COREBOOT_ROMSIZE_KB_4096
+
 endmenu
 
diff --git a/src/mainboard/Makefile.romccboard.inc b/src/mainboard/Makefile.romccboard.inc
index 1fcf43e..b95a0cb 100644
--- a/src/mainboard/Makefile.romccboard.inc
+++ b/src/mainboard/Makefile.romccboard.inc
@@ -44,15 +44,17 @@
 
 ifdef POST_EVALUATION
 
+ROMCCFLAGS ?= -mcpu=p2
+
 $(obj)/mainboard/$(MAINBOARDDIR)/failover.inc: $(obj)/romcc $(src)/arch/i386/lib/failover.c
-	$(obj)/romcc -mcpu=p2 -O2 --label-prefix=failover $(INCLUDES) $(src)/arch/i386/lib/failover.c -o $@
+	$(obj)/romcc -mcpu=$(ROMCCFLAGS) -O2 --label-prefix=failover $(INCLUDES) $(src)/arch/i386/lib/failover.c -o $@
 
 ifeq ($(CONFIG_HAVE_OPTION_TABLE),y)
 $(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(obj)/romcc $(src)/mainboard/$(MAINBOARDDIR)/auto.c $(obj)/option_table.h
-	$(obj)/romcc -mcpu=p2 -O2 $(INCLUDES) $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
+	$(obj)/romcc -mcpu=$(ROMCCFLAGS) -O2 $(INCLUDES) $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
 else
 $(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(obj)/romcc $(src)/mainboard/$(MAINBOARDDIR)/auto.c
-	$(obj)/romcc -mcpu=p2 -O2 $(INCLUDES) $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
+	$(obj)/romcc -mcpu=$(ROMCCFLAGS) -O2 $(INCLUDES) $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
 endif
 
 endif
diff --git a/src/mainboard/intel/Kconfig b/src/mainboard/intel/Kconfig
index 792d600..c14e88c 100644
--- a/src/mainboard/intel/Kconfig
+++ b/src/mainboard/intel/Kconfig
@@ -1 +1,12 @@
-#
+choice
+        prompt "Mainboard model"
+        depends on VENDOR_INTEL
+
+source "src/mainboard/intel/eagleheights/Kconfig"
+source "src/mainboard/intel/jarrell/Kconfig"
+source "src/mainboard/intel/mtarvon/Kconfig"
+source "src/mainboard/intel/truxton/Kconfig"
+source "src/mainboard/intel/xe7501devkit/Kconfig"
+
+endchoice
+
diff --git a/src/mainboard/intel/eagleheights/Kconfig b/src/mainboard/intel/eagleheights/Kconfig
new file mode 100644
index 0000000..92e9a38
--- /dev/null
+++ b/src/mainboard/intel/eagleheights/Kconfig
@@ -0,0 +1,48 @@
+config BOARD_INTEL_EAGLEHEIGHTS
+	bool "EagleHeights"
+	select ARCH_X86
+	select CPU_INTEL_SOCKET_BGA956
+	select NORTHBRIDGE_INTEL_I3100
+	select SOUTHBRIDGE_INTEL_I3100
+	select SUPERIO_INTEL_I3100
+	select SUPERIO_SMSC_SMSCSUPERIO
+	select HAVE_PIRQ_TABLE
+	select HAVE_HIGH_TABLES
+	select MMCONF_SUPPORT
+	select USE_PRINTK_IN_CAR
+	select UDELAY_TSC
+	select TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
+	select AP_IN_SIPI_WAIT
+	help
+          Intel EagleHeights mainboard.
+
+config MAINBOARD_DIR
+	string
+	default intel/eagleheights
+	depends on BOARD_INTEL_EAGLEHEIGHTS
+
+config DCACHE_RAM_BASE
+	hex
+	default 0xffdf8000
+	depends on BOARD_INTEL_EAGLEHEIGHTS
+
+config DCACHE_RAM_SIZE
+	hex
+	default 0x8000
+	depends on BOARD_INTEL_EAGLEHEIGHTS
+
+config LB_CKS_RANGE_END
+	int
+	default 122
+	depends on BOARD_INTEL_EAGLEHEIGHTS
+
+config LB_CKS_LOC
+	int
+	default 123
+	depends on BOARD_INTEL_EAGLEHEIGHTS
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "EagleHeights"
+	depends on BOARD_INTEL_EAGLEHEIGHTS
+
diff --git a/src/mainboard/intel/eagleheights/Makefile.inc b/src/mainboard/intel/eagleheights/Makefile.inc
new file mode 100644
index 0000000..1f9c31f
--- /dev/null
+++ b/src/mainboard/intel/eagleheights/Makefile.inc
@@ -0,0 +1,38 @@
+driver-y += mainboard.o
+obj-$(CONFIG_HAVE_MP_TABLE) += mptable.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += fadt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += acpi_tables.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += dsdt.o
+obj-y += reset.o
+
+# This is part of the conversion to init-obj and away from included code.
+
+initobj-y += crt0.o
+# FIXME in $(top)/Makefile
+crt0-y += ../../../../src/cpu/x86/16bit/entry16.inc
+crt0-y += ../../../../src/cpu/x86/32bit/entry32.inc
+crt0-y += ../../../../src/cpu/x86/16bit/reset16.inc
+crt0-y += ../../../../src/arch/i386/lib/id.inc
+crt0-y += ../../../../src/cpu/intel/model_6ex/cache_as_ram.inc
+crt0-y += auto.inc
+
+ldscript-y += ../../../../src/arch/i386/init/ldscript_fallback_cbfs.lb
+ldscript-y += ../../../../src/cpu/x86/16bit/entry16.lds
+ldscript-y += ../../../../src/cpu/x86/16bit/reset16.lds
+ldscript-y += ../../../../src/arch/i386/lib/id.lds
+ldscript-y += ../../../../src/arch/i386/lib/failover.lds
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=\
+	-DCONFIG_MMCONF_SUPPORT=1 \
+	-DCONFIG_MMCONF_BASE_ADDRESS=0xe0000000
+
+$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/auto.c $(obj)/option_table.h
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S  $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
+	perl -e 's/\.rodata/.rom.data/g' -pi $@
+	perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+
diff --git a/src/mainboard/intel/eagleheights/devicetree.cb b/src/mainboard/intel/eagleheights/devicetree.cb
new file mode 100644
index 0000000..e5bbf20
--- /dev/null
+++ b/src/mainboard/intel/eagleheights/devicetree.cb
@@ -0,0 +1,73 @@
+chip northbridge/intel/i3100
+        device pci_domain 0 on
+                device pci 00.0 on end # IMCH
+                device pci 00.1 on end # IMCH error status
+                device pci 01.0 on end # IMCH EDMA engine
+                device pci 02.0 on end # PCIe port A/A0
+                device pci 03.0 on end # PCIe port A1
+                chip southbridge/intel/i3100
+                        # PIRQ line -> legacy IRQ mappings
+			register "pirq_a_d" = "0x8b808a8a"
+                        register "pirq_e_h" = "0x85808080"
+
+                        device pci 1c.0 on end # PCIe port B0
+                        device pci 1c.1 off end # PCIe port B1
+                        device pci 1c.2 off end # PCIe port B2
+                        device pci 1c.3 off end # PCIe port B3
+                        device pci 1d.0 on end # USB (UHCI) 1
+                        device pci 1d.1 on end # USB (UHCI) 2
+                        device pci 1d.7 on end # USB (EHCI)
+                        device pci 1e.0 on end # PCI bridge
+                        device pci 1f.0 on     # LPC bridge
+                                chip superio/intel/i3100
+                                        device pnp 4e.4 on # Com1
+                                                 io 0x60 = 0x3f8
+                                                irq 0x70 = 4
+                                        end
+                                        device pnp 4e.5 on # Com2
+                                                 io 0x60 = 0x2f8
+                                                irq 0x70 = 3
+                                        end
+                                end
+				chip superio/smsc/smscsuperio
+					device pnp 2e.0 off	# Floppy
+						io 0x60 = 0x3f0
+						irq 0x70 = 6
+						drq 0x74 = 2
+					end
+					device pnp 2e.2 off	# Serial Port 4
+						io 0x60 = 0x2e8
+						irq 0x70 = 3
+					end
+					device pnp 2e.3 on	# Parallel Port
+						io 0x60 = 0x378
+						irq 0x70 = 7
+						drq 0x74 = 2
+					end
+					device pnp 2e.4 off	# Serial Port 3
+						io 0x60 = 0x3e8
+						irq 0x70 = 4
+					end
+					device pnp 2e.7 on	# PS/2 Keyboard / Mouse
+						io 0x60 = 0x60
+						io 0x62 = 0x64
+						irq 0x70 = 1    # PS/2 keyboard interrupt
+						irq 0x72 = 12   # PS/2 mouse interrupt
+					end
+					device pnp 2e.a off     # Runtime registers
+					       io 0x60 = 0x600
+					end
+				end
+                        end
+                        device pci 1f.2 on end # SATA
+                        device pci 1f.3 on end # SMBus
+			device pci 1f.4 on end # Performance counters
+                end
+        end
+        device apic_cluster 0 on
+                chip cpu/intel/bga956
+                        device apic 0 on end
+                end
+        end
+end
+
diff --git a/src/mainboard/intel/jarrell/Kconfig b/src/mainboard/intel/jarrell/Kconfig
new file mode 100644
index 0000000..8cfa632
--- /dev/null
+++ b/src/mainboard/intel/jarrell/Kconfig
@@ -0,0 +1,33 @@
+config BOARD_INTEL_JARRELL
+	bool "Jarrell"
+	select ARCH_X86
+	select CPU_INTEL_SOCKET_MPGA604
+	select NORTHBRIDGE_INTEL_E7520
+	select SOUTHBRIDGE_INTEL_PXHD
+	select SOUTHBRIDGE_INTEL_I82801ER
+	select SUPERIO_NSC_PC87427
+	select HAVE_PIRQ_TABLE
+	select UDELAY_TSC
+	help
+          Intel Jarrell mainboard.
+
+config MAINBOARD_DIR
+	string
+	default intel/jarrell
+	depends on BOARD_INTEL_JARRELL
+
+config LB_CKS_RANGE_END
+	int
+	default 122
+	depends on BOARD_INTEL_JARRELL
+
+config LB_CKS_LOC
+	int
+	default 123
+	depends on BOARD_INTEL_JARRELL
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "Jarrell"
+	depends on BOARD_INTEL_JARRELL
+
diff --git a/src/mainboard/intel/jarrell/Makefile.inc b/src/mainboard/intel/jarrell/Makefile.inc
new file mode 100644
index 0000000..7d098f9
--- /dev/null
+++ b/src/mainboard/intel/jarrell/Makefile.inc
@@ -0,0 +1,4 @@
+obj-y += reset.o
+ROMCCFLAGS := -mcpu=p4
+include $(src)/mainboard/Makefile.romccboard.inc
+
diff --git a/src/mainboard/intel/mtarvon/Kconfig b/src/mainboard/intel/mtarvon/Kconfig
new file mode 100644
index 0000000..255ddc3
--- /dev/null
+++ b/src/mainboard/intel/mtarvon/Kconfig
@@ -0,0 +1,41 @@
+config BOARD_INTEL_MTARVON
+	bool "Mt. Arvon"
+	select ARCH_X86
+	select CPU_INTEL_SOCKET_MPGA479M
+	select NORTHBRIDGE_INTEL_I3100
+	select SOUTHBRIDGE_INTEL_I3100
+	select SUPERIO_INTEL_I3100
+	select HAVE_PIRQ_TABLE
+	select UDELAY_TSC
+	help
+          Intel Mt. Arvon mainboard.
+
+config MAINBOARD_DIR
+	string
+	default intel/mtarvon
+	depends on BOARD_INTEL_MTARVON
+
+config LB_CKS_RANGE_END
+	int
+	default 122
+	depends on BOARD_INTEL_MTARVON
+
+config LB_CKS_LOC
+	int
+	default 123
+	depends on BOARD_INTEL_MTARVON
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "Mt. Arvon"
+	depends on BOARD_INTEL_MTARVON
+
+config HAVE_OPTION_TABLE
+	bool
+	default n
+	depends on BOARD_INTEL_MTARVON
+
+config IRQ_SLOT_COUNT
+	int
+	default 1
+	depends on BOARD_INTEL_MTARVON
diff --git a/src/mainboard/intel/mtarvon/Makefile.inc b/src/mainboard/intel/mtarvon/Makefile.inc
new file mode 100644
index 0000000..a6be734
--- /dev/null
+++ b/src/mainboard/intel/mtarvon/Makefile.inc
@@ -0,0 +1,3 @@
+ROMCCFLAGS := -mcpu=p4
+include $(src)/mainboard/Makefile.romccboard.inc
+
diff --git a/src/mainboard/intel/truxton/Kconfig b/src/mainboard/intel/truxton/Kconfig
new file mode 100644
index 0000000..490db9d
--- /dev/null
+++ b/src/mainboard/intel/truxton/Kconfig
@@ -0,0 +1,43 @@
+config BOARD_INTEL_TRUXTON
+	bool "Truxton"
+	select ARCH_X86
+	select CPU_INTEL_EP80579
+	select NORTHBRIDGE_INTEL_I3100
+	select SOUTHBRIDGE_INTEL_I3100
+	select SUPERIO_INTEL_I3100
+	select SUPERIO_SMSC_SMSCSUPERIO
+	select HAVE_PIRQ_TABLE
+	select UDELAY_TSC
+	help
+          Intel Truxton mainboard.
+
+config MAINBOARD_DIR
+	string
+	default intel/truxton
+	depends on BOARD_INTEL_TRUXTON
+
+config LB_CKS_RANGE_END
+	int
+	default 122
+	depends on BOARD_INTEL_TRUXTON
+
+config LB_CKS_LOC
+	int
+	default 123
+	depends on BOARD_INTEL_TRUXTON
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "Truxton"
+	depends on BOARD_INTEL_TRUXTON
+
+config HAVE_OPTION_TABLE
+	bool
+	default n
+	depends on BOARD_INTEL_TRUXTON
+
+config IRQ_SLOT_COUNT
+	int
+	default 1
+	depends on BOARD_INTEL_TRUXTON
+
diff --git a/src/mainboard/intel/truxton/Makefile.inc b/src/mainboard/intel/truxton/Makefile.inc
new file mode 100644
index 0000000..59c6b14
--- /dev/null
+++ b/src/mainboard/intel/truxton/Makefile.inc
@@ -0,0 +1,3 @@
+ROMCCFLAGS := -mcpu=p4 -fno-simplify-phi
+include $(src)/mainboard/Makefile.romccboard.inc
+
diff --git a/src/mainboard/intel/xe7501devkit/Kconfig b/src/mainboard/intel/xe7501devkit/Kconfig
new file mode 100644
index 0000000..db4dbd3
--- /dev/null
+++ b/src/mainboard/intel/xe7501devkit/Kconfig
@@ -0,0 +1,47 @@
+config BOARD_INTEL_XE7501DEVKIT
+	bool "xe7501 DevKit"
+	select ARCH_X86
+	select CPU_INTEL_SOCKET_MPGA604
+	select NORTHBRIDGE_INTEL_E7501
+	select SOUTHBRIDGE_INTEL_I82870
+	select SOUTHBRIDGE_INTEL_I82801CA
+	select SUPERIO_SMSC_LPC47B272
+	select HAVE_PIRQ_TABLE
+	select UDELAY_TSC
+	help
+          Intel xe7501 devkit mainboard.
+
+config MAINBOARD_DIR
+	string
+	default intel/xe7501devkit
+	depends on BOARD_INTEL_XE7501DEVKIT
+
+config LB_CKS_RANGE_START
+	int
+	default 128
+	depends on BOARD_INTEL_XE7501DEVKIT
+
+config LB_CKS_RANGE_END
+	int
+	default 130
+	depends on BOARD_INTEL_XE7501DEVKIT
+
+config LB_CKS_LOC
+	int
+	default 131
+	depends on BOARD_INTEL_XE7501DEVKIT
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "EIDXE7501DEVKIT"
+	depends on BOARD_INTEL_XE7501DEVKIT
+
+config HAVE_OPTION_TABLE
+	bool
+	default y
+	depends on BOARD_INTEL_XE7501DEVKIT
+
+config IRQ_SLOT_COUNT
+	int
+	default 12
+	depends on BOARD_INTEL_XE7501DEVKIT
diff --git a/src/mainboard/intel/xe7501devkit/Makefile.inc b/src/mainboard/intel/xe7501devkit/Makefile.inc
new file mode 100644
index 0000000..a064b3d
--- /dev/null
+++ b/src/mainboard/intel/xe7501devkit/Makefile.inc
@@ -0,0 +1,13 @@
+ROMCCFLAGS := -mcpu=p4
+obj-$(CONFIG_HAVE_ACPI_TABLES) += acpi_tables.o
+ifeq ($(CONFIG_PCI_ROM_RUN),y)
+	ifeq ($(CONFIG_PCI_ROM_RUN),y)
+		obj-y += vgarom.o
+	else
+		obj-y += no_vgarom.o
+	endif
+else
+	obj-y += no_vgarom.o
+endif
+include $(src)/mainboard/Makefile.romccboard.inc
+
diff --git a/src/mainboard/sunw/Kconfig b/src/mainboard/sunw/Kconfig
index 792d600..b04d905 100644
--- a/src/mainboard/sunw/Kconfig
+++ b/src/mainboard/sunw/Kconfig
@@ -1 +1,8 @@
-#
+choice
+	prompt "Mainboard model"
+	depends on VENDOR_SUNW
+	
+source "src/mainboard/sunw/ultra40/Kconfig"
+
+endchoice
+
diff --git a/src/mainboard/sunw/ultra40/Kconfig b/src/mainboard/sunw/ultra40/Kconfig
new file mode 100644
index 0000000..8cdd1f7
--- /dev/null
+++ b/src/mainboard/sunw/ultra40/Kconfig
@@ -0,0 +1,130 @@
+config BOARD_SUNW_ULTRA40
+	bool "Ultra40"
+	select ARCH_X86
+	select CPU_AMD_K8
+	select CPU_AMD_SOCKET_940
+	select NORTHBRIDGE_AMD_AMDK8
+	select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
+	select SOUTHBRIDGE_NVIDIA_CK804
+	select SUPERIO_SMSC_LPC47M10X
+	select HAVE_PIRQ_TABLE
+	select USE_PRINTK_IN_CAR
+	select USE_DCACHE_RAM
+	help
+	 Sun Ultra40.
+
+config MAINBOARD_DIR
+	string
+	default sunw/ultra40
+	depends on BOARD_SUNW_ULTRA40
+
+config DCACHE_RAM_BASE
+	hex
+	default 0xcf000
+	depends on BOARD_SUNW_ULTRA40
+
+config DCACHE_RAM_SIZE
+	hex
+	default 0x01000
+	depends on BOARD_SUNW_ULTRA40
+
+config APIC_ID_OFFSET
+	hex
+	default 0x10
+	depends on BOARD_SUNW_ULTRA40
+
+config HAVE_HARD_RESET
+	bool
+	default y
+	depends on BOARD_SUNW_ULTRA40
+
+config IOAPIC
+	bool
+	default y
+	depends on BOARD_SUNW_ULTRA40
+
+config K8_REV_F_SUPPORT
+	bool
+	default n
+	depends on BOARD_SUNW_ULTRA40
+
+config SB_HT_CHAIN_ON_BUS0
+	int
+	default 2
+	depends on BOARD_SUNW_ULTRA40
+
+config SB_HT_CHAIN_UNITID_OFFSET_ONLY
+	bool
+	default n
+	depends on BOARD_SUNW_ULTRA40
+
+config LB_CKS_RANGE_END
+	int
+	default 122
+	depends on BOARD_SUNW_ULTRA40
+
+config LB_CKS_LOC
+	int
+	default 123
+	depends on BOARD_SUNW_ULTRA40
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "ultra40"
+	depends on BOARD_SUNW_ULTRA40
+
+config HW_MEM_HOLE_SIZEK
+	hex
+	default 0x100000
+	depends on BOARD_SUNW_ULTRA40
+
+config HAVE_FAILOVER_BOOT
+	bool
+	default n
+	depends on BOARD_SUNW_ULTRA40
+
+config USE_FAILOVER_IMAGE
+	bool
+	default n
+	depends on BOARD_SUNW_ULTRA40
+
+config MAX_CPUS
+	int
+	default 4
+	depends on BOARD_SUNW_ULTRA40
+
+config MAX_PHYSICAL_CPUS
+	int
+	default 2
+	depends on BOARD_SUNW_ULTRA40
+
+config HT_CHAIN_END_UNITID_BASE
+	hex
+	default 0x0
+	depends on BOARD_SUNW_ULTRA40
+
+config HT_CHAIN_UNITID_BASE
+	hex
+	default 0x0
+	depends on BOARD_SUNW_ULTRA40
+
+config USE_INIT
+	bool
+	default n
+	depends on BOARD_SUNW_ULTRA40
+
+config SB_HT_CHAIN_ON_BUS0
+	int
+	default 2
+	depends on BOARD_SUNW_ULTRA40
+
+config CONSOLE_VGA
+	bool
+	default y
+	depends on BOARD_SUNW_ULTRA40
+
+config PCI_ROM_RUN
+	bool
+	default y
+	depends on BOARD_SUNW_ULTRA40
+
diff --git a/src/mainboard/sunw/ultra40/Makefile.inc b/src/mainboard/sunw/ultra40/Makefile.inc
new file mode 100644
index 0000000..39f12d3
--- /dev/null
+++ b/src/mainboard/sunw/ultra40/Makefile.inc
@@ -0,0 +1,81 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007-2008 coresystems GmbH
+##
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License as
+## published by the Free Software Foundation; version 2 of
+## the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+## MA 02110-1301 USA
+##
+
+driver-y += mainboard.o
+
+# Needed by irq_tables and mptable and acpi_tables.
+obj-y += get_bus_conf.o
+obj-$(CONFIG_HAVE_MP_TABLE) += mptable.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+
+# This is part of the conversion to init-obj and away from included code.
+
+initobj-y += crt0.o
+# FIXME in $(top)/Makefile
+crt0-y += ../../../../src/cpu/x86/16bit/entry16.inc
+crt0-y += ../../../../src/cpu/x86/32bit/entry32.inc
+crt0-y += ../../../../src/cpu/x86/16bit/reset16.inc
+crt0-y += ../../../../src/arch/i386/lib/id.inc
+crt0-y += ../../../../src/cpu/amd/car/cache_as_ram.inc
+crt0-y += auto.inc
+
+ldscript-y += ../../../../src/arch/i386/init/ldscript_fallback_cbfs.lb
+ldscript-y += ../../../../src/cpu/x86/16bit/entry16.lds
+ldscript-y += ../../../../src/cpu/x86/16bit/reset16.lds
+ldscript-y += ../../../../src/arch/i386/lib/id.lds
+ldscript-y += ../../../../src/arch/i386/lib/failover.lds
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=\
+	-DCONFIG_AP_IN_SIPI_WAIT=0 \
+	-DCONFIG_USE_PRINTK_IN_CAR=1 \
+	-DCONFIG_HAVE_HIGH_TABLES=1
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/dsdt_lb.dsl
+	iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dx/dsdt_lb.dsl
+	mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(obj)/ssdt2.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/pci2.asl
+	iasl -p $(CURDIR)/pci2 -tc $(CONFIG_MAINBOARD)/dx/pci2.asl
+	perl -pi -e 's/AmlCode/AmlCode_ssdt2/g' pci2.hex
+	mv pci2.hex ssdt2.c
+
+$(obj)/ssdt3.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/pci3.asl"
+	iasl -p $(CURDIR)/pci3 -tc $(CONFIG_MAINBOARD)/
+	perl -pi -e 's/AmlCode/AmlCode_ssdt3/g' pci3.hex
+	mv pci3.hex ssdt3.c
+
+$(obj)/ssdt4.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/pci4.asl"
+	iasl -p $(CURDIR)/pci4 -tc $(CONFIG_MAINBOARD)/dx/pci4.asl
+	perl -pi -e 's/AmlCode/AmlCode_ssdt4/g' pci4.hex
+	mv pci4.hex ssdt4.c
+
+$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/option_table.h
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S  $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@
+	perl -e 's/\.rodata/.rom.data/g' -pi $@
+	perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+
diff --git a/src/mainboard/supermicro/Kconfig b/src/mainboard/supermicro/Kconfig
index 792d600..9c98498 100644
--- a/src/mainboard/supermicro/Kconfig
+++ b/src/mainboard/supermicro/Kconfig
@@ -1 +1,14 @@
-#
+choice
+	prompt "Mainboard model"
+	depends on VENDOR_SUPERMICRO
+	
+source "src/mainboard/supermicro/h8dme/Kconfig"
+#source "src/mainboard/supermicro/h8dmr/Kconfig"
+#source "src/mainboard/supermicro/x6dai_g/Kconfig"
+#source "src/mainboard/supermicro/x6dhe_g/Kconfig"
+#source "src/mainboard/supermicro/x6dhe_g2/Kconfig"
+#source "src/mainboard/supermicro/x6dhr_ig/Kconfig"
+#source "src/mainboard/supermicro/x6dhr_ig2/Kconfig"
+
+endchoice
+
diff --git a/src/mainboard/supermicro/h8dme/Kconfig b/src/mainboard/supermicro/h8dme/Kconfig
new file mode 100644
index 0000000..c3e857a
--- /dev/null
+++ b/src/mainboard/supermicro/h8dme/Kconfig
@@ -0,0 +1,130 @@
+config BOARD_SUPERMICRO_H8DME
+	bool "h8dme"
+	select ARCH_X86
+	select CPU_AMD_K8
+	select CPU_AMD_SOCKET_F
+	select NORTHBRIDGE_AMD_AMDK8
+	select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
+	select SOUTHBRIDGE_NVIDIA_MCP55
+	select SUPERIO_WINBOND_W83627HF
+	select HAVE_PIRQ_TABLE
+	select USE_PRINTK_IN_CAR
+	select USE_DCACHE_RAM
+	help
+	 h8dme
+
+config MAINBOARD_DIR
+	string
+	default supermicro/h8dme
+	depends on BOARD_SUPERMICRO_H8DME
+
+config DCACHE_RAM_BASE
+	hex
+	default 0xc8000
+	depends on BOARD_SUPERMICRO_H8DME
+
+config DCACHE_RAM_SIZE
+	hex
+	default 0x08000
+	depends on BOARD_SUPERMICRO_H8DME
+
+config DCACHE_RAM_GLOBAL_VAR_SIZE
+	hex
+	default 0x01000
+	depends on BOARD_SUPERMICRO_H8DME
+
+config APIC_ID_OFFSET
+	hex
+	default 0x10
+	depends on BOARD_SUPERMICRO_H8DME
+
+config HAVE_HARD_RESET
+	bool
+	default y
+	depends on BOARD_SUPERMICRO_H8DME
+
+config IOAPIC
+	bool
+	default y
+	depends on BOARD_SUPERMICRO_H8DME
+
+config SB_HT_CHAIN_ON_BUS0
+	int
+	default 2
+	depends on BOARD_SUPERMICRO_H8DME
+
+config SB_HT_CHAIN_UNITID_OFFSET_ONLY
+	bool
+	default n
+	depends on BOARD_SUPERMICRO_H8DME
+
+config LB_CKS_RANGE_END
+	int
+	default 122
+	depends on BOARD_SUPERMICRO_H8DME
+
+config LB_CKS_LOC
+	int
+	default 123
+	depends on BOARD_SUPERMICRO_H8DME
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "ultra40"
+	depends on BOARD_SUPERMICRO_H8DME
+
+config HW_MEM_HOLE_SIZEK
+	hex
+	default 0x100000
+	depends on BOARD_SUPERMICRO_H8DME
+
+config HAVE_FAILOVER_BOOT
+	bool
+	default n
+	depends on BOARD_SUPERMICRO_H8DME
+
+config USE_FAILOVER_IMAGE
+	bool
+	default n
+	depends on BOARD_SUPERMICRO_H8DME
+
+config MAX_CPUS
+	int
+	default 4
+	depends on BOARD_SUPERMICRO_H8DME
+
+config MAX_PHYSICAL_CPUS
+	int
+	default 2
+	depends on BOARD_SUPERMICRO_H8DME
+
+config HT_CHAIN_END_UNITID_BASE
+	hex
+	default 0x0
+	depends on BOARD_SUPERMICRO_H8DME
+
+config HT_CHAIN_UNITID_BASE
+	hex
+	default 0x0
+	depends on BOARD_SUPERMICRO_H8DME
+
+config USE_INIT
+	bool
+	default n
+	depends on BOARD_SUPERMICRO_H8DME
+
+config SB_HT_CHAIN_ON_BUS0
+	int
+	default 2
+	depends on BOARD_SUPERMICRO_H8DME
+
+config CONSOLE_VGA
+	bool
+	default y
+	depends on BOARD_SUPERMICRO_H8DME
+
+config PCI_ROM_RUN
+	bool
+	default y
+	depends on BOARD_SUPERMICRO_H8DME
+
diff --git a/src/mainboard/supermicro/h8dme/Makefile.inc b/src/mainboard/supermicro/h8dme/Makefile.inc
new file mode 100644
index 0000000..e51ef68
--- /dev/null
+++ b/src/mainboard/supermicro/h8dme/Makefile.inc
@@ -0,0 +1,82 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007-2008 coresystems GmbH
+##
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License as
+## published by the Free Software Foundation; version 2 of
+## the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+## MA 02110-1301 USA
+##
+
+driver-y += mainboard.o
+driver-y += ../../../drivers/i2c/i2cmux2/i2cmux2.o
+
+# Needed by irq_tables and mptable and acpi_tables.
+obj-y += get_bus_conf.o
+obj-$(CONFIG_HAVE_MP_TABLE) += mptable.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+
+# This is part of the conversion to init-obj and away from included code.
+
+initobj-y += crt0.o
+# FIXME in $(top)/Makefile
+crt0-y += ../../../../src/cpu/x86/16bit/entry16.inc
+crt0-y += ../../../../src/cpu/x86/32bit/entry32.inc
+crt0-y += ../../../../src/cpu/x86/16bit/reset16.inc
+crt0-y += ../../../../src/arch/i386/lib/id.inc
+crt0-y += ../../../../src/cpu/amd/car/cache_as_ram.inc
+crt0-y += auto.inc
+
+ldscript-y += ../../../../src/arch/i386/init/ldscript_fallback_cbfs.lb
+ldscript-y += ../../../../src/cpu/x86/16bit/entry16.lds
+ldscript-y += ../../../../src/cpu/x86/16bit/reset16.lds
+ldscript-y += ../../../../src/arch/i386/lib/id.lds
+ldscript-y += ../../../../src/arch/i386/lib/failover.lds
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=\
+	-DCONFIG_AP_IN_SIPI_WAIT=0 \
+	-DCONFIG_USE_PRINTK_IN_CAR=1 \
+	-DCONFIG_HAVE_HIGH_TABLES=1
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/dsdt_lb.dsl
+	iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dx/dsdt_lb.dsl
+	mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(obj)/ssdt2.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/pci2.asl
+	iasl -p $(CURDIR)/pci2 -tc $(CONFIG_MAINBOARD)/dx/pci2.asl
+	perl -pi -e 's/AmlCode/AmlCode_ssdt2/g' pci2.hex
+	mv pci2.hex ssdt2.c
+
+$(obj)/ssdt3.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/pci3.asl"
+	iasl -p $(CURDIR)/pci3 -tc $(CONFIG_MAINBOARD)/
+	perl -pi -e 's/AmlCode/AmlCode_ssdt3/g' pci3.hex
+	mv pci3.hex ssdt3.c
+
+$(obj)/ssdt4.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/pci4.asl"
+	iasl -p $(CURDIR)/pci4 -tc $(CONFIG_MAINBOARD)/dx/pci4.asl
+	perl -pi -e 's/AmlCode/AmlCode_ssdt4/g' pci4.hex
+	mv pci4.hex ssdt4.c
+
+$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/option_table.h
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S  $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@
+	perl -e 's/\.rodata/.rom.data/g' -pi $@
+	perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+
diff --git a/src/mainboard/tyan/s2850/Kconfig b/src/mainboard/tyan/s2850/Kconfig
new file mode 100644
index 0000000..6ae7f0e
--- /dev/null
+++ b/src/mainboard/tyan/s2850/Kconfig
@@ -0,0 +1,65 @@
+config BOARD_TYAN_S2850
+	bool "Tyan S2850"
+	select ARCH_X86
+	select CPU_AMD_K8
+	select CPU_AMD_SOCKET_940
+	select NORTHBRIDGE_AMD_AMDK8
+	select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
+	select SOUTHBRIDGE_AMD_AMD8111
+	select SUPERIO_WINBOND_W83627HF
+	select PIRQ_TABLE
+
+config MAINBOARD_DIR
+	string
+	default tyan/s2850
+	depends on BOARD_TYAN_S2850
+
+config LB_CKS_RANGE_END
+	int
+	default 122
+	depends on BOARD_TYAN_S2850
+
+config LB_CKS_LOC
+	int
+        default 123
+	depends on BOARD_TYAN_S2850
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "s2850"
+	depends on BOARD_TYAN_S2850
+
+config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
+	hex
+	default 0x2850
+	depends on BOARD_TYAN_S2850
+
+config HW_MEM_HOLE_SIZEK
+	hex
+	default 0x100000
+	depends on BOARD_TYAN_S2850
+
+config HAVE_FAILOVER_BOOT
+	bool
+	default n
+	depends on BOARD_TYAN_S2850
+
+config USE_FAILOVER_IMAGE
+	bool
+	default n
+	depends on BOARD_TYAN_S2850
+
+config MAX_CPUS
+	int
+	default 2
+	depends on BOARD_TYAN_S2850
+
+config MAX_PHYSICAL_CPUS
+	int
+	default 1
+	depends on BOARD_TYAN_S2850
+
+config USE_INIT
+	bool
+	default n
+	depends on BOARD_TYAN_S2850
diff --git a/src/mainboard/tyan/s2850/Makefile.inc b/src/mainboard/tyan/s2850/Makefile.inc
new file mode 100644
index 0000000..88582f5
--- /dev/null
+++ b/src/mainboard/tyan/s2850/Makefile.inc
@@ -0,0 +1 @@
+include $(src)/mainboard/tyan/Makefile.s289x.inc
diff --git a/src/mainboard/tyan/s2875/Kconfig b/src/mainboard/tyan/s2875/Kconfig
new file mode 100644
index 0000000..57e3bab
--- /dev/null
+++ b/src/mainboard/tyan/s2875/Kconfig
@@ -0,0 +1,71 @@
+config BOARD_TYAN_S2875
+	bool "Tyan S2875"
+	select ARCH_X86
+	select CPU_AMD_K8
+	select CPU_AMD_SOCKET_940
+	select NORTHBRIDGE_AMD_AMDK8
+	select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
+	select SOUTHBRIDGE_AMD_AMD8151
+	select SOUTHBRIDGE_AMD_AMD8111
+	select SUPERIO_WINBOND_W83627HF
+	select PIRQ_TABLE
+
+config MAINBOARD_DIR
+	string
+	default tyan/s2875
+	depends on BOARD_TYAN_S2875
+
+config LB_CKS_RANGE_END
+	int
+	default 122
+	depends on BOARD_TYAN_S2875
+
+config LB_CKS_LOC
+	int
+        default 123
+	depends on BOARD_TYAN_S2875
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "s2875"
+	depends on BOARD_TYAN_S2875
+
+config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
+	hex
+	default 0x2875
+	depends on BOARD_TYAN_S2875
+
+config HW_MEM_HOLE_SIZEK
+	hex
+	default 0x100000
+	depends on BOARD_TYAN_S2875
+
+config HAVE_FAILOVER_BOOT
+	bool
+	default n
+	depends on BOARD_TYAN_S2875
+
+config USE_FAILOVER_IMAGE
+	bool
+	default n
+	depends on BOARD_TYAN_S2875
+
+config MAX_CPUS
+	int
+	default 4
+	depends on BOARD_TYAN_S2875
+
+config MAX_PHYSICAL_CPUS
+	int
+	default 2
+	depends on BOARD_TYAN_S2875
+
+config HW_MEM_HOLE_SIZE_AUTO_INC
+	bool
+	default n
+	depends on BOARD_TYAN_S2875
+
+config USE_INIT
+	bool
+	default n
+	depends on BOARD_TYAN_S2875
diff --git a/src/mainboard/tyan/s2875/Makefile.inc b/src/mainboard/tyan/s2875/Makefile.inc
new file mode 100644
index 0000000..88582f5
--- /dev/null
+++ b/src/mainboard/tyan/s2875/Makefile.inc
@@ -0,0 +1 @@
+include $(src)/mainboard/tyan/Makefile.s289x.inc
diff --git a/src/mainboard/via/Kconfig b/src/mainboard/via/Kconfig
index 787b32b..8f2d0db 100644
--- a/src/mainboard/via/Kconfig
+++ b/src/mainboard/via/Kconfig
@@ -2,8 +2,13 @@
 	prompt "Mainboard model"
 	depends on VENDOR_VIA
 
-source "src/mainboard/via/vt8454c/Kconfig"
+source "src/mainboard/via/epia/Kconfig"
+source "src/mainboard/via/epia-cn/Kconfig"
+source "src/mainboard/via/epia-m/Kconfig"
+source "src/mainboard/via/epia-m700/Kconfig"
 source "src/mainboard/via/epia-n/Kconfig"
+source "src/mainboard/via/pc2500e/Kconfig"
+source "src/mainboard/via/vt8454c/Kconfig"
 
 endchoice
 
diff --git a/src/mainboard/via/epia-cn/Kconfig b/src/mainboard/via/epia-cn/Kconfig
new file mode 100644
index 0000000..6d57e15
--- /dev/null
+++ b/src/mainboard/via/epia-cn/Kconfig
@@ -0,0 +1,45 @@
+config BOARD_VIA_EPIA_CN
+	bool "EPIA-CN"
+	select ARCH_X86
+	select CPU_VIA_C7
+	select NORTHBRIDGE_VIA_CN700
+	select SOUTHBRIDGE_VIA_VT8237R
+	select SUPERIO_VIA_VT1211
+	select HAVE_PIRQ_TABLE
+	help
+	  VIA EPIA-CN mainboard.
+
+config MAINBOARD_DIR
+	string
+	default via/epia-cn
+	depends on BOARD_VIA_EPIA_CN
+
+#config DCACHE_RAM_BASE
+#	hex
+#	default 0xffef0000
+#	depends on BOARD_VIA_EPIA_CN
+#
+#config DCACHE_RAM_SIZE
+#	hex
+#	default 0x8000
+#	depends on BOARD_VIA_EPIA_CN
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "EPIA_CN"
+	depends on BOARD_VIA_EPIA_CN
+
+config VIDEO_MB
+	int
+	default 32
+	depends on BOARD_VIA_EPIA_CN
+
+config RAMBASE
+	hex
+	default 0x4000
+	depends on BOARD_VIA_EPIA_CN
+
+config IRQ_SLOT_COUNT
+	int
+	default 9
+	depends on BOARD_VIA_EPIA_CN
diff --git a/src/mainboard/via/epia-cn/Makefile.inc b/src/mainboard/via/epia-cn/Makefile.inc
new file mode 100644
index 0000000..a6c8073
--- /dev/null
+++ b/src/mainboard/via/epia-cn/Makefile.inc
@@ -0,0 +1,63 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008 VIA Technologies, Inc.
+## (Written by Aaron Lwe <aaron.lwe@gmail.com> for VIA)
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+initobj-y += crt0.o
+obj-y += mainboard.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+obj-$(CONFIG_HAVE_MP_TABLE) += mptable.o
+
+obj-$(CONFIG_HAVE_ACPI_TABLES) += fadt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += dsdt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += acpi_tables.o
+
+ldscript-y += ../../../../src/arch/i386/init/ldscript_fallback_cbfs.lb
+ldscript-y += ../../../../src/cpu/x86/16bit/entry16.lds
+ldscript-y += ../../../../src/cpu/x86/16bit/reset16.lds
+ldscript-y += ../../../../src/arch/i386/lib/id.lds
+ldscript-y += ../../../../src/arch/i386/lib/failover.lds
+
+crt0-y += ../../../../src/cpu/x86/16bit/entry16.inc
+crt0-y += ../../../../src/cpu/x86/32bit/entry32.inc
+crt0-y += ../../../../src/cpu/x86/16bit/reset16.inc
+crt0-y += ../../../../src/arch/i386/lib/id.inc
+crt0-y += ../../../../src/cpu/x86/fpu/enable_fpu.inc
+crt0-y += ../../../../src/cpu/x86/mmx/enable_mmx.inc
+crt0-y += auto.inc
+crt0-y += ../../../../src/cpu/x86/mmx/disable_mmx.inc
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/auto.c $(obj)/option_table.h
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S  $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
+	perl -e 's/\.rodata/.rom.data/g' -pi $@
+	perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+
diff --git a/src/mainboard/via/epia-m/Kconfig b/src/mainboard/via/epia-m/Kconfig
new file mode 100644
index 0000000..865b829
--- /dev/null
+++ b/src/mainboard/via/epia-m/Kconfig
@@ -0,0 +1,41 @@
+config BOARD_VIA_EPIA_M
+	bool "EPIA-M"
+	select ARCH_X86
+	select CPU_VIA_C3
+	select NORTHBRIDGE_VIA_VT8623
+	select SOUTHBRIDGE_VIA_VT8235
+	select SOUTHBRIDGE_RICOH_RL5C476
+	select SUPERIO_VIA_VT1211
+	select HAVE_PIRQ_TABLE
+	help
+	  VIA EPIA-M mainboard.
+
+config MAINBOARD_DIR
+	string
+	default via/epia-m
+	depends on BOARD_VIA_EPIA_M
+
+#config DCACHE_RAM_BASE
+#	hex
+#	default 0xffef0000
+#	depends on BOARD_VIA_EPIA_M
+
+#config DCACHE_RAM_SIZE
+#	hex
+#	default 0x8000
+#	depends on BOARD_VIA_EPIA_M
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "EPIA_M"
+	depends on BOARD_VIA_EPIA_M
+
+config RAMBASE
+	hex
+	default 0x4000
+	depends on BOARD_VIA_EPIA_M
+
+config IRQ_SLOT_COUNT
+	int
+	default 5
+	depends on BOARD_VIA_EPIA_M
diff --git a/src/mainboard/via/epia-m/Makefile.inc b/src/mainboard/via/epia-m/Makefile.inc
new file mode 100644
index 0000000..08d9f07
--- /dev/null
+++ b/src/mainboard/via/epia-m/Makefile.inc
@@ -0,0 +1,65 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008 VIA Technologies, Inc.
+## (Written by Aaron Lwe <aaron.lwe@gmail.com> for VIA)
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+initobj-y += crt0.o
+obj-y += mainboard.o
+obj-y += vgabios.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+
+obj-$(CONFIG_HAVE_ACPI_TABLES) += fadt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += dsdt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += acpi_tables.o
+
+ldscript-y += ../../../../src/arch/i386/init/ldscript_fallback_cbfs.lb
+ldscript-y += ../../../../src/cpu/x86/16bit/entry16.lds
+ldscript-y += ../../../../src/northbridge/via/vx800/romstrap.lds
+ldscript-y += ../../../../src/cpu/x86/16bit/reset16.lds
+ldscript-y += ../../../../src/arch/i386/lib/id.lds
+ldscript-y += ../../../../src/arch/i386/lib/failover.lds
+
+crt0-y += ../../../../src/cpu/x86/16bit/entry16.inc
+crt0-y += ../../../../src/cpu/x86/32bit/entry32.inc
+crt0-y += ../../../../src/cpu/x86/16bit/reset16.inc
+crt0-y += ../../../../src/northbridge/via/vx800/romstrap.inc
+crt0-y += ../../../../src/arch/i386/lib/id.inc
+crt0-y += ../../../../src/cpu/x86/fpu/enable_fpu.inc
+crt0-y += ../../../../src/cpu/x86/mmx/enable_mmx.inc
+crt0-y += auto.inc
+crt0-y += ../../../../src/cpu/x86/mmx/disable_mmx.inc
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/auto.c $(obj)/option_table.h
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S  $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
+	perl -e 's/\.rodata/.rom.data/g' -pi $@
+	perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+
diff --git a/src/mainboard/via/epia-m/auto.c b/src/mainboard/via/epia-m/auto.c
index 8fdfce3..5a93aa7 100644
--- a/src/mainboard/via/epia-m/auto.c
+++ b/src/mainboard/via/epia-m/auto.c
@@ -20,7 +20,7 @@
 
 /*
  */
-void udelay(int usecs) 
+void udelay(unsigned usecs) 
 {
 	int i;
 	for(i = 0; i < usecs; i++)
diff --git a/src/mainboard/via/epia-m700/Kconfig b/src/mainboard/via/epia-m700/Kconfig
new file mode 100644
index 0000000..7191d9c
--- /dev/null
+++ b/src/mainboard/via/epia-m700/Kconfig
@@ -0,0 +1,44 @@
+config BOARD_VIA_EPIA_M700
+	bool "EPIA-M700"
+	select ARCH_X86
+	select CPU_VIA_C7
+	select NORTHBRIDGE_VIA_VX800
+	select SUPERIO_WINBOND_W83697HF
+	select HAVE_PIRQ_TABLE
+	help
+	  VIA EPIA-M700 mainboard.
+
+config MAINBOARD_DIR
+	string
+	default via/epia-m700
+	depends on BOARD_VIA_EPIA_M700
+
+config DCACHE_RAM_BASE
+	hex
+	default 0xffef0000
+	depends on BOARD_VIA_EPIA_M700
+
+config DCACHE_RAM_SIZE
+	hex
+	default 0x8000
+	depends on BOARD_VIA_EPIA_M700
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "EPIA_M700"
+	depends on BOARD_VIA_EPIA_M700
+
+config VIDEO_MB
+	int
+	default 64
+	depends on BOARD_VIA_EPIA_M700
+
+config RAMBASE
+	hex
+	default 0x4000
+	depends on BOARD_VIA_EPIA_M700
+
+config IRQ_SLOT_COUNT
+	int
+	default 13
+	depends on BOARD_VIA_EPIA_M700
diff --git a/src/mainboard/via/epia-m700/Makefile.inc b/src/mainboard/via/epia-m700/Makefile.inc
new file mode 100644
index 0000000..2b43fcd
--- /dev/null
+++ b/src/mainboard/via/epia-m700/Makefile.inc
@@ -0,0 +1,64 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008 VIA Technologies, Inc.
+## (Written by Aaron Lwe <aaron.lwe@gmail.com> for VIA)
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+initobj-y += crt0.o
+obj-y += mainboard.o
+obj-y += wakeup.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+obj-$(CONFIG_HAVE_MP_TABLE) += mptable.o
+
+obj-$(CONFIG_HAVE_ACPI_TABLES) += fadt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += dsdt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += acpi_tables.o
+
+ldscript-y += ../../../../src/arch/i386/init/ldscript_fallback_cbfs.lb
+ldscript-y += ../../../../src/cpu/x86/16bit/entry16.lds
+ldscript-y += ../../../../src/northbridge/via/vx800/romstrap.lds
+ldscript-y += ../../../../src/cpu/x86/16bit/reset16.lds
+ldscript-y += ../../../../src/arch/i386/lib/id.lds
+ldscript-y += ../../../../src/arch/i386/lib/failover.lds
+
+crt0-y += ../../../../src/cpu/x86/16bit/entry16.inc
+crt0-y += ../../../../src/cpu/x86/32bit/entry32.inc
+crt0-y += ../../../../src/cpu/x86/16bit/reset16.inc
+crt0-y += ../../../../src/northbridge/via/vx800/romstrap.inc
+crt0-y += ../../../../src/arch/i386/lib/id.inc
+crt0-y += ../../../../src/cpu/via/car/cache_as_ram.inc
+crt0-y += cache_as_ram_auto.inc
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/option_table.h
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S  $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@
+	perl -e 's/\.rodata/.rom.data/g' -pi $@
+	perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+
diff --git a/src/mainboard/via/epia-n/Kconfig b/src/mainboard/via/epia-n/Kconfig
index d3e4d2f..17d101f 100644
--- a/src/mainboard/via/epia-n/Kconfig
+++ b/src/mainboard/via/epia-n/Kconfig
@@ -6,7 +6,6 @@
 	select SOUTHBRIDGE_VIA_VT8237R
 	select SUPERIO_WINBOND_W83697HF
 	select HAVE_PIRQ_TABLE
-	select USE_PRINTK_IN_CAR
 	help
 	  VIA EPIA-N mainboard.
 
diff --git a/src/mainboard/via/epia-n/Makefile.inc b/src/mainboard/via/epia-n/Makefile.inc
index a100d9a..f5429fa 100644
--- a/src/mainboard/via/epia-n/Makefile.inc
+++ b/src/mainboard/via/epia-n/Makefile.inc
@@ -44,9 +44,7 @@
 
 ifdef POST_EVALUATION
 
-MAINBOARD_OPTIONS=\
-	-DCONFIG_USE_PRINTK_IN_CAR=1 \
-	-DCONFIG_HAVE_HIGH_TABLES=1
+MAINBOARD_OPTIONS=
 
 $(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
 	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
diff --git a/src/mainboard/via/epia/Kconfig b/src/mainboard/via/epia/Kconfig
new file mode 100644
index 0000000..2e7468e
--- /dev/null
+++ b/src/mainboard/via/epia/Kconfig
@@ -0,0 +1,35 @@
+config BOARD_VIA_EPIA
+	bool "EPIA"
+	select ARCH_X86
+	select CPU_VIA_C3
+	select NORTHBRIDGE_VIA_VT8601
+	select SOUTHBRIDGE_VIA_VT8231
+	select SUPERIO_WINBOND_W83627HF
+	select HAVE_PIRQ_TABLE
+	help
+	  VIA EPIA mainboard.
+
+config MAINBOARD_DIR
+	string
+	default via/epia
+	depends on BOARD_VIA_EPIA
+
+#config DCACHE_RAM_BASE
+#	hex
+#	default 0xffef0000
+#	depends on BOARD_VIA_EPIA
+#
+#config DCACHE_RAM_SIZE
+#	hex
+#	default 0x8000
+#	depends on BOARD_VIA_EPIA
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "EPIA"
+	depends on BOARD_VIA_EPIA
+
+config RAMBASE
+	hex
+	default 0x4000
+	depends on BOARD_VIA_EPIA
diff --git a/src/mainboard/via/epia/Makefile.inc b/src/mainboard/via/epia/Makefile.inc
new file mode 100644
index 0000000..6acb251
--- /dev/null
+++ b/src/mainboard/via/epia/Makefile.inc
@@ -0,0 +1,58 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008 VIA Technologies, Inc.
+## (Written by Aaron Lwe <aaron.lwe@gmail.com> for VIA)
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+initobj-y += crt0.o
+obj-y += mainboard.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+
+ldscript-y += ../../../../src/arch/i386/init/ldscript_fallback_cbfs.lb
+ldscript-y += ../../../../src/cpu/x86/16bit/entry16.lds
+ldscript-y += ../../../../src/cpu/x86/16bit/reset16.lds
+ldscript-y += ../../../../src/arch/i386/lib/id.lds
+ldscript-y += ../../../../src/arch/i386/lib/failover.lds
+
+crt0-y += ../../../../src/cpu/x86/16bit/entry16.inc
+crt0-y += ../../../../src/cpu/x86/32bit/entry32.inc
+crt0-y += ../../../../src/cpu/x86/16bit/reset16.inc
+crt0-y += ../../../../src/arch/i386/lib/id.inc
+crt0-y += ../../../../src/cpu/x86/fpu/enable_fpu.inc
+crt0-y += ../../../../src/cpu/x86/mmx/enable_mmx.inc
+crt0-y += auto.inc
+crt0-y += ../../../../src/cpu/x86/mmx/disable_mmx.inc
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/auto.c $(obj)/option_table.h
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S  $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
+	perl -e 's/\.rodata/.rom.data/g' -pi $@
+	perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+
diff --git a/src/mainboard/via/epia/auto.c b/src/mainboard/via/epia/auto.c
index d10fec9..e490402 100644
--- a/src/mainboard/via/epia/auto.c
+++ b/src/mainboard/via/epia/auto.c
@@ -16,7 +16,7 @@
 
 /*
  */
-void udelay(int usecs) 
+void udelay(unsigned usecs) 
 {
 	int i;
 	for (i = 0; i < usecs; i++)
diff --git a/src/mainboard/via/pc2500e/Kconfig b/src/mainboard/via/pc2500e/Kconfig
new file mode 100644
index 0000000..be33783
--- /dev/null
+++ b/src/mainboard/via/pc2500e/Kconfig
@@ -0,0 +1,45 @@
+config BOARD_VIA_PC2500E
+	bool "PC2500E"
+	select ARCH_X86
+	select CPU_VIA_C7
+	select NORTHBRIDGE_VIA_CN700
+	select SOUTHBRIDGE_VIA_VT8237R
+	select SUPERIO_ITE_IT8716F
+	select HAVE_PIRQ_TABLE
+	help
+	  VIA PC2500E mainboard.
+
+config MAINBOARD_DIR
+	string
+	default via/pc2500e
+	depends on BOARD_VIA_PC2500E
+
+#config DCACHE_RAM_BASE
+#	hex
+#	default 0xffef0000
+#	depends on BOARD_VIA_PC2500E
+#
+#config DCACHE_RAM_SIZE
+#	hex
+#	default 0x8000
+#	depends on BOARD_VIA_PC2500E
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "PC2500E"
+	depends on BOARD_VIA_PC2500E
+
+config VIDEO_MB
+	int
+	default 32
+	depends on BOARD_VIA_PC2500E
+
+config RAMBASE
+	hex
+	default 0x4000
+	depends on BOARD_VIA_PC2500E
+
+config IRQ_SLOT_COUNT
+	int
+	default 10
+	depends on BOARD_VIA_PC2500E
diff --git a/src/mainboard/via/pc2500e/Makefile.inc b/src/mainboard/via/pc2500e/Makefile.inc
new file mode 100644
index 0000000..a6c8073
--- /dev/null
+++ b/src/mainboard/via/pc2500e/Makefile.inc
@@ -0,0 +1,63 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008 VIA Technologies, Inc.
+## (Written by Aaron Lwe <aaron.lwe@gmail.com> for VIA)
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+initobj-y += crt0.o
+obj-y += mainboard.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+obj-$(CONFIG_HAVE_MP_TABLE) += mptable.o
+
+obj-$(CONFIG_HAVE_ACPI_TABLES) += fadt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += dsdt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += acpi_tables.o
+
+ldscript-y += ../../../../src/arch/i386/init/ldscript_fallback_cbfs.lb
+ldscript-y += ../../../../src/cpu/x86/16bit/entry16.lds
+ldscript-y += ../../../../src/cpu/x86/16bit/reset16.lds
+ldscript-y += ../../../../src/arch/i386/lib/id.lds
+ldscript-y += ../../../../src/arch/i386/lib/failover.lds
+
+crt0-y += ../../../../src/cpu/x86/16bit/entry16.inc
+crt0-y += ../../../../src/cpu/x86/32bit/entry32.inc
+crt0-y += ../../../../src/cpu/x86/16bit/reset16.inc
+crt0-y += ../../../../src/arch/i386/lib/id.inc
+crt0-y += ../../../../src/cpu/x86/fpu/enable_fpu.inc
+crt0-y += ../../../../src/cpu/x86/mmx/enable_mmx.inc
+crt0-y += auto.inc
+crt0-y += ../../../../src/cpu/x86/mmx/disable_mmx.inc
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+	mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/auto.c $(obj)/option_table.h
+	$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S  $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
+	perl -e 's/\.rodata/.rom.data/g' -pi $@
+	perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+
diff --git a/src/northbridge/amd/Kconfig b/src/northbridge/amd/Kconfig
index b86d240..8808b97 100644
--- a/src/northbridge/amd/Kconfig
+++ b/src/northbridge/amd/Kconfig
@@ -1,8 +1,5 @@
 source src/northbridge/amd/amdk8/Kconfig
 source src/northbridge/amd/gx2/Kconfig
-
-#source src/northbridge/amd/amdfam10/Kconfig
-#source src/northbridge/amd/amdht/Kconfig
-#source src/northbridge/amd/amdmct/Kconfig
+source src/northbridge/amd/amdfam10/Kconfig
 #source src/northbridge/amd/gx1/Kconfig
 #source src/northbridge/amd/lx/Kconfig
diff --git a/src/northbridge/amd/Makefile.inc b/src/northbridge/amd/Makefile.inc
index 88ee1e6..10d22c1 100644
--- a/src/northbridge/amd/Makefile.inc
+++ b/src/northbridge/amd/Makefile.inc
@@ -1,7 +1,5 @@
 subdirs-$(CONFIG_NORTHBRIDGE_AMD_AMDFAM10) += amdfam10
-subdirs-$(CONFIG_NORTHBRIDGE_AMD_AMDHT) += amdht
 subdirs-$(CONFIG_NORTHBRIDGE_AMD_AMDK8) += amdk8
-subdirs-$(CONFIG_NORTHBRIDGE_AMD_AMDMCT) += amdmct
 subdirs-$(CONFIG_NORTHBRIDGE_AMD_GX1) += gx1
 subdirs-$(CONFIG_NORTHBRIDGE_AMD_GX2) += gx2
 subdirs-$(CONFIG_NORTHBRIDGE_AMD_LX) += lx
diff --git a/src/northbridge/amd/amdfam10/Kconfig b/src/northbridge/amd/amdfam10/Kconfig
new file mode 100644
index 0000000..e3b55fc
--- /dev/null
+++ b/src/northbridge/amd/amdfam10/Kconfig
@@ -0,0 +1,34 @@
+#
+# This file is part of the coreboot project.
+#
+# Copyright (C) 2007-2009 coresystems GmbH
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+#
+
+config NORTHBRIDGE_AMD_AMDFAM10
+	bool
+	default n
+
+config AGP_APERTURE_SIZE
+	hex
+	default 0x4000000
+	depends on NORTHBRIDGE_AMD_AMDFAM10
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_AMD_AMDFAM10
+
+source src/northbridge/amd/amdfam10/root_complex/Kconfig
diff --git a/src/northbridge/amd/amdfam10/Makefile.inc b/src/northbridge/amd/amdfam10/Makefile.inc
new file mode 100644
index 0000000..79ed767
--- /dev/null
+++ b/src/northbridge/amd/amdfam10/Makefile.inc
@@ -0,0 +1,12 @@
+driver-y += northbridge.o
+driver-y += misc_control.o
+
+obj-$(CONFIG_HAVE_ACPI_TABLES) += amdfam10_acpi.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += ssdt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += sspr1.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += sspr2.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += sspr3.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += sspr4.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += sspr5.o
+
+obj-y += get_pci1234.o
diff --git a/src/northbridge/amd/amdfam10/root_complex/Kconfig b/src/northbridge/amd/amdfam10/root_complex/Kconfig
new file mode 100644
index 0000000..3705151
--- /dev/null
+++ b/src/northbridge/amd/amdfam10/root_complex/Kconfig
@@ -0,0 +1,4 @@
+config NORTHBRIDGE_AMD_AMDFAM10_ROOT_COMPLEX
+	bool
+	default n
+
diff --git a/src/northbridge/amd/amdk8/Kconfig b/src/northbridge/amd/amdk8/Kconfig
index 59dbf8e..bbc4c65 100644
--- a/src/northbridge/amd/amdk8/Kconfig
+++ b/src/northbridge/amd/amdk8/Kconfig
@@ -24,10 +24,12 @@
 config AGP_APERTURE_SIZE
 	hex
 	default 0x4000000
+	depends on NORTHBRIDGE_AMD_AMDK8
 
 config HAVE_HIGH_TABLES
 	bool
 	default y
+	depends on NORTHBRIDGE_AMD_AMDK8
 
 config HYPERTRANSPORT_PLUGIN_SUPPORT
 	bool
diff --git a/src/northbridge/intel/Kconfig b/src/northbridge/intel/Kconfig
index dd65705..eae68f1 100644
--- a/src/northbridge/intel/Kconfig
+++ b/src/northbridge/intel/Kconfig
@@ -1,10 +1,10 @@
-#source src/northbridge/intel/e7501/Kconfig
-#source src/northbridge/intel/e7520/Kconfig
-#source src/northbridge/intel/e7525/Kconfig
-#source src/northbridge/intel/i3100/Kconfig
+source src/northbridge/intel/e7501/Kconfig
+source src/northbridge/intel/e7520/Kconfig
+source src/northbridge/intel/e7525/Kconfig
+source src/northbridge/intel/i3100/Kconfig
 source src/northbridge/intel/i440bx/Kconfig
 source src/northbridge/intel/i82810/Kconfig
-#source src/northbridge/intel/i82830/Kconfig
-#source src/northbridge/intel/i855gme/Kconfig
-#source src/northbridge/intel/i855pm/Kconfig
+source src/northbridge/intel/i82830/Kconfig
+source src/northbridge/intel/i855gme/Kconfig
+source src/northbridge/intel/i855pm/Kconfig
 source src/northbridge/intel/i945/Kconfig
diff --git a/src/northbridge/intel/Makefile.inc b/src/northbridge/intel/Makefile.inc
index bdbcacd..d89a28f 100644
--- a/src/northbridge/intel/Makefile.inc
+++ b/src/northbridge/intel/Makefile.inc
@@ -1,10 +1,10 @@
-#subdirs-y += e7501
-#subdirs-y += e7520
-#subdirs-y += e7525
-#subdirs-y += i3100
-subdirs-y += i440bx
-subdirs-y += i82810
-#subdirs-y += i82830
-#subdirs-y += i855gme
-#subdirs-y += i855pm
-subdirs-y += i945
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_E7501) += e7501
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_E7520) += e7520
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_E7525) += e7525
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_I3100) += i3100
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_I440BX) += i440bx
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_I82810) += i82810
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_I82830) += i82830
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_I855GME) += i855gme
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_I855PM) += i855pm
+subdirs-$(CONFIG_NORTHBRIDGE_INTEL_I945) += i945
diff --git a/src/northbridge/intel/e7501/Kconfig b/src/northbridge/intel/e7501/Kconfig
new file mode 100644
index 0000000..a888320
--- /dev/null
+++ b/src/northbridge/intel/e7501/Kconfig
@@ -0,0 +1,8 @@
+config NORTHBRIDGE_INTEL_E7501
+	bool
+	default n
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_INTEL_E7501
diff --git a/src/northbridge/intel/e7501/Makefile.inc b/src/northbridge/intel/e7501/Makefile.inc
new file mode 100644
index 0000000..ea44b26
--- /dev/null
+++ b/src/northbridge/intel/e7501/Makefile.inc
@@ -0,0 +1 @@
+obj-y += northbridge.o
diff --git a/src/northbridge/intel/e7520/Kconfig b/src/northbridge/intel/e7520/Kconfig
new file mode 100644
index 0000000..577c6dc
--- /dev/null
+++ b/src/northbridge/intel/e7520/Kconfig
@@ -0,0 +1,8 @@
+config NORTHBRIDGE_INTEL_E7520
+	bool
+	default n
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_INTEL_E7520
diff --git a/src/northbridge/intel/e7520/Makefile.inc b/src/northbridge/intel/e7520/Makefile.inc
new file mode 100644
index 0000000..a23c31d
--- /dev/null
+++ b/src/northbridge/intel/e7520/Makefile.inc
@@ -0,0 +1,5 @@
+driver-y += northbridge.o
+driver-y += pciexp_porta.o
+driver-y += pciexp_porta1.o
+driver-y += pciexp_portb.o
+driver-y += pciexp_portc.o
diff --git a/src/northbridge/intel/e7525/Kconfig b/src/northbridge/intel/e7525/Kconfig
new file mode 100644
index 0000000..07d7b69
--- /dev/null
+++ b/src/northbridge/intel/e7525/Kconfig
@@ -0,0 +1,8 @@
+config NORTHBRIDGE_INTEL_E7525
+	bool
+	default n
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_INTEL_E7525
diff --git a/src/northbridge/intel/e7525/Makefile.inc b/src/northbridge/intel/e7525/Makefile.inc
new file mode 100644
index 0000000..a23c31d
--- /dev/null
+++ b/src/northbridge/intel/e7525/Makefile.inc
@@ -0,0 +1,5 @@
+driver-y += northbridge.o
+driver-y += pciexp_porta.o
+driver-y += pciexp_porta1.o
+driver-y += pciexp_portb.o
+driver-y += pciexp_portc.o
diff --git a/src/northbridge/intel/i3100/Kconfig b/src/northbridge/intel/i3100/Kconfig
new file mode 100644
index 0000000..1a1a959
--- /dev/null
+++ b/src/northbridge/intel/i3100/Kconfig
@@ -0,0 +1,8 @@
+config NORTHBRIDGE_INTEL_I3100
+	bool
+	default n
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_INTEL_I3100
diff --git a/src/northbridge/intel/i3100/Makefile.inc b/src/northbridge/intel/i3100/Makefile.inc
new file mode 100644
index 0000000..c776b05
--- /dev/null
+++ b/src/northbridge/intel/i3100/Makefile.inc
@@ -0,0 +1,3 @@
+driver-y += northbridge.o
+driver-y += pciexp_porta.o
+driver-y += pciexp_porta_ep80579.o
diff --git a/src/northbridge/intel/i440bx/Kconfig b/src/northbridge/intel/i440bx/Kconfig
index ebc9617..fe71247 100644
--- a/src/northbridge/intel/i440bx/Kconfig
+++ b/src/northbridge/intel/i440bx/Kconfig
@@ -22,3 +22,7 @@
 	bool
 	default n
 
+config HAVE_HIGH_TABLES
+	bool
+	default y
+
diff --git a/src/northbridge/intel/i440bx/Makefile.inc b/src/northbridge/intel/i440bx/Makefile.inc
index 2b2ff5f..c6b4809 100644
--- a/src/northbridge/intel/i440bx/Makefile.inc
+++ b/src/northbridge/intel/i440bx/Makefile.inc
@@ -18,5 +18,5 @@
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
 
-driver-$(CONFIG_NORTHBRIDGE_INTEL_I440BX) += northbridge.o
+driver-y += northbridge.o
 
diff --git a/src/northbridge/intel/i82810/Kconfig b/src/northbridge/intel/i82810/Kconfig
index c1c4a93..42cd4e2 100644
--- a/src/northbridge/intel/i82810/Kconfig
+++ b/src/northbridge/intel/i82810/Kconfig
@@ -21,3 +21,9 @@
 config NORTHBRIDGE_INTEL_I82810
 	bool
 	default n
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_INTEL_I82810
+
diff --git a/src/northbridge/intel/i82810/Makefile.inc b/src/northbridge/intel/i82810/Makefile.inc
index 6c8ffe9..c6b4809 100644
--- a/src/northbridge/intel/i82810/Makefile.inc
+++ b/src/northbridge/intel/i82810/Makefile.inc
@@ -18,5 +18,5 @@
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
 
-driver-$(CONFIG_NORTHBRIDGE_INTEL_I82810) += northbridge.o
+driver-y += northbridge.o
 
diff --git a/src/northbridge/intel/i82830/Kconfig b/src/northbridge/intel/i82830/Kconfig
new file mode 100644
index 0000000..9dc7678
--- /dev/null
+++ b/src/northbridge/intel/i82830/Kconfig
@@ -0,0 +1,8 @@
+config NORTHBRIDGE_INTEL_I82830
+	bool
+	default n
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_INTEL_I82830
diff --git a/src/northbridge/intel/i82830/Makefile.inc b/src/northbridge/intel/i82830/Makefile.inc
new file mode 100644
index 0000000..3ebb8a5
--- /dev/null
+++ b/src/northbridge/intel/i82830/Makefile.inc
@@ -0,0 +1,2 @@
+driver-y += northbridge.o
+driver-y += vga.o
diff --git a/src/northbridge/intel/i855gme/Kconfig b/src/northbridge/intel/i855gme/Kconfig
new file mode 100644
index 0000000..554cbf5
--- /dev/null
+++ b/src/northbridge/intel/i855gme/Kconfig
@@ -0,0 +1,8 @@
+config NORTHBRIDGE_INTEL_I855GME
+	bool
+	default n
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_INTEL_I855GME
diff --git a/src/northbridge/intel/i855gme/Makefile.inc b/src/northbridge/intel/i855gme/Makefile.inc
new file mode 100644
index 0000000..ea44b26
--- /dev/null
+++ b/src/northbridge/intel/i855gme/Makefile.inc
@@ -0,0 +1 @@
+obj-y += northbridge.o
diff --git a/src/northbridge/intel/i855pm/Kconfig b/src/northbridge/intel/i855pm/Kconfig
new file mode 100644
index 0000000..4ce9be7
--- /dev/null
+++ b/src/northbridge/intel/i855pm/Kconfig
@@ -0,0 +1,8 @@
+config NORTHBRIDGE_INTEL_I855PM
+	bool
+	default n
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_INTEL_I855PM
diff --git a/src/northbridge/intel/i855pm/Makefile.inc b/src/northbridge/intel/i855pm/Makefile.inc
new file mode 100644
index 0000000..ea44b26
--- /dev/null
+++ b/src/northbridge/intel/i855pm/Makefile.inc
@@ -0,0 +1 @@
+obj-y += northbridge.o
diff --git a/src/northbridge/intel/i945/Kconfig b/src/northbridge/intel/i945/Kconfig
index 468602d..b569f27 100644
--- a/src/northbridge/intel/i945/Kconfig
+++ b/src/northbridge/intel/i945/Kconfig
@@ -20,3 +20,9 @@
 config NORTHBRIDGE_INTEL_I945
 	bool
 	default n
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_INTEL_I945
+
diff --git a/src/northbridge/intel/i945/Makefile.inc b/src/northbridge/intel/i945/Makefile.inc
index 290ea0c..0b3888c 100644
--- a/src/northbridge/intel/i945/Makefile.inc
+++ b/src/northbridge/intel/i945/Makefile.inc
@@ -17,8 +17,6 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 #
 
-driver-$(CONFIG_NORTHBRIDGE_INTEL_I945) += northbridge.o
-driver-$(CONFIG_NORTHBRIDGE_INTEL_I945) += gma.o
-ifeq ($(CONFIG_HAVE_ACPI_TABLES),y)
-	obj-$(CONFIG_NORTHBRIDGE_INTEL_I945) += acpi.o
-endif
+driver-y += northbridge.o
+driver-y += gma.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += acpi.o
diff --git a/src/northbridge/via/Kconfig b/src/northbridge/via/Kconfig
index 5c62bde..2c38acf 100644
--- a/src/northbridge/via/Kconfig
+++ b/src/northbridge/via/Kconfig
@@ -1,6 +1,6 @@
-#source src/northbridge/via/cn700/Kconfig
+source src/northbridge/via/cn700/Kconfig
 source src/northbridge/via/cx700/Kconfig
 source src/northbridge/via/cn400/Kconfig
-#source src/northbridge/via/vt8601/Kconfig
-#source src/northbridge/via/vt8623/Kconfig
-#source src/northbridge/via/vx800/Kconfig
+source src/northbridge/via/vt8601/Kconfig
+source src/northbridge/via/vt8623/Kconfig
+source src/northbridge/via/vx800/Kconfig
diff --git a/src/northbridge/via/Makefile.inc b/src/northbridge/via/Makefile.inc
index 95ac7ec..75cb15b 100644
--- a/src/northbridge/via/Makefile.inc
+++ b/src/northbridge/via/Makefile.inc
@@ -1,7 +1,7 @@
-#subdirs-y += vt8601
-#subdirs-y += vt8623
-#subdirs-y += cn700
+subdirs-$(CONFIG_NORTHBRIDGE_VIA_VT8601) += vt8601
+subdirs-$(CONFIG_NORTHBRIDGE_VIA_VT8623) += vt8623
+subdirs-$(CONFIG_NORTHBRIDGE_VIA_CN700) += cn700
 subdirs-$(CONFIG_NORTHBRIDGE_VIA_CX700) += cx700
 subdirs-$(CONFIG_NORTHBRIDGE_VIA_CN400) += cn400
-#subdirs-y += vx800
+subdirs-$(CONFIG_NORTHBRIDGE_VIA_VX800) += vx800
 
diff --git a/src/northbridge/via/cn700/Kconfig b/src/northbridge/via/cn700/Kconfig
new file mode 100644
index 0000000..5395416
--- /dev/null
+++ b/src/northbridge/via/cn700/Kconfig
@@ -0,0 +1,13 @@
+config NORTHBRIDGE_VIA_CN700
+	bool
+	default n
+
+config FALLBACK_SIZE
+	int
+	default 0
+	depends on NORTHBRIDGE_VIA_CN700
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_VIA_CN700
diff --git a/src/northbridge/via/cn700/Makefile.inc b/src/northbridge/via/cn700/Makefile.inc
new file mode 100644
index 0000000..b63847d
--- /dev/null
+++ b/src/northbridge/via/cn700/Makefile.inc
@@ -0,0 +1,26 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007 Corey Osgood <corey.osgood@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+obj-y += vgabios.o
+
+driver-y += northbridge.o
+driver-y += agp.o
+driver-y += vga.o
+
diff --git a/src/northbridge/via/vt8601/Kconfig b/src/northbridge/via/vt8601/Kconfig
new file mode 100644
index 0000000..5f5a672
--- /dev/null
+++ b/src/northbridge/via/vt8601/Kconfig
@@ -0,0 +1,13 @@
+config NORTHBRIDGE_VIA_VT8601
+	bool
+	default n
+
+config FALLBACK_SIZE
+	int
+	default 0
+	depends on NORTHBRIDGE_VIA_VT8601
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_VIA_VT8601
diff --git a/src/northbridge/via/vt8601/Makefile.inc b/src/northbridge/via/vt8601/Makefile.inc
new file mode 100644
index 0000000..c9dc918
--- /dev/null
+++ b/src/northbridge/via/vt8601/Makefile.inc
@@ -0,0 +1,22 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007 Corey Osgood <corey.osgood@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+driver-y += northbridge.o
+
diff --git a/src/northbridge/via/vt8623/Kconfig b/src/northbridge/via/vt8623/Kconfig
new file mode 100644
index 0000000..3976ed1
--- /dev/null
+++ b/src/northbridge/via/vt8623/Kconfig
@@ -0,0 +1,13 @@
+config NORTHBRIDGE_VIA_VT8623
+	bool
+	default n
+
+config FALLBACK_SIZE
+	int
+	default 0
+	depends on NORTHBRIDGE_VIA_VT8623
+
+config HAVE_HIGH_TABLES
+	bool
+	default y
+	depends on NORTHBRIDGE_VIA_VT8623
diff --git a/src/northbridge/via/vt8623/Makefile.inc b/src/northbridge/via/vt8623/Makefile.inc
new file mode 100644
index 0000000..c9dc918
--- /dev/null
+++ b/src/northbridge/via/vt8623/Makefile.inc
@@ -0,0 +1,22 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007 Corey Osgood <corey.osgood@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+driver-y += northbridge.o
+
diff --git a/src/northbridge/via/vx800/Kconfig b/src/northbridge/via/vx800/Kconfig
new file mode 100644
index 0000000..104387d
--- /dev/null
+++ b/src/northbridge/via/vx800/Kconfig
@@ -0,0 +1,8 @@
+config NORTHBRIDGE_VIA_VX800
+	bool
+	default n
+
+config FALLBACK_SIZE
+	int
+	default 0
+	depends on NORTHBRIDGE_VIA_VX800
diff --git a/src/northbridge/via/vx800/Makefile.inc b/src/northbridge/via/vx800/Makefile.inc
new file mode 100644
index 0000000..12b3ef4
--- /dev/null
+++ b/src/northbridge/via/vx800/Makefile.inc
@@ -0,0 +1,27 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007 Corey Osgood <corey.osgood@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+obj-y += vgabios.o
+
+driver-y += northbridge.o
+driver-y += vga.o
+driver-y += vx800_lpc.o
+driver-y += vx800_ide.o
+
diff --git a/src/southbridge/Kconfig b/src/southbridge/Kconfig
index cce8dcb..c25355a 100644
--- a/src/southbridge/Kconfig
+++ b/src/southbridge/Kconfig
@@ -1,8 +1,8 @@
 source src/southbridge/amd/Kconfig
-#source src/southbridge/broadcom/Kconfig
+source src/southbridge/broadcom/Kconfig
 source src/southbridge/intel/Kconfig
 source src/southbridge/nvidia/Kconfig
-#source src/southbridge/ricoh/Kconfig
-#source src/southbridge/sis/Kconfig
+source src/southbridge/ricoh/Kconfig
+source src/southbridge/sis/Kconfig
 source src/southbridge/via/Kconfig
-#source src/southbridge/winbond/Kconfig
+source src/southbridge/winbond/Kconfig
diff --git a/src/southbridge/Makefile.inc b/src/southbridge/Makefile.inc
index ee6322d..b3312af 100644
--- a/src/southbridge/Makefile.inc
+++ b/src/southbridge/Makefile.inc
@@ -1,8 +1,8 @@
 subdirs-y += amd
-#subdirs-y += broadcom
+subdirs-y += broadcom
 subdirs-y += intel
 subdirs-y += nvidia
-#subdirs-y += ricoh
-#subdirs-y += sis
+subdirs-y += ricoh
+subdirs-y += sis
 subdirs-y += via
-#subdirs-y += winbond
+subdirs-y += winbond
diff --git a/src/southbridge/amd/Kconfig b/src/southbridge/amd/Kconfig
index dc32d21..7b3c457 100644
--- a/src/southbridge/amd/Kconfig
+++ b/src/southbridge/amd/Kconfig
@@ -2,9 +2,9 @@
 source src/southbridge/amd/amd8131/Kconfig
 source src/southbridge/amd/cs5536/Kconfig
 #source src/southbridge/amd/amd8131-disable/Kconfig
-#source src/southbridge/amd/amd8132/Kconfig
-#source src/southbridge/amd/amd8151/Kconfig
-#source src/southbridge/amd/cs5530/Kconfig
-#source src/southbridge/amd/cs5535/Kconfig
+source src/southbridge/amd/amd8132/Kconfig
+source src/southbridge/amd/amd8151/Kconfig
+source src/southbridge/amd/cs5530/Kconfig
+source src/southbridge/amd/cs5535/Kconfig
 source src/southbridge/amd/rs690/Kconfig
 source src/southbridge/amd/sb600/Kconfig
diff --git a/src/southbridge/amd/amd8132/Kconfig b/src/southbridge/amd/amd8132/Kconfig
new file mode 100644
index 0000000..871ca1e
--- /dev/null
+++ b/src/southbridge/amd/amd8132/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_AMD_AMD8132
+	bool
+	default n
diff --git a/src/southbridge/amd/amd8132/Makefile.inc b/src/southbridge/amd/amd8132/Makefile.inc
new file mode 100644
index 0000000..283d687
--- /dev/null
+++ b/src/southbridge/amd/amd8132/Makefile.inc
@@ -0,0 +1 @@
+driver-y += amd8132_bridge.o
diff --git a/src/southbridge/amd/amd8151/Kconfig b/src/southbridge/amd/amd8151/Kconfig
new file mode 100644
index 0000000..5d73cc4
--- /dev/null
+++ b/src/southbridge/amd/amd8151/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_AMD_AMD8151
+	bool
+	default n
diff --git a/src/southbridge/amd/amd8151/Makefile.inc b/src/southbridge/amd/amd8151/Makefile.inc
new file mode 100644
index 0000000..d62ff55
--- /dev/null
+++ b/src/southbridge/amd/amd8151/Makefile.inc
@@ -0,0 +1 @@
+driver-y += amd8151_agp3.o
diff --git a/src/southbridge/amd/cs5530/Kconfig b/src/southbridge/amd/cs5530/Kconfig
new file mode 100644
index 0000000..c972e30
--- /dev/null
+++ b/src/southbridge/amd/cs5530/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_AMD_CS5530
+	bool
+	default n
diff --git a/src/southbridge/amd/cs5530/Makefile.inc b/src/southbridge/amd/cs5530/Makefile.inc
new file mode 100644
index 0000000..fa793f8
--- /dev/null
+++ b/src/southbridge/amd/cs5530/Makefile.inc
@@ -0,0 +1,25 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+driver-y += cs5530.o
+driver-y += cs5530_isa.o
+driver-y += cs5530_ide.o
+driver-y += cs5530_vga.o
+driver-y += cs5530_pirq.o
diff --git a/src/southbridge/amd/cs5535/Kconfig b/src/southbridge/amd/cs5535/Kconfig
new file mode 100644
index 0000000..3970578
--- /dev/null
+++ b/src/southbridge/amd/cs5535/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_AMD_CS5535
+	bool
+	default n
diff --git a/src/southbridge/amd/cs5535/Makefile.inc b/src/southbridge/amd/cs5535/Makefile.inc
new file mode 100644
index 0000000..aab992f
--- /dev/null
+++ b/src/southbridge/amd/cs5535/Makefile.inc
@@ -0,0 +1,3 @@
+driver-y += cs5535.o
+#driver-y += cs5535_pci.o
+#driver-y += cs5535_ide.o
diff --git a/src/southbridge/broadcom/Makefile.inc b/src/southbridge/broadcom/Makefile.inc
index e928b36..c9de93d 100644
--- a/src/southbridge/broadcom/Makefile.inc
+++ b/src/southbridge/broadcom/Makefile.inc
@@ -1,4 +1,3 @@
-subdirs-y += bcm21000
-subdirs-y += bcm5780
-subdirs-y += bcm5785
-
+subdirs-$(CONFIG_SOUTHBRIDGE_BROADCOM_BCM21000) += bcm21000
+subdirs-$(CONFIG_SOUTHBRIDGE_BROADCOM_BCM5780) += bcm5780
+subdirs-$(CONFIG_SOUTHBRIDGE_BROADCOM_BCM5785) += bcm5785
diff --git a/src/southbridge/broadcom/bcm21000/Kconfig b/src/southbridge/broadcom/bcm21000/Kconfig
new file mode 100644
index 0000000..094c7ef
--- /dev/null
+++ b/src/southbridge/broadcom/bcm21000/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_BROADCOM_BCM21000
+	bool
+	default n
diff --git a/src/southbridge/broadcom/bcm21000/Makefile.inc b/src/southbridge/broadcom/bcm21000/Makefile.inc
new file mode 100644
index 0000000..a26e8d4
--- /dev/null
+++ b/src/southbridge/broadcom/bcm21000/Makefile.inc
@@ -0,0 +1 @@
+driver-y += bcm21000_pcie.o
diff --git a/src/southbridge/broadcom/bcm5780/Kconfig b/src/southbridge/broadcom/bcm5780/Kconfig
new file mode 100644
index 0000000..eb73d6c
--- /dev/null
+++ b/src/southbridge/broadcom/bcm5780/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_BROADCOM_BCM5780
+	bool
+	default n
diff --git a/src/southbridge/broadcom/bcm5780/Makefile.inc b/src/southbridge/broadcom/bcm5780/Makefile.inc
new file mode 100644
index 0000000..d2edc99
--- /dev/null
+++ b/src/southbridge/broadcom/bcm5780/Makefile.inc
@@ -0,0 +1,3 @@
+driver-y += bcm5780_nic.o
+driver-y += bcm5780_pcix.o
+driver-y += bcm5780_pcie.o
diff --git a/src/southbridge/broadcom/bcm5785/Kconfig b/src/southbridge/broadcom/bcm5785/Kconfig
new file mode 100644
index 0000000..f3b6cf6
--- /dev/null
+++ b/src/southbridge/broadcom/bcm5785/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_BROADCOM_BCM5785
+	bool
+	default n
diff --git a/src/southbridge/broadcom/bcm5785/Makefile.inc b/src/southbridge/broadcom/bcm5785/Makefile.inc
new file mode 100644
index 0000000..4e33aa2
--- /dev/null
+++ b/src/southbridge/broadcom/bcm5785/Makefile.inc
@@ -0,0 +1,7 @@
+driver-y += bcm5785.o
+driver-y += bcm5785_usb.o
+driver-y += bcm5785_lpc.o
+driver-y += bcm5785_sb_pci_main.o
+driver-y += bcm5785_ide.o
+driver-y += bcm5785_sata.o
+obj-y += bcm5785_reset.o
diff --git a/src/southbridge/intel/Kconfig b/src/southbridge/intel/Kconfig
index 25adf84..92be286 100644
--- a/src/southbridge/intel/Kconfig
+++ b/src/southbridge/intel/Kconfig
@@ -1,10 +1,10 @@
-#source src/southbridge/intel/esb6300/Kconfig
-#source src/southbridge/intel/i3100/Kconfig
+source src/southbridge/intel/esb6300/Kconfig
+source src/southbridge/intel/i3100/Kconfig
 source src/southbridge/intel/i82371eb/Kconfig
-#source src/southbridge/intel/i82801ca/Kconfig
-#source src/southbridge/intel/i82801dbm/Kconfig
-#source src/southbridge/intel/i82801er/Kconfig
+source src/southbridge/intel/i82801ca/Kconfig
+source src/southbridge/intel/i82801dbm/Kconfig
+source src/southbridge/intel/i82801er/Kconfig
 source src/southbridge/intel/i82801gx/Kconfig
 source src/southbridge/intel/i82801xx/Kconfig
-#source src/southbridge/intel/i82870/Kconfig
-#source src/southbridge/intel/pxhd/Kconfig
+source src/southbridge/intel/i82870/Kconfig
+source src/southbridge/intel/pxhd/Kconfig
diff --git a/src/southbridge/intel/Makefile.inc b/src/southbridge/intel/Makefile.inc
index d69f0ab..e53450f 100644
--- a/src/southbridge/intel/Makefile.inc
+++ b/src/southbridge/intel/Makefile.inc
@@ -1,11 +1,11 @@
-#subdirs-y += esb6300
-#subdirs-y += i3100
-subdirs-y += i82371eb
-#subdirs-y += i82801ca
-#subdirs-y += i82801dbm
-#subdirs-y += i82801er
-subdirs-y += i82801gx
-subdirs-y += i82801xx
-#subdirs-y += i82870
-#subdirs-y += pxhd
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_ESB6300) += esb6300
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_I3100) += i3100
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_I82371EB) += i82371eb
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_I82801CA) += i82801ca
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_I82801DBM) += i82801dbm
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_I82801ER) += i82801er
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_I82870) += i82870
+subdirs-$(CONFIG_SOUTHBRIDGE_INTEL_PXHD) += pxhd
 
diff --git a/src/southbridge/intel/esb6300/Kconfig b/src/southbridge/intel/esb6300/Kconfig
new file mode 100644
index 0000000..fcca520
--- /dev/null
+++ b/src/southbridge/intel/esb6300/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_INTEL_ESB6300
+	bool
+	default n
diff --git a/src/southbridge/intel/esb6300/Makefile.inc b/src/southbridge/intel/esb6300/Makefile.inc
new file mode 100644
index 0000000..38c66e0
--- /dev/null
+++ b/src/southbridge/intel/esb6300/Makefile.inc
@@ -0,0 +1,11 @@
+driver-y += esb6300.o
+driver-y += esb6300_uhci.o
+driver-y += esb6300_lpc.o
+driver-y += esb6300_ide.o
+driver-y += esb6300_sata.o
+driver-y += esb6300_ehci.o
+driver-y += esb6300_smbus.o
+driver-y += esb6300_pci.o
+driver-y += esb6300_pic.o
+driver-y += esb6300_bridge1c.o
+driver-y += esb6300_ac97.o
diff --git a/src/southbridge/intel/i3100/Kconfig b/src/southbridge/intel/i3100/Kconfig
new file mode 100644
index 0000000..c15b8e4
--- /dev/null
+++ b/src/southbridge/intel/i3100/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_INTEL_I3100
+	bool
+	default n
diff --git a/src/southbridge/intel/i3100/Makefile.inc b/src/southbridge/intel/i3100/Makefile.inc
new file mode 100644
index 0000000..0a658d3a
--- /dev/null
+++ b/src/southbridge/intel/i3100/Makefile.inc
@@ -0,0 +1,9 @@
+driver-y += i3100.o
+driver-y += i3100_uhci.o
+driver-y += i3100_lpc.o
+driver-y += i3100_sata.o
+driver-y += i3100_ehci.o
+driver-y += i3100_smbus.o
+driver-y += i3100_pci.o
+obj-y += i3100_reset.o
+obj-y += i3100_pciexp_portb.o
diff --git a/src/southbridge/intel/i82371eb/Makefile.inc b/src/southbridge/intel/i82371eb/Makefile.inc
index db55eae..632f33e 100644
--- a/src/southbridge/intel/i82371eb/Makefile.inc
+++ b/src/southbridge/intel/i82371eb/Makefile.inc
@@ -18,11 +18,11 @@
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
 
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82371EB) +=  i82371eb.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82371EB) +=  i82371eb_isa.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82371EB) +=  i82371eb_ide.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82371EB) +=  i82371eb_usb.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82371EB) +=  i82371eb_smbus.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82371EB) +=  i82371eb_reset.o
+driver-y +=  i82371eb.o
+driver-y +=  i82371eb_isa.o
+driver-y +=  i82371eb_ide.o
+driver-y +=  i82371eb_usb.o
+driver-y +=  i82371eb_smbus.o
+driver-y +=  i82371eb_reset.o
 
-#initobj-$(CONFIG_SOUTHBRIDGE_INTEL_I82371EB) += i82371eb_early_rom.o
+#initobj-y += i82371eb_early_rom.o
diff --git a/src/southbridge/intel/i82801ca/Kconfig b/src/southbridge/intel/i82801ca/Kconfig
new file mode 100644
index 0000000..c1182b7
--- /dev/null
+++ b/src/southbridge/intel/i82801ca/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_INTEL_I82801CA
+	bool
+	default n
diff --git a/src/southbridge/intel/i82801ca/Makefile.inc b/src/southbridge/intel/i82801ca/Makefile.inc
new file mode 100644
index 0000000..84e1bd3
--- /dev/null
+++ b/src/southbridge/intel/i82801ca/Makefile.inc
@@ -0,0 +1,10 @@
+driver-y += i82801ca.o
+driver-y += i82801ca_usb.o
+driver-y += i82801ca_lpc.o
+
+driver-$(CONFIG_IDE) += i82801ca_ide.o
+
+driver-y += i82801ca_ac97.o
+#driver-y += i82801ca_nic.o
+driver-y += i82801ca_pci.o
+obj-y += i82801ca_reset.o
diff --git a/src/southbridge/intel/i82801dbm/Kconfig b/src/southbridge/intel/i82801dbm/Kconfig
new file mode 100644
index 0000000..815c75d
--- /dev/null
+++ b/src/southbridge/intel/i82801dbm/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_INTEL_I82801DBM
+	bool
+	default n
diff --git a/src/southbridge/intel/i82801dbm/Makefile.inc b/src/southbridge/intel/i82801dbm/Makefile.inc
new file mode 100644
index 0000000..7134279
--- /dev/null
+++ b/src/southbridge/intel/i82801dbm/Makefile.inc
@@ -0,0 +1,9 @@
+driver-y += i82801dbm.o
+driver-y += i82801dbm_usb.o
+driver-y += i82801dbm_lpc.o
+driver-y += i82801dbm_ide.o
+driver-y += i82801dbm_usb2.o
+driver-y += i82801dbm_ac97.o
+#driver-y += i82801dbm_nic.o
+#driver-y += i82801dbm_pci.o
+obj-y += i82801dbm_reset.o
diff --git a/src/southbridge/intel/i82801er/Kconfig b/src/southbridge/intel/i82801er/Kconfig
new file mode 100644
index 0000000..c9f786d
--- /dev/null
+++ b/src/southbridge/intel/i82801er/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_INTEL_I82801ER
+	bool
+	default n
diff --git a/src/southbridge/intel/i82801er/Makefile.inc b/src/southbridge/intel/i82801er/Makefile.inc
new file mode 100644
index 0000000..b2f81f8
--- /dev/null
+++ b/src/southbridge/intel/i82801er/Makefile.inc
@@ -0,0 +1,11 @@
+driver-y += i82801er.o
+driver-y += i82801er_uhci.o
+driver-y += i82801er_lpc.o
+driver-y += i82801er_ide.o
+driver-y += i82801er_sata.o
+driver-y += i82801er_ehci.o
+driver-y += i82801er_smbus.o
+driver-y += i82801er_pci.o
+driver-y += i82801er_ac97.o
+obj-y += i82801er_watchdog.o
+obj-y += i82801er_reset.o
diff --git a/src/southbridge/intel/i82801gx/Makefile.inc b/src/southbridge/intel/i82801gx/Makefile.inc
index 1770654..aec3c61 100644
--- a/src/southbridge/intel/i82801gx/Makefile.inc
+++ b/src/southbridge/intel/i82801gx/Makefile.inc
@@ -17,24 +17,21 @@
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
 
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_ac97.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_azalia.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_ide.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_lpc.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_nic.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_pci.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_pcie.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_sata.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_smbus.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_usb.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_usb_ehci.o
+driver-y += i82801gx.o
+driver-y += i82801gx_ac97.o
+driver-y += i82801gx_azalia.o
+driver-y += i82801gx_ide.o
+driver-y += i82801gx_lpc.o
+driver-y += i82801gx_nic.o
+driver-y += i82801gx_pci.o
+driver-y += i82801gx_pcie.o
+driver-y += i82801gx_sata.o
+driver-y += i82801gx_smbus.o
+driver-y += i82801gx_usb.o
+driver-y += i82801gx_usb_ehci.o
 
-object-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_reset.o
-object-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_watchdog.o
+object-y += i82801gx_reset.o
+object-y += i82801gx_watchdog.o
 
-# arg. How does the linux kconfig handle compound conditionals?
-ifeq ($(CONFIG_HAVE_SMI_HANDLER),y)
-	object-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_smi.o
-	smmobj-$(CONFIG_SOUTHBRIDGE_INTEL_I82801GX) += i82801gx_smihandler.o
-endif
+object-$(CONFIG_HAVE_SMI_HANDLER) += i82801gx_smi.o
+smmobj-$(CONFIG_HAVE_SMI_HANDLER) += i82801gx_smihandler.o
diff --git a/src/southbridge/intel/i82801xx/Makefile.inc b/src/southbridge/intel/i82801xx/Makefile.inc
index 5d54fc8..f8f2b61 100644
--- a/src/southbridge/intel/i82801xx/Makefile.inc
+++ b/src/southbridge/intel/i82801xx/Makefile.inc
@@ -18,19 +18,19 @@
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
 
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_ac97.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_ide.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_lpc.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_nic.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_pci.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_sata.o
-# driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_smbus.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_usb.o
-driver-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_usb_ehci.o
+driver-y += i82801xx.o
+driver-y += i82801xx_ac97.o
+driver-y += i82801xx_ide.o
+driver-y += i82801xx_lpc.o
+driver-y += i82801xx_nic.o
+driver-y += i82801xx_pci.o
+driver-y += i82801xx_sata.o
+# driver-y += i82801xx_smbus.o
+driver-y += i82801xx_usb.o
+driver-y += i82801xx_usb_ehci.o
 
-object-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_reset.o
-object-$(CONFIG_SOUTHBRIDGE_INTEL_I82801XX) += i82801xx_watchdog.o
+object-y += i82801xx_reset.o
+object-y += i82801xx_watchdog.o
 
 # TODO: What about cmos_failover.c?
 
diff --git a/src/southbridge/intel/i82870/Kconfig b/src/southbridge/intel/i82870/Kconfig
new file mode 100644
index 0000000..ccf1f25
--- /dev/null
+++ b/src/southbridge/intel/i82870/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_INTEL_I82870
+	bool
+	default n
diff --git a/src/southbridge/intel/i82870/Makefile.inc b/src/southbridge/intel/i82870/Makefile.inc
new file mode 100644
index 0000000..143d3b8
--- /dev/null
+++ b/src/southbridge/intel/i82870/Makefile.inc
@@ -0,0 +1,3 @@
+driver-y += p64h2_ioapic.o
+driver-y += p64h2_pcibridge.o
+#driver-y += p64h2_pci_parity.o
diff --git a/src/southbridge/intel/pxhd/Kconfig b/src/southbridge/intel/pxhd/Kconfig
new file mode 100644
index 0000000..d331a0e
--- /dev/null
+++ b/src/southbridge/intel/pxhd/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_INTEL_PXHD
+	bool
+	default n
diff --git a/src/southbridge/intel/pxhd/Makefile.inc b/src/southbridge/intel/pxhd/Makefile.inc
new file mode 100644
index 0000000..4ab7104
--- /dev/null
+++ b/src/southbridge/intel/pxhd/Makefile.inc
@@ -0,0 +1 @@
+driver-y += pxhd_bridge.o
diff --git a/src/southbridge/ricoh/Makefile.inc b/src/southbridge/ricoh/Makefile.inc
index 81051c9..3969392 100644
--- a/src/southbridge/ricoh/Makefile.inc
+++ b/src/southbridge/ricoh/Makefile.inc
@@ -1 +1 @@
-subdirs-y += rl5c476
+subdirs-$(CONFIG_SOUTHBRIDGE_RICOH_RL5C476) += rl5c476
diff --git a/src/southbridge/ricoh/rl5c476/Kconfig b/src/southbridge/ricoh/rl5c476/Kconfig
new file mode 100644
index 0000000..0c8f73f
--- /dev/null
+++ b/src/southbridge/ricoh/rl5c476/Kconfig
@@ -0,0 +1,23 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008-2009 coresystems GmbH
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+config SOUTHBRIDGE_RICOH_RL5C476
+	bool
+	default n
+
diff --git a/src/southbridge/ricoh/rl5c476/Makefile.inc b/src/southbridge/ricoh/rl5c476/Makefile.inc
new file mode 100644
index 0000000..7f05999
--- /dev/null
+++ b/src/southbridge/ricoh/rl5c476/Makefile.inc
@@ -0,0 +1 @@
+driver-y += rl5c476.o
diff --git a/src/southbridge/sis/Makefile.inc b/src/southbridge/sis/Makefile.inc
index 741df1c..295b366 100644
--- a/src/southbridge/sis/Makefile.inc
+++ b/src/southbridge/sis/Makefile.inc
@@ -1,2 +1,2 @@
-subdirs-y += sis966
+subdirs-$(CONFIG_SOUTHBRIDGE_SIS_SIS966) += sis966
 
diff --git a/src/southbridge/sis/sis966/Kconfig b/src/southbridge/sis/sis966/Kconfig
new file mode 100644
index 0000000..183df4e
--- /dev/null
+++ b/src/southbridge/sis/sis966/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_SIS_SIS966
+	bool
+	default n
diff --git a/src/southbridge/sis/sis966/Makefile.inc b/src/southbridge/sis/sis966/Makefile.inc
new file mode 100644
index 0000000..3c4d894
--- /dev/null
+++ b/src/southbridge/sis/sis966/Makefile.inc
@@ -0,0 +1,11 @@
+driver-y += sis761.o
+driver-y += sis966.o
+driver-y += sis966_lpc.o
+driver-y += sis966_ide.o
+driver-y += sis966_usb.o
+driver-y += sis966_usb2.o
+driver-y += sis966_nic.o
+driver-y += sis966_sata.o
+driver-y += sis966_pcie.o
+driver-y += sis966_aza.o
+obj-y += sis966_reset.o
diff --git a/src/southbridge/via/Kconfig b/src/southbridge/via/Kconfig
index cbc697d..ab135a4 100644
--- a/src/southbridge/via/Kconfig
+++ b/src/southbridge/via/Kconfig
@@ -1,5 +1,4 @@
-#source src/southbridge/via/k8t890/Kconfig
-#source src/southbridge/via/vt8231/Kconfig
-#source src/southbridge/via/vt8235/Kconfig
+source src/southbridge/via/k8t890/Kconfig
+source src/southbridge/via/vt8231/Kconfig
+source src/southbridge/via/vt8235/Kconfig
 source src/southbridge/via/vt8237r/Kconfig
-#source src/southbridge/via/vt82c686/Kconfig
diff --git a/src/southbridge/via/Makefile.inc b/src/southbridge/via/Makefile.inc
index b866b33..ca55579 100644
--- a/src/southbridge/via/Makefile.inc
+++ b/src/southbridge/via/Makefile.inc
@@ -1,5 +1,4 @@
-#subdirs-y += k8t890
-#subdirs-y += vt8231
-#subdirs-y += vt8235
+subdirs-$(CONFIG_SOUTHBRIDGE_VIA_K8T890) += k8t890
+subdirs-$(CONFIG_SOUTHBRIDGE_VIA_VT8231) += vt8231
+subdirs-$(CONFIG_SOUTHBRIDGE_VIA_VT8235) += vt8235
 subdirs-$(CONFIG_SOUTHBRIDGE_VIA_VT8237R) += vt8237r
-#subdirs-y += vt82c686
diff --git a/src/southbridge/via/k8t890/Kconfig b/src/southbridge/via/k8t890/Kconfig
new file mode 100644
index 0000000..2219920
--- /dev/null
+++ b/src/southbridge/via/k8t890/Kconfig
@@ -0,0 +1,4 @@
+config SOUTHBRIDGE_VIA_K8T890
+	bool
+	default n
+
diff --git a/src/southbridge/via/k8t890/Makefile.inc b/src/southbridge/via/k8t890/Makefile.inc
new file mode 100644
index 0000000..0eff25e
--- /dev/null
+++ b/src/southbridge/via/k8t890/Makefile.inc
@@ -0,0 +1,9 @@
+driver-y += k8t890_ctrl.o
+driver-y += k8t890_dram.o
+driver-y += k8t890_bridge.o
+driver-y += k8t890_host.o
+driver-y += k8t890_host_ctrl.o
+driver-y += k8t890_pcie.o
+driver-y += k8t890_traf_ctrl.o
+driver-y += k8t890_error.o
+driver-y += k8m890_chrome.o
diff --git a/src/southbridge/via/vt8231/Kconfig b/src/southbridge/via/vt8231/Kconfig
new file mode 100644
index 0000000..c567140
--- /dev/null
+++ b/src/southbridge/via/vt8231/Kconfig
@@ -0,0 +1,23 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008-2009 coresystems GmbH
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+config SOUTHBRIDGE_VIA_VT8231
+	bool
+	default n
+
diff --git a/src/southbridge/via/vt8231/Makefile.inc b/src/southbridge/via/vt8231/Makefile.inc
new file mode 100644
index 0000000..4f1dca7
--- /dev/null
+++ b/src/southbridge/via/vt8231/Makefile.inc
@@ -0,0 +1,25 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007, 2009 Rudolf Marek <r.marek@assembler.cz>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License v2 as published by
+## the Free Software Foundation.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+driver-y += vt8231.o
+driver-y += vt8231_lpc.o
+driver-y += vt8231_acpi.o
+driver-y += vt8231_ide.o
+driver-y += vt8231_nic.o
+#driver-y += vt8231_usb.o
diff --git a/src/southbridge/via/vt8235/Kconfig b/src/southbridge/via/vt8235/Kconfig
new file mode 100644
index 0000000..f8e723b
--- /dev/null
+++ b/src/southbridge/via/vt8235/Kconfig
@@ -0,0 +1,23 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008-2009 coresystems GmbH
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+config SOUTHBRIDGE_VIA_VT8235
+	bool
+	default n
+
diff --git a/src/southbridge/via/vt8235/Makefile.inc b/src/southbridge/via/vt8235/Makefile.inc
new file mode 100644
index 0000000..361d6aa
--- /dev/null
+++ b/src/southbridge/via/vt8235/Makefile.inc
@@ -0,0 +1,24 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007, 2009 Rudolf Marek <r.marek@assembler.cz>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License v2 as published by
+## the Free Software Foundation.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+driver-y += vt8235.o
+driver-y += vt8235_ide.o
+driver-y += vt8235_lpc.o
+driver-y += vt8235_nic.o
+driver-y += vt8235_usb.o
diff --git a/src/southbridge/winbond/Makefile.inc b/src/southbridge/winbond/Makefile.inc
index 004313a..7926be7 100644
--- a/src/southbridge/winbond/Makefile.inc
+++ b/src/southbridge/winbond/Makefile.inc
@@ -1 +1 @@
-subdirs-y += w83c553
+subdirs-$(CONFIG_SOUTHBRIDGE_WINBOND_W83C553) += w83c553
diff --git a/src/southbridge/winbond/w83c553/Kconfig b/src/southbridge/winbond/w83c553/Kconfig
new file mode 100644
index 0000000..b50247f
--- /dev/null
+++ b/src/southbridge/winbond/w83c553/Kconfig
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_WINBOND_W83C553
+	bool
+	default n
diff --git a/src/southbridge/winbond/w83c553/Makefile.inc b/src/southbridge/winbond/w83c553/Makefile.inc
new file mode 100644
index 0000000..ef11568
--- /dev/null
+++ b/src/southbridge/winbond/w83c553/Makefile.inc
@@ -0,0 +1,2 @@
+driver-y += w83c553f.o
+driver-y += w83c553f_ide.o