summaryrefslogtreecommitdiff
path: root/src/cpu/x86
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2024-08-22 23:59:45 +0200
committerArthur Heymans <arthur@aheymans.xyz>2024-08-30 07:35:10 +0000
commit77ab1514607b7b379d6538729b5df04369f006c3 (patch)
treef090b9c97223d4cb92cf3e5c76266b4d12bb62ee /src/cpu/x86
parente5742fbd97dedfd787e43333001fa72fb99f50c9 (diff)
ext_stage_cache: Make sure variables are initialized
GCC LTO incorrectly warns about this it seems. This also exits gracefully from stage-cache code if no smm region is found. Change-Id: Ib1851295646258e97c489dc7402b9df3fcf092c1 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84040 Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/cpu/x86')
-rw-r--r--src/cpu/x86/smm/tseg_region.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/cpu/x86/smm/tseg_region.c b/src/cpu/x86/smm/tseg_region.c
index 413d5fcb8b..90e61dc426 100644
--- a/src/cpu/x86/smm/tseg_region.c
+++ b/src/cpu/x86/smm/tseg_region.c
@@ -53,8 +53,6 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size)
sub_size = ied_size;
break;
default:
- *start = 0;
- *size = 0;
return -1;
}
@@ -65,11 +63,10 @@ int smm_subregion(int sub, uintptr_t *start, size_t *size)
void stage_cache_external_region(void **base, size_t *size)
{
- if (smm_subregion(SMM_SUBREGION_CACHE, (uintptr_t *)base, size)) {
+ *base = NULL;
+ *size = 0;
+ if (smm_subregion(SMM_SUBREGION_CACHE, (uintptr_t *)base, size))
printk(BIOS_ERR, "No cache SMM subregion.\n");
- *base = NULL;
- *size = 0;
- }
}
void smm_list_regions(void)