Angel Pons has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/44237 )
Change subject: cpu/intel/model_{68x,6bx}: Unify CPU code ......................................................................
cpu/intel/model_{68x,6bx}: Unify CPU code
Both CPU models have the same initialization sequence, so merge them. Apparently, this does not affect the remaining free space in CBFS.
Change-Id: Ic7430e9c98741f4bd3dcf3fdd07ca80d307d2159 Signed-off-by: Angel Pons th3fanbus@gmail.com --- D src/cpu/intel/model_68x/Makefile.inc A src/cpu/intel/model_68x_6bx/Makefile.inc R src/cpu/intel/model_68x_6bx/model_68x_6bx_init.c D src/cpu/intel/model_6bx/Makefile.inc D src/cpu/intel/model_6bx/model_6bx_init.c M src/cpu/intel/slot_1/Makefile.inc 6 files changed, 13 insertions(+), 61 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/37/44237/1
diff --git a/src/cpu/intel/model_68x/Makefile.inc b/src/cpu/intel/model_68x/Makefile.inc deleted file mode 100644 index e9344b4..0000000 --- a/src/cpu/intel/model_68x/Makefile.inc +++ /dev/null @@ -1,6 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-or-later - -ramstage-y += model_68x_init.c -subdirs-y += ../../x86/name - -cpu_microcode_bins += $(wildcard 3rdparty/intel-microcode/intel-ucode/06-08-*) diff --git a/src/cpu/intel/model_68x_6bx/Makefile.inc b/src/cpu/intel/model_68x_6bx/Makefile.inc new file mode 100644 index 0000000..b12f4d0 --- /dev/null +++ b/src/cpu/intel/model_68x_6bx/Makefile.inc @@ -0,0 +1,7 @@ +## SPDX-License-Identifier: GPL-2.0-or-later + +ramstage-y += model_68x_6bx_init.c +subdirs-y += ../../x86/name + +cpu_microcode_bins += $(wildcard 3rdparty/intel-microcode/intel-ucode/06-08-*) +cpu_microcode_bins += $(wildcard 3rdparty/intel-microcode/intel-ucode/06-0b-*) diff --git a/src/cpu/intel/model_68x/model_68x_init.c b/src/cpu/intel/model_68x_6bx/model_68x_6bx_init.c similarity index 84% rename from src/cpu/intel/model_68x/model_68x_init.c rename to src/cpu/intel/model_68x_6bx/model_68x_6bx_init.c index 22ce332..dc23a7be 100644 --- a/src/cpu/intel/model_68x/model_68x_init.c +++ b/src/cpu/intel/model_68x_6bx/model_68x_6bx_init.c @@ -9,7 +9,7 @@ #include <cpu/x86/cache.h> #include <cpu/x86/name.h>
-static void model_68x_init(struct device *cpu) +static void model_68x_6bx_init(struct device *cpu) { char processor_name[49];
@@ -32,7 +32,7 @@ }
static struct device_operations cpu_dev_ops = { - .init = model_68x_init, + .init = model_68x_6bx_init, };
static const struct cpu_device_id cpu_table[] = { @@ -42,6 +42,9 @@ { X86_VENDOR_INTEL, 0x0686 }, /* PIII/Celeron, cC0/C0/BC0/PC0/MC0 */ { X86_VENDOR_INTEL, 0x068a }, /* PIII/Celeron, cD0/D0/BD0/PD0 */
+ { X86_VENDOR_INTEL, 0x06b1 }, /* Pentium III/Celeron, tA1/A1/FPA1 */ + { X86_VENDOR_INTEL, 0x06b4 }, /* Pentium III, tB1/FPB1 */ + { 0, 0 }, };
diff --git a/src/cpu/intel/model_6bx/Makefile.inc b/src/cpu/intel/model_6bx/Makefile.inc deleted file mode 100644 index 84f4ff0..0000000 --- a/src/cpu/intel/model_6bx/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -ramstage-y += model_6bx_init.c -subdirs-y += ../../x86/name - -cpu_microcode_bins += $(wildcard 3rdparty/intel-microcode/intel-ucode/06-0b-*) diff --git a/src/cpu/intel/model_6bx/model_6bx_init.c b/src/cpu/intel/model_6bx/model_6bx_init.c deleted file mode 100644 index 3d633bf..0000000 --- a/src/cpu/intel/model_6bx/model_6bx_init.c +++ /dev/null @@ -1,47 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#include <console/console.h> -#include <device/device.h> -#include <cpu/cpu.h> -#include <cpu/x86/mtrr.h> -#include <cpu/x86/lapic.h> -#include <cpu/intel/microcode.h> -#include <cpu/x86/cache.h> -#include <cpu/x86/name.h> - -static void model_6bx_init(struct device *cpu) -{ - char processor_name[49]; - - /* Turn on caching if we haven't already */ - x86_enable_cache(); - - /* Update the microcode */ - intel_update_microcode_from_cbfs(); - - /* Print processor name */ - fill_processor_name(processor_name); - printk(BIOS_INFO, "CPU: %s.\n", processor_name); - - /* Setup MTRRs */ - x86_setup_mtrrs(); - x86_mtrr_check(); - - /* Enable the local CPU APICs */ - setup_lapic(); -} - -static struct device_operations cpu_dev_ops = { - .init = model_6bx_init, -}; - -static const struct cpu_device_id cpu_table[] = { - { X86_VENDOR_INTEL, 0x06b1 }, /* Pentium III/Celeron, tA1/A1/FPA1 */ - { X86_VENDOR_INTEL, 0x06b4 }, /* Pentium III, tB1/FPB1 */ - { 0, 0 }, -}; - -static const struct cpu_driver driver __cpu_driver = { - .ops = &cpu_dev_ops, - .id_table = cpu_table, -}; diff --git a/src/cpu/intel/slot_1/Makefile.inc b/src/cpu/intel/slot_1/Makefile.inc index 489a3c4..593e585 100644 --- a/src/cpu/intel/slot_1/Makefile.inc +++ b/src/cpu/intel/slot_1/Makefile.inc @@ -4,8 +4,7 @@ ramstage-y += l2_cache.c subdirs-y += ../model_6xx subdirs-y += ../model_65x_67x -subdirs-y += ../model_68x -subdirs-y += ../model_6bx +subdirs-y += ../model_68x_6bx subdirs-y += ../microcode
bootblock-y += ../car/p3/cache_as_ram.S