Attention is currently required from: Arthur Heymans. Hello Arthur Heymans,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/61562
to review the following change.
Change subject: drivers/smmstore/store.c: Add static assertion based on fmap ......................................................................
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 --- M src/drivers/smmstore/store.c 1 file changed, 8 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/62/61562/1
diff --git a/src/drivers/smmstore/store.c b/src/drivers/smmstore/store.c index 24e8a88..6ba3f53 100644 --- a/src/drivers/smmstore/store.c +++ b/src/drivers/smmstore/store.c @@ -2,6 +2,7 @@
#include <boot_device.h> #include <fmap.h> +#include <fmap_config.h> #include <commonlib/helpers.h> #include <commonlib/region.h> #include <console/console.h> @@ -10,6 +11,13 @@
#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: * (