diff options
Diffstat (limited to 'src/cpu')
40 files changed, 277 insertions, 0 deletions
diff --git a/src/cpu/Kconfig b/src/cpu/Kconfig new file mode 100644 index 0000000000..de2ceea557 --- /dev/null +++ b/src/cpu/Kconfig @@ -0,0 +1,18 @@ +#source src/cpu/amd/Kconfig +source src/cpu/emulation/Kconfig +source src/cpu/intel/Kconfig +source src/cpu/via/Kconfig +source src/cpu/x86/Kconfig +source src/cpu/ppc/Kconfig + +config DCACHE_RAM_BASE + hex + default 0xffdf8000 if CPU_INTEL_CORE + +config DCACHE_RAM_SIZE + hex + default 0x8000 if CPU_INTEL_CORE + +config SMP + bool + default n diff --git a/src/cpu/Makefile.inc b/src/cpu/Makefile.inc new file mode 100644 index 0000000000..aa4435f029 --- /dev/null +++ b/src/cpu/Makefile.inc @@ -0,0 +1,8 @@ +#input amd +subdirs-y += intel +subdirs-y += via +subdirs-y += emulation +#input ppc +#input simple_init +#input via +#input x86 diff --git a/src/cpu/amd/Kconfig b/src/cpu/amd/Kconfig new file mode 100644 index 0000000000..fdf52fbd60 --- /dev/null +++ b/src/cpu/amd/Kconfig @@ -0,0 +1,8 @@ +source src/cpu/amd/socket_754/Kconfig +source src/cpu/amd/socket_939/Kconfig +source src/cpu/amd/socket_940/Kconfig +source src/cpu/amd/socket_AM2/Kconfig +source src/cpu/amd/socket_AM2r2/Kconfig +source src/cpu/amd/socket_F/Kconfig +source src/cpu/amd/socket_F_1207/Kconfig +source src/cpu/amd/socket_S1G1/Kconfig diff --git a/src/cpu/amd/socket_F/Kconfig b/src/cpu/amd/socket_F/Kconfig new file mode 100644 index 0000000000..b63b596321 --- /dev/null +++ b/src/cpu/amd/socket_F/Kconfig @@ -0,0 +1,3 @@ +config CPU_AMD_SOCKET_F + bool + default false diff --git a/src/cpu/emulation/Kconfig b/src/cpu/emulation/Kconfig new file mode 100644 index 0000000000..25d55e689b --- /dev/null +++ b/src/cpu/emulation/Kconfig @@ -0,0 +1,2 @@ +source src/cpu/emulation/qemu-x86/Kconfig + diff --git a/src/cpu/emulation/Makefile.inc b/src/cpu/emulation/Makefile.inc new file mode 100644 index 0000000000..ac166afb09 --- /dev/null +++ b/src/cpu/emulation/Makefile.inc @@ -0,0 +1 @@ +subdirs-y += qemu-x86 diff --git a/src/cpu/emulation/qemu-x86/Kconfig b/src/cpu/emulation/qemu-x86/Kconfig new file mode 100644 index 0000000000..15b3538f25 --- /dev/null +++ b/src/cpu/emulation/qemu-x86/Kconfig @@ -0,0 +1,4 @@ +config CPU_EMULATION_QEMU_X86 + bool + default false + diff --git a/src/cpu/emulation/qemu-x86/Makefile.inc b/src/cpu/emulation/qemu-x86/Makefile.inc new file mode 100644 index 0000000000..840af27d35 --- /dev/null +++ b/src/cpu/emulation/qemu-x86/Makefile.inc @@ -0,0 +1 @@ +obj-$(CONFIG_CPU_EMULATION_QEMU_X86) += northbridge.o diff --git a/src/cpu/intel/Kconfig b/src/cpu/intel/Kconfig new file mode 100644 index 0000000000..87623a3843 --- /dev/null +++ b/src/cpu/intel/Kconfig @@ -0,0 +1,4 @@ +source src/cpu/intel/model_6ex/Kconfig +source src/cpu/intel/model_6fx/Kconfig +source src/cpu/intel/socket_mFCPGA478/Kconfig +source src/cpu/intel/socket_PGA370/Kconfig
\ No newline at end of file diff --git a/src/cpu/intel/Makefile.inc b/src/cpu/intel/Makefile.inc new file mode 100644 index 0000000000..afe5cd3c79 --- /dev/null +++ b/src/cpu/intel/Makefile.inc @@ -0,0 +1,14 @@ +# Note: from here on down, we are socket-centric. Socket choice determines what other cpu files are included. +# Therefore: +# ONLY include Makefile.inc from socket directories! + +subdirs-y += speedstep +subdirs-y += socket_mFCPGA478 +subdirs-y += socket_PGA370 + +#socket_mPGA478 +#socket_mPGA479M +#socket_mPGA603 +#socket_mPGA604 +#socket_mPGA604_533Mhz +#socket_mPGA604_800Mhz diff --git a/src/cpu/intel/hyperthreading/Makefile.inc b/src/cpu/intel/hyperthreading/Makefile.inc new file mode 100644 index 0000000000..34cf8eee99 --- /dev/null +++ b/src/cpu/intel/hyperthreading/Makefile.inc @@ -0,0 +1 @@ +obj-y += intel_sibling.o diff --git a/src/cpu/intel/microcode/Makefile.inc b/src/cpu/intel/microcode/Makefile.inc new file mode 100644 index 0000000000..26513df8f7 --- /dev/null +++ b/src/cpu/intel/microcode/Makefile.inc @@ -0,0 +1 @@ +obj-y += microcode.o diff --git a/src/cpu/intel/model_69x/Makefile.inc b/src/cpu/intel/model_69x/Makefile.inc new file mode 100644 index 0000000000..4756e33787 --- /dev/null +++ b/src/cpu/intel/model_69x/Makefile.inc @@ -0,0 +1 @@ +driver-y += model_69x_init.o diff --git a/src/cpu/intel/model_6dx/Makefile.inc b/src/cpu/intel/model_6dx/Makefile.inc new file mode 100644 index 0000000000..bbadb50170 --- /dev/null +++ b/src/cpu/intel/model_6dx/Makefile.inc @@ -0,0 +1 @@ +driver-y += model_6dx_init.o diff --git a/src/cpu/intel/model_6ex/Kconfig b/src/cpu/intel/model_6ex/Kconfig new file mode 100644 index 0000000000..7d5e7692ef --- /dev/null +++ b/src/cpu/intel/model_6ex/Kconfig @@ -0,0 +1,4 @@ +config CPU_INTEL_CORE + bool + default n + select SMP diff --git a/src/cpu/intel/model_6ex/Makefile.inc b/src/cpu/intel/model_6ex/Makefile.inc new file mode 100644 index 0000000000..e4676ea0bf --- /dev/null +++ b/src/cpu/intel/model_6ex/Makefile.inc @@ -0,0 +1 @@ +driver-y += model_6ex_init.o diff --git a/src/cpu/intel/model_6fx/Kconfig b/src/cpu/intel/model_6fx/Kconfig new file mode 100644 index 0000000000..484114cf03 --- /dev/null +++ b/src/cpu/intel/model_6fx/Kconfig @@ -0,0 +1 @@ +# select HAVE_MOVNTI diff --git a/src/cpu/intel/model_6fx/Makefile.inc b/src/cpu/intel/model_6fx/Makefile.inc new file mode 100644 index 0000000000..4db78019cb --- /dev/null +++ b/src/cpu/intel/model_6fx/Makefile.inc @@ -0,0 +1 @@ +driver-y += model_6fx_init.o diff --git a/src/cpu/intel/model_6xx/Makefile.inc b/src/cpu/intel/model_6xx/Makefile.inc new file mode 100644 index 0000000000..a5956295d0 --- /dev/null +++ b/src/cpu/intel/model_6xx/Makefile.inc @@ -0,0 +1,22 @@ +## +## 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 +## + +obj-y += model_6xx_init.o + diff --git a/src/cpu/intel/socket_PGA370/Kconfig b/src/cpu/intel/socket_PGA370/Kconfig new file mode 100644 index 0000000000..d7098b060b --- /dev/null +++ b/src/cpu/intel/socket_PGA370/Kconfig @@ -0,0 +1,23 @@ +## +## This file is part of the coreboot project. +## +## Copyright (C) 2009 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 +## + +config CPU_INTEL_SOCKET_PGA370 + bool + default false diff --git a/src/cpu/intel/socket_PGA370/Makefile.inc b/src/cpu/intel/socket_PGA370/Makefile.inc new file mode 100644 index 0000000000..46a851a3d5 --- /dev/null +++ b/src/cpu/intel/socket_PGA370/Makefile.inc @@ -0,0 +1,34 @@ +## +## This file is part of the coreboot project. +## +## Copyright (C) 2009 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 +## + +ifeq ($(CONFIG_CPU_INTEL_SOCKET_PGA370),y) + obj-y += socket_PGA370.o + subdirs-y += ../model_6xx + 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 +endif + diff --git a/src/cpu/intel/socket_mFCPGA478/Kconfig b/src/cpu/intel/socket_mFCPGA478/Kconfig new file mode 100644 index 0000000000..0f01535ecd --- /dev/null +++ b/src/cpu/intel/socket_mFCPGA478/Kconfig @@ -0,0 +1,3 @@ +config CPU_INTEL_SOCKET_MFCPGA478 + bool + default false diff --git a/src/cpu/intel/socket_mFCPGA478/Makefile.inc b/src/cpu/intel/socket_mFCPGA478/Makefile.inc new file mode 100644 index 0000000000..808dd4ffd1 --- /dev/null +++ b/src/cpu/intel/socket_mFCPGA478/Makefile.inc @@ -0,0 +1,17 @@ +ifeq ($(CONFIG_CPU_INTEL_SOCKET_MFCPGA478),y) + obj-y += socket_mFCPGA478.o + subdirs-y += ../model_69x + subdirs-y += ../model_6dx + subdirs-y += ../model_6ex + subdirs-y += ../model_6fx + 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 +endif diff --git a/src/cpu/intel/speedstep/Makefile.inc b/src/cpu/intel/speedstep/Makefile.inc new file mode 100644 index 0000000000..4351d68c21 --- /dev/null +++ b/src/cpu/intel/speedstep/Makefile.inc @@ -0,0 +1,5 @@ +ifeq ($(CONFIG_HAVE_ACPI_TABLES), y) +ifeq ($(CONFIG_CPU_INTEL_SOCKET_MFCPGA478), y) + obj-y += acpi.o +endif +endif diff --git a/src/cpu/ppc/Kconfig b/src/cpu/ppc/Kconfig new file mode 100644 index 0000000000..792d600548 --- /dev/null +++ b/src/cpu/ppc/Kconfig @@ -0,0 +1 @@ +# diff --git a/src/cpu/ppc/Makefile.inc b/src/cpu/ppc/Makefile.inc new file mode 100644 index 0000000000..a9cd587ebc --- /dev/null +++ b/src/cpu/ppc/Makefile.inc @@ -0,0 +1,6 @@ +#subdirs-y += ../simple_init +#subdirs-y += mpc74xx +#subdirs-y += ppc4xx +#subdirs-y += ppc7xx +#subdirs-y += ppc970 + diff --git a/src/cpu/simple_init/Makefile.inc b/src/cpu/simple_init/Makefile.inc new file mode 100644 index 0000000000..486135947e --- /dev/null +++ b/src/cpu/simple_init/Makefile.inc @@ -0,0 +1 @@ +obj-y += simple_cpu_init.o diff --git a/src/cpu/via/Kconfig b/src/cpu/via/Kconfig new file mode 100644 index 0000000000..6927f6d0e1 --- /dev/null +++ b/src/cpu/via/Kconfig @@ -0,0 +1 @@ +source src/cpu/via/model_c7/Kconfig diff --git a/src/cpu/via/Makefile.inc b/src/cpu/via/Makefile.inc new file mode 100644 index 0000000000..6d62f22619 --- /dev/null +++ b/src/cpu/via/Makefile.inc @@ -0,0 +1,2 @@ +#subdirs-y += model_c7 +subdirs-y += model_c7 diff --git a/src/cpu/via/model_c7/Kconfig b/src/cpu/via/model_c7/Kconfig new file mode 100644 index 0000000000..e7e2cd4c5c --- /dev/null +++ b/src/cpu/via/model_c7/Kconfig @@ -0,0 +1,3 @@ +config CPU_VIA_C7 + bool + default n diff --git a/src/cpu/via/model_c7/Makefile.inc b/src/cpu/via/model_c7/Makefile.inc new file mode 100644 index 0000000000..8e645eb0a2 --- /dev/null +++ b/src/cpu/via/model_c7/Makefile.inc @@ -0,0 +1,13 @@ +ifeq ($(CONFIG_CPU_VIA_C7),y) + 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 += ../../intel/microcode +endif + +obj-y += model_c7_init.o diff --git a/src/cpu/x86/Kconfig b/src/cpu/x86/Kconfig new file mode 100644 index 0000000000..b036baf1f5 --- /dev/null +++ b/src/cpu/x86/Kconfig @@ -0,0 +1,11 @@ +config SERIAL_CPU_INIT + bool + default y + +config XIP_ROM_BASE + hex + default 0xfffe0000 + +config XIP_ROM_BASE + hex + default 0x2000 diff --git a/src/cpu/x86/cache/Makefile.inc b/src/cpu/x86/cache/Makefile.inc new file mode 100644 index 0000000000..75679e586b --- /dev/null +++ b/src/cpu/x86/cache/Makefile.inc @@ -0,0 +1 @@ +obj-y += cache.o diff --git a/src/cpu/x86/fpu/Makefile.inc b/src/cpu/x86/fpu/Makefile.inc new file mode 100644 index 0000000000..792d600548 --- /dev/null +++ b/src/cpu/x86/fpu/Makefile.inc @@ -0,0 +1 @@ +# diff --git a/src/cpu/x86/lapic/Makefile.inc b/src/cpu/x86/lapic/Makefile.inc new file mode 100644 index 0000000000..128deb2834 --- /dev/null +++ b/src/cpu/x86/lapic/Makefile.inc @@ -0,0 +1,4 @@ +obj-y += lapic.o +obj-y += lapic_cpu_init.o +obj-y += secondary.o + diff --git a/src/cpu/x86/mmx/Makefile.inc b/src/cpu/x86/mmx/Makefile.inc new file mode 100644 index 0000000000..792d600548 --- /dev/null +++ b/src/cpu/x86/mmx/Makefile.inc @@ -0,0 +1 @@ +# diff --git a/src/cpu/x86/mtrr/Makefile.inc b/src/cpu/x86/mtrr/Makefile.inc new file mode 100644 index 0000000000..b68873e5a6 --- /dev/null +++ b/src/cpu/x86/mtrr/Makefile.inc @@ -0,0 +1 @@ +obj-y += mtrr.o diff --git a/src/cpu/x86/smm/Makefile.inc b/src/cpu/x86/smm/Makefile.inc new file mode 100644 index 0000000000..6a566017ea --- /dev/null +++ b/src/cpu/x86/smm/Makefile.inc @@ -0,0 +1,45 @@ +## +## This file is part of the coreboot project. +## +## Copyright (C) 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; 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 +## + +##if CONFIG_HAVE_SMI_HANDLER +## object smmrelocate.S +## +## smmobject smmhandler.S +## smmobject smihandler.o +## +## makerule smm.o +## depends "$(SMM-OBJECTS) $(TOP)/src/console/printk.o $(TOP)/src/console/vtxprintf.o $(LIBGCC_FILE_NAME)" +## action "$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ $^" +## end +## +## makerule smm +## depends "smm.o $(TOP)/src/cpu/x86/smm/smm.ld ldoptions" +## action "$(CC) $(DISTRO_LFLAGS) -nostdlib -nostartfiles -static -o smm.elf -T $(TOP)/src/cpu/x86/smm/smm.ld smm.o" +## action "$(CONFIG_CROSS_COMPILE)nm -n smm.elf | sort > smm.map" +## action "$(OBJCOPY) -O binary smm.elf smm" +## end +## +## makerule smm_bin.c +## depends "smm" +## action "(echo 'unsigned char smm[] = {'; od -vtx1 smm | sed -e 's,^[0-9]* *,,' -e 's:[0-9a-f][0-9a-f] :0x&,:g' -e 's:[0-9a-f][0-9a-f]$$:0x&,:'; echo '}; unsigned int smm_len = '; wc -c smm |awk '{print $$1;}' ; echo ';') > smm_bin.c" +## end +## +## object ./smm_bin.o +##end diff --git a/src/cpu/x86/sse/Makefile.inc b/src/cpu/x86/sse/Makefile.inc new file mode 100644 index 0000000000..792d600548 --- /dev/null +++ b/src/cpu/x86/sse/Makefile.inc @@ -0,0 +1 @@ +# diff --git a/src/cpu/x86/tsc/Makefile.inc b/src/cpu/x86/tsc/Makefile.inc new file mode 100644 index 0000000000..93bd13720e --- /dev/null +++ b/src/cpu/x86/tsc/Makefile.inc @@ -0,0 +1,7 @@ +obj-y += delay_tsc.o + +# default CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2=0 +# if CONFIG_UDELAY_TSC +# default CONFIG_HAVE_INIT_TIMER=1 +# object delay_tsc.o +# end |