drivers/smmstore/store.c: Add static assertion based on fmap

Instead of having runtime failures that are hard to debug because SMM
debugging is disabled by default assert some properties of fmap at
buildtime.

Change-Id: I5b5b511142d93d5799565a8936e9a087117044b3
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61562
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
This commit is contained in:
Arthur Heymans 2022-02-02 20:09:27 +01:00 committed by Martin Roth
parent b8a23013c5
commit 1ba6049ad9
1 changed files with 8 additions and 0 deletions

View File

@ -2,6 +2,7 @@
#include <boot_device.h> #include <boot_device.h>
#include <fmap.h> #include <fmap.h>
#include <fmap_config.h>
#include <commonlib/helpers.h> #include <commonlib/helpers.h>
#include <commonlib/region.h> #include <commonlib/region.h>
#include <console/console.h> #include <console/console.h>
@ -10,6 +11,13 @@
#define SMMSTORE_REGION "SMMSTORE" #define SMMSTORE_REGION "SMMSTORE"
_Static_assert(IS_ALIGNED(FMAP_SECTION_SMMSTORE_START, SMM_BLOCK_SIZE),
"SMMSTORE FMAP region not aligned to 64K");
_Static_assert(SMM_BLOCK_SIZE <= FMAP_SECTION_SMMSTORE_SIZE,
"SMMSTORE FMAP region must be at least 64K");
/* /*
* The region format is still not finalized, but so far it looks like this: * The region format is still not finalized, but so far it looks like this:
* ( * (