summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile11
-rw-r--r--src/cpu/Kconfig4
-rw-r--r--src/cpu/intel/Kconfig12
-rw-r--r--src/cpu/intel/Makefile.inc10
-rw-r--r--src/cpu/intel/bga956/Kconfig4
-rw-r--r--src/cpu/intel/bga956/Makefile.inc13
-rw-r--r--src/cpu/intel/ep80579/Kconfig3
-rw-r--r--src/cpu/intel/ep80579/Makefile.inc12
-rw-r--r--src/cpu/intel/model_1067x/Kconfig5
-rw-r--r--src/cpu/intel/model_1067x/Makefile.inc1
-rw-r--r--src/cpu/intel/model_69x/Kconfig4
-rw-r--r--src/cpu/intel/model_6dx/Kconfig4
-rw-r--r--src/cpu/intel/model_6xx/Kconfig4
-rw-r--r--src/cpu/intel/model_6xx/Makefile.inc21
-rw-r--r--src/cpu/intel/model_f0x/Kconfig5
-rw-r--r--src/cpu/intel/model_f0x/Makefile.inc1
-rw-r--r--src/cpu/intel/model_f1x/Kconfig5
-rw-r--r--src/cpu/intel/model_f1x/Makefile.inc1
-rw-r--r--src/cpu/intel/model_f2x/Kconfig5
-rw-r--r--src/cpu/intel/model_f2x/Makefile.inc1
-rw-r--r--src/cpu/intel/model_f3x/Kconfig5
-rw-r--r--src/cpu/intel/model_f3x/Makefile.inc1
-rw-r--r--src/cpu/intel/model_f4x/Kconfig5
-rw-r--r--src/cpu/intel/model_f4x/Makefile.inc1
-rw-r--r--src/cpu/intel/socket_mPGA478/Kconfig5
-rw-r--r--src/cpu/intel/socket_mPGA478/Makefile.inc14
-rw-r--r--src/cpu/intel/socket_mPGA479M/Kconfig5
-rw-r--r--src/cpu/intel/socket_mPGA479M/Makefile.inc14
-rw-r--r--src/cpu/intel/socket_mPGA603/Kconfig6
-rw-r--r--src/cpu/intel/socket_mPGA603/Makefile.inc15
-rw-r--r--src/cpu/intel/socket_mPGA604/Kconfig6
-rw-r--r--src/cpu/intel/socket_mPGA604/Makefile.inc15
-rw-r--r--src/cpu/x86/Kconfig4
-rw-r--r--src/mainboard/Kconfig9
-rw-r--r--src/mainboard/Makefile.romccboard.inc8
-rw-r--r--src/mainboard/intel/Kconfig13
-rw-r--r--src/mainboard/intel/eagleheights/Kconfig48
-rw-r--r--src/mainboard/intel/eagleheights/Makefile.inc38
-rw-r--r--src/mainboard/intel/eagleheights/devicetree.cb73
-rw-r--r--src/mainboard/intel/jarrell/Kconfig33
-rw-r--r--src/mainboard/intel/jarrell/Makefile.inc4
-rw-r--r--src/mainboard/intel/mtarvon/Kconfig41
-rw-r--r--src/mainboard/intel/mtarvon/Makefile.inc3
-rw-r--r--src/mainboard/intel/truxton/Kconfig43
-rw-r--r--src/mainboard/intel/truxton/Makefile.inc3
-rw-r--r--src/mainboard/intel/xe7501devkit/Kconfig47
-rw-r--r--src/mainboard/intel/xe7501devkit/Makefile.inc13
-rw-r--r--src/mainboard/sunw/Kconfig9
-rw-r--r--src/mainboard/sunw/ultra40/Kconfig130
-rw-r--r--src/mainboard/sunw/ultra40/Makefile.inc81
-rw-r--r--src/mainboard/supermicro/Kconfig15
-rw-r--r--src/mainboard/supermicro/h8dme/Kconfig130
-rw-r--r--src/mainboard/supermicro/h8dme/Makefile.inc82
-rw-r--r--src/mainboard/tyan/s2850/Kconfig65
-rw-r--r--src/mainboard/tyan/s2850/Makefile.inc1
-rw-r--r--src/mainboard/tyan/s2875/Kconfig71
-rw-r--r--src/mainboard/tyan/s2875/Makefile.inc1
-rw-r--r--src/mainboard/via/Kconfig7
-rw-r--r--src/mainboard/via/epia-cn/Kconfig45
-rw-r--r--src/mainboard/via/epia-cn/Makefile.inc63
-rw-r--r--src/mainboard/via/epia-m/Kconfig41
-rw-r--r--src/mainboard/via/epia-m/Makefile.inc65
-rw-r--r--src/mainboard/via/epia-m/auto.c2
-rw-r--r--src/mainboard/via/epia-m700/Kconfig44
-rw-r--r--src/mainboard/via/epia-m700/Makefile.inc64
-rw-r--r--src/mainboard/via/epia-n/Kconfig1
-rw-r--r--src/mainboard/via/epia-n/Makefile.inc4
-rw-r--r--src/mainboard/via/epia/Kconfig35
-rw-r--r--src/mainboard/via/epia/Makefile.inc58
-rw-r--r--src/mainboard/via/epia/auto.c2
-rw-r--r--src/mainboard/via/pc2500e/Kconfig45
-rw-r--r--src/mainboard/via/pc2500e/Makefile.inc63
-rw-r--r--src/northbridge/amd/Kconfig5
-rw-r--r--src/northbridge/amd/Makefile.inc2
-rw-r--r--src/northbridge/amd/amdfam10/Kconfig34
-rw-r--r--src/northbridge/amd/amdfam10/Makefile.inc12
-rw-r--r--src/northbridge/amd/amdfam10/root_complex/Kconfig4
-rw-r--r--src/northbridge/amd/amdk8/Kconfig2
-rw-r--r--src/northbridge/intel/Kconfig14
-rw-r--r--src/northbridge/intel/Makefile.inc20
-rw-r--r--src/northbridge/intel/e7501/Kconfig8
-rw-r--r--src/northbridge/intel/e7501/Makefile.inc1
-rw-r--r--src/northbridge/intel/e7520/Kconfig8
-rw-r--r--src/northbridge/intel/e7520/Makefile.inc5
-rw-r--r--src/northbridge/intel/e7525/Kconfig8
-rw-r--r--src/northbridge/intel/e7525/Makefile.inc5
-rw-r--r--src/northbridge/intel/i3100/Kconfig8
-rw-r--r--src/northbridge/intel/i3100/Makefile.inc3
-rw-r--r--src/northbridge/intel/i440bx/Kconfig4
-rw-r--r--src/northbridge/intel/i440bx/Makefile.inc2
-rw-r--r--src/northbridge/intel/i82810/Kconfig6
-rw-r--r--src/northbridge/intel/i82810/Makefile.inc2
-rw-r--r--src/northbridge/intel/i82830/Kconfig8
-rw-r--r--src/northbridge/intel/i82830/Makefile.inc2
-rw-r--r--src/northbridge/intel/i855gme/Kconfig8
-rw-r--r--src/northbridge/intel/i855gme/Makefile.inc1
-rw-r--r--src/northbridge/intel/i855pm/Kconfig8
-rw-r--r--src/northbridge/intel/i855pm/Makefile.inc1
-rw-r--r--src/northbridge/intel/i945/Kconfig6
-rw-r--r--src/northbridge/intel/i945/Makefile.inc8
-rw-r--r--src/northbridge/via/Kconfig8
-rw-r--r--src/northbridge/via/Makefile.inc8
-rw-r--r--src/northbridge/via/cn700/Kconfig13
-rw-r--r--src/northbridge/via/cn700/Makefile.inc26
-rw-r--r--src/northbridge/via/vt8601/Kconfig13
-rw-r--r--src/northbridge/via/vt8601/Makefile.inc22
-rw-r--r--src/northbridge/via/vt8623/Kconfig13
-rw-r--r--src/northbridge/via/vt8623/Makefile.inc22
-rw-r--r--src/northbridge/via/vx800/Kconfig8
-rw-r--r--src/northbridge/via/vx800/Makefile.inc27
-rw-r--r--src/southbridge/Kconfig8
-rw-r--r--src/southbridge/Makefile.inc8
-rw-r--r--src/southbridge/amd/Kconfig8
-rw-r--r--src/southbridge/amd/amd8132/Kconfig3
-rw-r--r--src/southbridge/amd/amd8132/Makefile.inc1
-rw-r--r--src/southbridge/amd/amd8151/Kconfig3
-rw-r--r--src/southbridge/amd/amd8151/Makefile.inc1
-rw-r--r--src/southbridge/amd/cs5530/Kconfig3
-rw-r--r--src/southbridge/amd/cs5530/Makefile.inc25
-rw-r--r--src/southbridge/amd/cs5535/Kconfig3
-rw-r--r--src/southbridge/amd/cs5535/Makefile.inc3
-rw-r--r--src/southbridge/broadcom/Makefile.inc7
-rw-r--r--src/southbridge/broadcom/bcm21000/Kconfig3
-rw-r--r--src/southbridge/broadcom/bcm21000/Makefile.inc1
-rw-r--r--src/southbridge/broadcom/bcm5780/Kconfig3
-rw-r--r--src/southbridge/broadcom/bcm5780/Makefile.inc3
-rw-r--r--src/southbridge/broadcom/bcm5785/Kconfig3
-rw-r--r--src/southbridge/broadcom/bcm5785/Makefile.inc7
-rw-r--r--src/southbridge/intel/Kconfig14
-rw-r--r--src/southbridge/intel/Makefile.inc20
-rw-r--r--src/southbridge/intel/esb6300/Kconfig3
-rw-r--r--src/southbridge/intel/esb6300/Makefile.inc11
-rw-r--r--src/southbridge/intel/i3100/Kconfig3
-rw-r--r--src/southbridge/intel/i3100/Makefile.inc9
-rw-r--r--src/southbridge/intel/i82371eb/Makefile.inc14
-rw-r--r--src/southbridge/intel/i82801ca/Kconfig3
-rw-r--r--src/southbridge/intel/i82801ca/Makefile.inc10
-rw-r--r--src/southbridge/intel/i82801dbm/Kconfig3
-rw-r--r--src/southbridge/intel/i82801dbm/Makefile.inc9
-rw-r--r--src/southbridge/intel/i82801er/Kconfig3
-rw-r--r--src/southbridge/intel/i82801er/Makefile.inc11
-rw-r--r--src/southbridge/intel/i82801gx/Makefile.inc35
-rw-r--r--src/southbridge/intel/i82801xx/Makefile.inc24
-rw-r--r--src/southbridge/intel/i82870/Kconfig3
-rw-r--r--src/southbridge/intel/i82870/Makefile.inc3
-rw-r--r--src/southbridge/intel/pxhd/Kconfig3
-rw-r--r--src/southbridge/intel/pxhd/Makefile.inc1
-rw-r--r--src/southbridge/ricoh/Makefile.inc2
-rw-r--r--src/southbridge/ricoh/rl5c476/Kconfig23
-rw-r--r--src/southbridge/ricoh/rl5c476/Makefile.inc1
-rw-r--r--src/southbridge/sis/Makefile.inc2
-rw-r--r--src/southbridge/sis/sis966/Kconfig3
-rw-r--r--src/southbridge/sis/sis966/Makefile.inc11
-rw-r--r--src/southbridge/via/Kconfig7
-rw-r--r--src/southbridge/via/Makefile.inc7
-rw-r--r--src/southbridge/via/k8t890/Kconfig4
-rw-r--r--src/southbridge/via/k8t890/Makefile.inc9
-rw-r--r--src/southbridge/via/vt8231/Kconfig23
-rw-r--r--src/southbridge/via/vt8231/Makefile.inc25
-rw-r--r--src/southbridge/via/vt8235/Kconfig23
-rw-r--r--src/southbridge/via/vt8235/Makefile.inc24
-rw-r--r--src/southbridge/winbond/Makefile.inc2
-rw-r--r--src/southbridge/winbond/w83c553/Kconfig3
-rw-r--r--src/southbridge/winbond/w83c553/Makefile.inc2
164 files changed, 2363 insertions, 160 deletions
diff --git a/Makefile b/Makefile
index fe11db460b..4423f4a5f1 100644
--- a/Makefile
+++ b/Makefile
@@ -145,6 +145,14 @@ subdirs:=$(PLATFORM-y) $(BUILD-y)
$(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 @@ endef
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 @@ STACKPROTECT += $(call cc-option, -fno-stack-protector,)
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 e70f021217..3d23f0c3db 100644
--- a/src/cpu/Kconfig
+++ b/src/cpu/Kconfig
@@ -17,6 +17,10 @@ config DCACHE_RAM_SIZE
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 c20789761b..768a823c91 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/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
-source src/cpu/intel/slot_2/Kconfig
diff --git a/src/cpu/intel/Makefile.inc b/src/cpu/intel/Makefile.inc
index 3437eecfbc..7f8874fe27 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 0000000000..bdcc8baf00
--- /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 0000000000..f0b134b45f
--- /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 0000000000..213ce8c7f0
--- /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 0000000000..d1edc9455c
--- /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 0000000000..55b5eb737b
--- /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 0000000000..085423389d
--- /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 0000000000..4a7560c3a2
--- /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 0000000000..099688b3b5
--- /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 0000000000..14789bea65
--- /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 b36e601495..ddbb7a5d8b 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 0000000000..3cf574b0ca
--- /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 0000000000..0a19a21aba
--- /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 0000000000..7fcd34f22a
--- /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 0000000000..14c62b6983
--- /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 0000000000..86445480cf
--- /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 0000000000..f83605675d
--- /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 0000000000..da02783085
--- /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 0000000000..13dda61538
--- /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 0000000000..d9f9c96c65
--- /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 0000000000..7e50d29122
--- /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 0000000000..e16d51efd3
--- /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 0000000000..1c72b4b007
--- /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 0000000000..ca2113e915
--- /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 0000000000..bcc9db07e2
--- /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 0000000000..460f3c59eb
--- /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 0000000000..69d331df43
--- /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 0000000000..445ffeb13f
--- /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 0000000000..1a739bde7e
--- /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 c4ee9fa271..b6ae9967e5 100644
--- a/src/cpu/x86/Kconfig
+++ b/src/cpu/x86/Kconfig
@@ -2,6 +2,10 @@ config SERIAL_CPU_INIT
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 88de40421b..a7bada779f 100644
--- a/src/mainboard/Kconfig
+++ b/src/mainboard/Kconfig
@@ -441,5 +441,14 @@ config COREBOOT_ROMSIZE_KB
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 1fcf43e3b1..b95a0cb35b 100644
--- a/src/mainboard/Makefile.romccboard.inc
+++ b/src/mainboard/Makefile.romccboard.inc
@@ -44,15 +44,17 @@ obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
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 792d600548..c14e88c8ad 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 0000000000..92e9a382b6
--- /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 0000000000..1f9c31f5eb
--- /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 0000000000..e5bbf20297
--- /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 0000000000..8cfa632acf
--- /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 0000000000..7d098f978d
--- /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 0000000000..255ddc393d
--- /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 0000000000..a6be734529
--- /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 0000000000..490db9d240
--- /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 0000000000..59c6b14fa7
--- /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 0000000000..db4dbd3305
--- /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 0000000000..a064b3dd46
--- /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 792d600548..b04d9053c0 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 0000000000..8cdd1f7da9
--- /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 0000000000..39f12d34c8
--- /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 792d600548..9c984985c2 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 0000000000..c3e857a367
--- /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 0000000000..e51ef68290
--- /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 0000000000..6ae7f0ec95
--- /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 0000000000..88582f5329
--- /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 0000000000..57e3bab1c9
--- /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 0000000000..88582f5329
--- /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 787b32bc56..8f2d0db12d 100644
--- a/src/mainboard/via/Kconfig
+++ b/src/mainboard/via/Kconfig
@@ -2,8 +2,13 @@ choice
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 0000000000..6d57e15895
--- /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 0000000000..a6c8073117
--- /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 0000000000..865b8294ec
--- /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 0000000000..08d9f07920
--- /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 8fdfce3399..5a93aa7541 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 0000000000..7191d9cc60
--- /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 0000000000..2b43fcd137
--- /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 d3e4d2f074..17d101f704 100644
--- a/src/mainboard/via/epia-n/Kconfig
+++ b/src/mainboard/via/epia-n/Kconfig
@@ -6,7 +6,6 @@ config BOARD_VIA_EPIA_N
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 a100d9ac31..f5429fa286 100644
--- a/src/mainboard/via/epia-n/Makefile.inc
+++ b/src/mainboard/via/epia-n/Makefile.inc
@@ -44,9 +44,7 @@ crt0-y += ../../../../src/cpu/x86/mmx/disable_mmx.inc
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 0000000000..2e7468e5a6
--- /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 0000000000..6acb251b23
--- /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 d10fec9563..e490402ba0 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 0000000000..be33783fae
--- /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 0000000000..a6c8073117
--- /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 b86d240a0b..8808b97d7a 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 88ee1e6568..10d22c1e19 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 0000000000..e3b55fc3bb
--- /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 0000000000..79ed767f73
--- /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 0000000000..3705151f59
--- /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 59dbf8eb69..bbc4c651da 100644
--- a/src/northbridge/amd/amdk8/Kconfig
+++ b/src/northbridge/amd/amdk8/Kconfig
@@ -24,10 +24,12 @@ config NORTHBRIDGE_AMD_AMDK8
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 dd657059a2..eae68f1e37 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 bdbcacd3f8..d89a28f770 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 0000000000..a888320282
--- /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 0000000000..ea44b26cbe
--- /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 0000000000..577c6dc603
--- /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 0000000000..a23c31de89
--- /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 0000000000..07d7b69b8b
--- /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 0000000000..a23c31de89
--- /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 0000000000..1a1a959ce0
--- /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 0000000000..c776b058f8
--- /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 ebc9617f2c..fe7124764f 100644
--- a/src/northbridge/intel/i440bx/Kconfig
+++ b/src/northbridge/intel/i440bx/Kconfig
@@ -22,3 +22,7 @@ config NORTHBRIDGE_INTEL_I440BX
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 2b2ff5fcb4..c6b480940f 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 c1c4a9398d..42cd4e24ba 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 6c8ffe93af..c6b480940f 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 0000000000..9dc7678bae
--- /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 0000000000..3ebb8a5aaf
--- /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 0000000000..554cbf5fba
--- /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 0000000000..ea44b26cbe
--- /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 0000000000..4ce9be7557
--- /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 0000000000..ea44b26cbe
--- /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 468602d15e..b569f2707e 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 290ea0ceaa..0b3888c943 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 5c62bde34d..2c38acf55a 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 95ac7ecb79..75cb15b045 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 0000000000..5395416c19
--- /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 0000000000..b63847d858
--- /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 0000000000..5f5a672654
--- /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 0000000000..c9dc918ecc
--- /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 0000000000..3976ed1f65
--- /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 0000000000..c9dc918ecc
--- /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 0000000000..104387db51
--- /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 0000000000..12b3ef4caf
--- /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 cce8dcb60c..c25355a9f8 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 ee6322d5c4..b3312af853 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 dc32d217f8..7b3c4574fb 100644
--- a/src/southbridge/amd/Kconfig
+++ b/src/southbridge/amd/Kconfig
@@ -2,9 +2,9 @@ source src/southbridge/amd/amd8111/Kconfig
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 0000000000..871ca1e58b
--- /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 0000000000..283d687107
--- /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 0000000000..5d73cc4084
--- /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 0000000000..d62ff55d3b
--- /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 0000000000..c972e30fb8
--- /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 0000000000..fa793f81b9
--- /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 0000000000..397057810d
--- /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 0000000000..aab992fb89
--- /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 e928b3625b..c9de93d8bc 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 0000000000..094c7ef006
--- /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 0000000000..a26e8d48ac
--- /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 0000000000..eb73d6cd2d
--- /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 0000000000..d2edc995ef
--- /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 0000000000..f3b6cf6c8b
--- /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 0000000000..4e33aa21b6
--- /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 25adf845a3..92be28623d 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 d69f0abb9c..e53450f95f 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 0000000000..fcca52002a
--- /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 0000000000..38c66e071d
--- /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 0000000000..c15b8e44d3
--- /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 0000000000..0a658d3a66
--- /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 db55eaef2d..632f33e935 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 0000000000..c1182b767a
--- /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 0000000000..84e1bd3f20
--- /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 0000000000..815c75d7f4
--- /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 0000000000..713427971c
--- /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 0000000000..c9f786dbb2
--- /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 0000000000..b2f81f8b2e
--- /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 1770654452..aec3c618ff 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 5d54fc87be..f8f2b61219 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 0000000000..ccf1f25894
--- /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 0000000000..143d3b889f
--- /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 0000000000..d331a0efb6
--- /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 0000000000..4ab71045f6
--- /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 81051c989b..3969392d44 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 0000000000..0c8f73f8cc
--- /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 0000000000..7f0599994c
--- /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 741df1c7d0..295b366494 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 0000000000..183df4e9ec
--- /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 0000000000..3c4d894d05
--- /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 cbc697d3af..ab135a44fc 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 b866b33458..ca555795b2 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 0000000000..2219920b9a
--- /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 0000000000..0eff25e751
--- /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 0000000000..c567140332
--- /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 0000000000..4f1dca7c46
--- /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 0000000000..f8e723b784
--- /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 0000000000..361d6aa791
--- /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 004313a7fa..7926be7e9c 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 0000000000..b50247f250
--- /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 0000000000..ef1156822f
--- /dev/null
+++ b/src/southbridge/winbond/w83c553/Makefile.inc
@@ -0,0 +1,2 @@
+driver-y += w83c553f.o
+driver-y += w83c553f_ide.o