diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2023-04-13 12:20:30 +0200 |
---|---|---|
committer | Subrata Banik <subratabanik@google.com> | 2023-04-13 11:32:38 +0000 |
commit | f4dff389ee90640cd2f9cd4b34f59ce14a738379 (patch) | |
tree | 4b8e790025b1e45768f092dba37113b9f4b61ccd /src/cpu | |
parent | 6f1b7d79b389a0c694f4fc41afee3d4ad565376e (diff) |
cpu/x86/mp_init.c: Set topology on BSP
The BSP might have non-zero lapicid so set the topology accordingly,
without assuming it is 0. This fixes a cpu exception on at least Intel
Meteorlake. This was caused by FSP CPU PPI being giving incorrect
information about the BSP topology.
This problem was introduced by 8b8400a "drivers/fsp2_0/mp_service_ppi:
Use struct device to fill in buffer" which sets the PPI struct based on
struct device.
TESTED on google/rex
Change-Id: I3fae5efa86d8efc474c129b48bdfa1d1e2306acf
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74374
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/x86/mp_init.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cpu/x86/mp_init.c b/src/cpu/x86/mp_init.c index 4e92b75954..28d6092d0d 100644 --- a/src/cpu/x86/mp_init.c +++ b/src/cpu/x86/mp_init.c @@ -554,6 +554,7 @@ static enum cb_err init_bsp(struct bus *cpu_bus) return CB_ERR; } bsp->path.apic.initial_lapicid = initial_lapicid(); + set_cpu_topology_from_leaf_b(bsp); /* Find the device structure for the boot CPU. */ set_cpu_info(0, bsp); |