Attention is currently required from: Andrey Petrov.
Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/69511 )
Change subject: drivers/intel/fsp2_0: Use cpu_info ......................................................................
drivers/intel/fsp2_0: Use cpu_info
Previously cpu_info() was implemented with a struct on top of an aligned stack. As FSP changed the stack value cpu_info() could not be used in FSP context (which PPI is). Now cpu_info() uses GDT segments, which FSP does not touch so it can be used.
Change-Id: Ic38c1e8e0df6624b5af15c23478ab127ffcbe724 Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c 1 file changed, 18 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/11/69511/1
diff --git a/src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c b/src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c index 36dcff5..4151f6a 100644 --- a/src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c +++ b/src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c @@ -31,7 +31,8 @@ int apicid; uint8_t package, core, thread;
- if (!cpu_info()) + struct cpu_info *info = cpu_info(); + if (!info) return FSP_DEVICE_ERROR;
if (processor_info_buffer == NULL) @@ -40,7 +41,7 @@ if (processor_number >= get_cpu_count()) return FSP_NOT_FOUND;
- apicid = cpu_get_apic_id(processor_number); + apicid = info->cpu->path.apic.apic_id;
if (apicid < 0) return FSP_DEVICE_ERROR;