drivers/smmstore: Remove SMMSTORE_IN_CBFS

The SMMSTORE_IN_CBFS option was just meant as a workaround for an
attempt to backport SMMSTORE into older Chromebooks that never actually
happened. All current and future users of coreboot should be using
SMMSTORE in an FMAP region. The APIs needed for SMMSTORE_IN_CBFS clash
with the CBFS rdev isolation needed for CBFS_VERIFICATION, so let's just
get rid of it.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: Ia0604a4ffd20b46774631d585925311b65d5a0e9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59680
Reviewed-by: Patrick Georgi <patrick@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Julius Werner 2021-08-10 16:38:43 -07:00 committed by Patrick Georgi
parent 8ddbc7dcbe
commit 6eeba88050
2 changed files with 7 additions and 38 deletions

View File

@ -19,27 +19,10 @@ config SMMSTORE_V2
By using version 2 you cannot make use of software that expects By using version 2 you cannot make use of software that expects
a version 1 SMMSTORE. a version 1 SMMSTORE.
config SMMSTORE_IN_CBFS
bool
default n
help
Select this if you want to add an SMMSTORE region to a
cbfsfile in a cbfs FMAP region
if SMMSTORE if SMMSTORE
config SMMSTORE_REGION
string "fmap region in which SMM store file is kept" if SMMSTORE_IN_CBFS
default "RW_LEGACY" if CHROMEOS && SMMSTORE_IN_CBFS
default "COREBOOT" if SMMSTORE_IN_CBFS
default "SMMSTORE"
config SMMSTORE_FILENAME
string "SMM store file name" if SMMSTORE_IN_CBFS
default "smm_store"
config SMMSTORE_SIZE config SMMSTORE_SIZE
hex "size of the SMMSTORE FMAP region" hex "size of the SMMSTORE FMAP region"
depends on !SMMSTORE_IN_CBFS
default 0x40000 default 0x40000
help help
Sets the size of the default SMMSTORE FMAP region. Sets the size of the default SMMSTORE FMAP region.

View File

@ -1,7 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
#include <boot_device.h> #include <boot_device.h>
#include <cbfs.h>
#include <fmap.h> #include <fmap.h>
#include <commonlib/helpers.h> #include <commonlib/helpers.h>
#include <commonlib/region.h> #include <commonlib/region.h>
@ -9,6 +8,8 @@
#include <smmstore.h> #include <smmstore.h>
#include <types.h> #include <types.h>
#define SMMSTORE_REGION "SMMSTORE"
/* /*
* 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:
* ( * (
@ -33,27 +34,12 @@
static enum cb_err lookup_store_region(struct region *region) static enum cb_err lookup_store_region(struct region *region)
{ {
if (CONFIG(SMMSTORE_IN_CBFS)) { if (fmap_locate_area(SMMSTORE_REGION, region)) {
struct cbfsf file;
if (cbfs_locate_file_in_region(&file,
CONFIG_SMMSTORE_REGION,
CONFIG_SMMSTORE_FILENAME, NULL) < 0) {
printk(BIOS_WARNING,
"smm store: Unable to find SMM store file in region '%s'\n",
CONFIG_SMMSTORE_REGION);
return CB_ERR;
}
struct region_device rdev;
cbfs_file_data(&rdev, &file);
*region = *region_device_region(&rdev);
} else {
if (fmap_locate_area(CONFIG_SMMSTORE_REGION, region)) {
printk(BIOS_WARNING, printk(BIOS_WARNING,
"smm store: Unable to find SMM store FMAP region '%s'\n", "smm store: Unable to find SMM store FMAP region '%s'\n",
CONFIG_SMMSTORE_REGION); SMMSTORE_REGION);
return CB_ERR; return CB_ERR;
} }
}
return CB_SUCCESS; return CB_SUCCESS;
} }