agesawrapper.c: check if HOP_COUNT_TABLE exists before AmdInitLate()

If HOP_COUNT_TABLE doesn't exist AmdInitLate() returns error when
creating CDIT, which scaries users. This patch turns off CDIT generation.

After this patch AGESA_UNSUPPORTED is returned due to a bug in
AGESA which cannot be walked around without disabling DMI table
generation (`AGESA_STATUS Status = TRUE`, present in open source
version of AGESA too).

Change-Id: I868aa840ad3495a66a9d70b7803af237e7d5f049
Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/30475
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Krystian Hebel 2018-12-28 15:41:58 +01:00 committed by Patrick Georgi
parent 6fffd70435
commit 3f88d7fd29
1 changed files with 5 additions and 0 deletions

View File

@ -274,6 +274,11 @@ AGESA_STATUS agesawrapper_amdinitlate(void)
AmdLateParams = (AMD_LATE_PARAMS *)AmdParamStruct.NewStructPtr; AmdLateParams = (AMD_LATE_PARAMS *)AmdParamStruct.NewStructPtr;
AmdLateParams->GnbLateConfiguration.GnbIoapicId = CONFIG_MAX_CPUS + 1; AmdLateParams->GnbLateConfiguration.GnbIoapicId = CONFIG_MAX_CPUS + 1;
AmdLateParams->GnbLateConfiguration.FchIoapicId = CONFIG_MAX_CPUS; AmdLateParams->GnbLateConfiguration.FchIoapicId = CONFIG_MAX_CPUS;
/* Code for creating CDIT requires hop count table. If it is not
* present AGESA_ERROR is returned, which confuses users. CDIT is not
* written to the ACPI tables anyway. */
AmdLateParams->PlatformConfig.UserOptionCdit = 0;
Status = AmdInitLate(AmdLateParams); Status = AmdInitLate(AmdLateParams);
if (Status != AGESA_SUCCESS) { if (Status != AGESA_SUCCESS) {
agesawrapper_amdreadeventlog(AmdLateParams->StdHeader.HeapStatus); agesawrapper_amdreadeventlog(AmdLateParams->StdHeader.HeapStatus);