summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2016-03-07 16:23:47 -0600
committerAaron Durbin <adurbin@chromium.org>2016-03-08 23:58:01 +0100
commit2a08137feebaf0f8f55feeff00096f5a9d03f44c (patch)
tree269676f6d212e7d02d4069891d629881ccb7b034
parentf5452085979d9031023b1b810abf0493757e6287 (diff)
x86 chipsets: utilize x86_setup_mtrrs_with_detect()
For all the chipsets which were performing the following sequence: x86_setup_fixed_mtrrs(); x86_setup_var_mtrrs(cpuid_eax(0x80000008) & 0xff, 2); Replace that with x86_setup_mtrrs_with_detect() since it is equivalent. Change-Id: I9f362dbf38942d675f615d22b9e5770ce65e5a08 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/13936 Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) Reviewed-by: Andrey Petrov <andrey.petrov@intel.com>
-rw-r--r--src/cpu/intel/fsp_model_206ax/model_206ax_init.c5
-rw-r--r--src/cpu/intel/haswell/haswell_init.c3
-rw-r--r--src/cpu/intel/model_2065x/model_2065x_init.c5
-rw-r--r--src/cpu/intel/model_206ax/model_206ax_init.c5
-rw-r--r--src/soc/intel/baytrail/cpu.c3
-rw-r--r--src/soc/intel/braswell/cpu.c3
-rw-r--r--src/soc/intel/broadwell/cpu.c3
-rw-r--r--src/soc/intel/skylake/cpu.c3
8 files changed, 8 insertions, 22 deletions
diff --git a/src/cpu/intel/fsp_model_206ax/model_206ax_init.c b/src/cpu/intel/fsp_model_206ax/model_206ax_init.c
index f6e352eea2..da1ea2b750 100644
--- a/src/cpu/intel/fsp_model_206ax/model_206ax_init.c
+++ b/src/cpu/intel/fsp_model_206ax/model_206ax_init.c
@@ -366,7 +366,6 @@ static void intel_cores_init(struct device *cpu)
static void model_206ax_init(struct device *cpu)
{
char processor_name[49];
- struct cpuid_result cpuid_regs;
/* Turn on caching if we haven't already */
x86_enable_cache();
@@ -381,9 +380,7 @@ static void model_206ax_init(struct device *cpu)
printk(BIOS_INFO, "CPU: %s.\n", processor_name);
/* Setup MTRRs based on physical address size */
- cpuid_regs = cpuid(0x80000008);
- x86_setup_fixed_mtrrs();
- x86_setup_var_mtrrs(cpuid_regs.eax & 0xff, 2);
+ x86_setup_mtrrs_with_detect();
x86_mtrr_check();
/* Setup Page Attribute Tables (PAT) */
diff --git a/src/cpu/intel/haswell/haswell_init.c b/src/cpu/intel/haswell/haswell_init.c
index 5c34a3085e..b4bff83300 100644
--- a/src/cpu/intel/haswell/haswell_init.c
+++ b/src/cpu/intel/haswell/haswell_init.c
@@ -717,8 +717,7 @@ static void configure_mca(void)
static void bsp_init_before_ap_bringup(struct bus *cpu_bus)
{
/* Setup MTRRs based on physical address size. */
- x86_setup_fixed_mtrrs();
- x86_setup_var_mtrrs(cpuid_eax(0x80000008) & 0xff, 2);
+ x86_setup_mtrrs_with_detect();
x86_mtrr_check();
initialize_vr_config();
diff --git a/src/cpu/intel/model_2065x/model_2065x_init.c b/src/cpu/intel/model_2065x/model_2065x_init.c
index d7248422b7..4005b3d07c 100644
--- a/src/cpu/intel/model_2065x/model_2065x_init.c
+++ b/src/cpu/intel/model_2065x/model_2065x_init.c
@@ -358,7 +358,6 @@ static void intel_cores_init(struct device *cpu)
static void model_2065x_init(struct device *cpu)
{
char processor_name[49];
- struct cpuid_result cpuid_regs;
/* Turn on caching if we haven't already */
x86_enable_cache();
@@ -374,9 +373,7 @@ static void model_2065x_init(struct device *cpu)
printk(BIOS_INFO, "CPU:lapic=%ld, boot_cpu=%d\n", lapicid (), boot_cpu ());
/* Setup MTRRs based on physical address size */
- cpuid_regs = cpuid(0x80000008);
- x86_setup_fixed_mtrrs();
- x86_setup_var_mtrrs(cpuid_regs.eax & 0xff, 2);
+ x86_setup_mtrrs_with_detect();
x86_mtrr_check();
/* Setup Page Attribute Tables (PAT) */
diff --git a/src/cpu/intel/model_206ax/model_206ax_init.c b/src/cpu/intel/model_206ax/model_206ax_init.c
index ae2332e42c..7575603ac8 100644
--- a/src/cpu/intel/model_206ax/model_206ax_init.c
+++ b/src/cpu/intel/model_206ax/model_206ax_init.c
@@ -552,7 +552,6 @@ static void intel_cores_init(struct device *cpu)
static void model_206ax_init(struct device *cpu)
{
char processor_name[49];
- struct cpuid_result cpuid_regs;
/* Turn on caching if we haven't already */
x86_enable_cache();
@@ -567,9 +566,7 @@ static void model_206ax_init(struct device *cpu)
printk(BIOS_INFO, "CPU: %s.\n", processor_name);
/* Setup MTRRs based on physical address size */
- cpuid_regs = cpuid(0x80000008);
- x86_setup_fixed_mtrrs();
- x86_setup_var_mtrrs(cpuid_regs.eax & 0xff, 2);
+ x86_setup_mtrrs_with_detect();
x86_mtrr_check();
/* Setup Page Attribute Tables (PAT) */
diff --git a/src/soc/intel/baytrail/cpu.c b/src/soc/intel/baytrail/cpu.c
index 9c69d1675e..6188689c6c 100644
--- a/src/soc/intel/baytrail/cpu.c
+++ b/src/soc/intel/baytrail/cpu.c
@@ -83,8 +83,7 @@ void baytrail_init_cpus(device_t dev)
void *default_smm_area;
/* Set up MTRRs based on physical address size. */
- x86_setup_fixed_mtrrs();
- x86_setup_var_mtrrs(pattrs->address_bits, 2);
+ x86_setup_mtrrs_with_detect();
x86_mtrr_check();
mp_params.num_cpus = pattrs->num_cpus,
diff --git a/src/soc/intel/braswell/cpu.c b/src/soc/intel/braswell/cpu.c
index feb9d9b84a..71af487840 100644
--- a/src/soc/intel/braswell/cpu.c
+++ b/src/soc/intel/braswell/cpu.c
@@ -89,8 +89,7 @@ void soc_init_cpus(device_t dev)
__FILE__, __func__, dev_name(dev));
/* Set up MTRRs based on physical address size. */
- x86_setup_fixed_mtrrs();
- x86_setup_var_mtrrs(pattrs->address_bits, 2);
+ x86_setup_mtrrs_with_detect();
x86_mtrr_check();
mp_params.num_cpus = pattrs->num_cpus,
diff --git a/src/soc/intel/broadwell/cpu.c b/src/soc/intel/broadwell/cpu.c
index 4a94c1d3fa..5f3fb152cf 100644
--- a/src/soc/intel/broadwell/cpu.c
+++ b/src/soc/intel/broadwell/cpu.c
@@ -573,8 +573,7 @@ static void configure_mca(void)
static void bsp_init_before_ap_bringup(struct bus *cpu_bus)
{
/* Setup MTRRs based on physical address size. */
- x86_setup_fixed_mtrrs();
- x86_setup_var_mtrrs(cpuid_eax(0x80000008) & 0xff, 2);
+ x86_setup_mtrrs_with_detect();
x86_mtrr_check();
initialize_vr_config();
diff --git a/src/soc/intel/skylake/cpu.c b/src/soc/intel/skylake/cpu.c
index 327bee90c3..d154f0ec51 100644
--- a/src/soc/intel/skylake/cpu.c
+++ b/src/soc/intel/skylake/cpu.c
@@ -343,8 +343,7 @@ static void configure_mca(void)
static void bsp_init_before_ap_bringup(struct bus *cpu_bus)
{
/* Setup MTRRs based on physical address size. */
- x86_setup_fixed_mtrrs();
- x86_setup_var_mtrrs(cpuid_eax(0x80000008) & 0xff, 2);
+ x86_setup_mtrrs_with_detect();
x86_mtrr_check();
}