arch/x86: Skip returning default leaf value as `0`
`cpu_get_cache_info_leaf()` function is responsible to report leaf
value for CPU that have support for deterministic cache cpuid. As per
available datasheets from AMD and Intel the supported CPUID leafs are
0x8000_001d for AMD and 0x04 for Intel. Hence, this CL skips returning
default leaf value as `0`.
TEST=Verified fixes: e2b5fee3b0
(arch/x86: smbios write 7 table using
deterministic cache functions) hang issue on ASRock E350M1.
Change-Id: Iee33b39298e7821ac5280d998172b58a70c8715b
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/57305
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
04096b9773
commit
72f1e62bbb
|
@ -109,14 +109,11 @@ enum cpu_type cpu_check_deterministic_cache_cpuid_supported(void)
|
||||||
|
|
||||||
static uint32_t cpu_get_cache_info_leaf(void)
|
static uint32_t cpu_get_cache_info_leaf(void)
|
||||||
{
|
{
|
||||||
switch (cpu_check_deterministic_cache_cpuid_supported()) {
|
uint32_t leaf = (cpu_check_deterministic_cache_cpuid_supported() == CPUID_TYPE_AMD) ?
|
||||||
case CPUID_TYPE_AMD:
|
DETERMINISTIC_CACHE_PARAMETERS_CPUID_AMD :
|
||||||
return DETERMINISTIC_CACHE_PARAMETERS_CPUID_AMD;
|
DETERMINISTIC_CACHE_PARAMETERS_CPUID_IA;
|
||||||
case CPUID_TYPE_INTEL:
|
|
||||||
return DETERMINISTIC_CACHE_PARAMETERS_CPUID_IA;
|
return leaf;
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t cpu_get_cache_ways_assoc_info(const struct cpu_cache_info *info)
|
size_t cpu_get_cache_ways_assoc_info(const struct cpu_cache_info *info)
|
||||||
|
|
Loading…
Reference in New Issue