nb/intel/sandybridge: Use SA devid to identify PC type

Instead of using MSR IA32_PLATFORM_ID read the SystemAgent device id
to figure out the PC type. This follows the BWG which suggest to not
use MSR IA32_PLATFORM_ID for system identification.

Tested: Lenovo X220 still boots.

Change-Id: Ibddf6c75d15ca7a99758c377ed956d483abe7ec1
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78826
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
Patrick Rudolph 2023-10-29 19:44:52 +01:00 committed by Felix Held
commit 51518e585d
6 changed files with 15 additions and 29 deletions

View file

@ -9,10 +9,6 @@ subdirs-y += ../turbo
ramstage-y += acpi.c
ramstage-y += common.c
romstage-y += common.c
smm-y += common.c
smm-y += finalize.c
cpu_microcode_bins += $(wildcard 3rdparty/intel-microcode/intel-ucode/06-2a-*)

View file

@ -1,13 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <cpu/x86/msr.h>
#include "model_206ax.h"
int get_platform_id(void)
{
msr_t msr;
msr = rdmsr(IA32_PLATFORM_ID);
/* Read Platform Id Bits 52:50 */
return (msr.hi >> 18) & 0x7;
}

View file

@ -131,7 +131,6 @@ void intel_model_206ax_finalize_smm(void);
/* Configure power limits for turbo mode */
void set_power_limits(u8 power_limit_1_time);
int cpu_config_tdp_levels(void);
int get_platform_id(void);
static inline u8 cpu_stepping(void)
{

View file

@ -323,9 +323,6 @@ static void model_206ax_report(void)
fill_processor_name(processor_name);
printk(BIOS_INFO, "CPU: %s.\n", processor_name);
/* Print platform ID */
printk(BIOS_INFO, "CPU: platform id %x\n", get_platform_id());
/* CPUID and features */
cpu_id = cpu_get_cpuid();
printk(BIOS_INFO, "CPU: cpuid(1) 0x%x\n", cpu_id);