aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/elog/elog.c
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2016-07-22 14:30:55 -0500
committerAaron Durbin <adurbin@chromium.org>2016-07-24 00:07:54 +0200
commit5d208ff3952edf1d9bd9d1edaccd34f4d17e3db0 (patch)
treee793c9d5803dfb66fc68d0f568b95dbd543f1ba9 /src/drivers/elog/elog.c
parente9a9c6a33cfc066b690082e938d84b318f6de32a (diff)
drivers/elog: remove elog Kconfig variables
Now that FMAP is a first class citizen in coreboot there's no reason to have alternate locations for ELOG. If one wants eventlog support they need to specify the ELOG entry in the FMAP. The one side effect is that the code was previously limiting the size to 4KiB because the default ELOG_AREA_SIZE was 4KiB. However, that's no longer the case as the FMAP region size is honored. Change-Id: I4ce5f15032387155d2f56f0de61f2d85271ba606 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/15814 Tested-by: build bot (Jenkins) Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Diffstat (limited to 'src/drivers/elog/elog.c')
-rw-r--r--src/drivers/elog/elog.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/src/drivers/elog/elog.c b/src/drivers/elog/elog.c
index d05ce48368..95660784aa 100644
--- a/src/drivers/elog/elog.c
+++ b/src/drivers/elog/elog.c
@@ -35,10 +35,6 @@
#include "elog_internal.h"
-#if !IS_ENABLED(CONFIG_CHROMEOS) && CONFIG_ELOG_FLASH_BASE == 0
-#error "CONFIG_ELOG_FLASH_BASE is invalid"
-#endif
-
#if CONFIG_ELOG_DEBUG
#define elog_debug(STR...) printk(BIOS_DEBUG, STR)
#else
@@ -493,24 +489,19 @@ int elog_clear(void)
static void elog_find_flash(void)
{
+ struct region r;
+
elog_debug("elog_find_flash()\n");
- if (IS_ENABLED(CONFIG_CHROMEOS)) {
- /* Find the ELOG base and size in FMAP */
- struct region r;
-
- if (fmap_locate_area("RW_ELOG", &r) < 0) {
- printk(BIOS_WARNING,
- "ELOG: Unable to find RW_ELOG in FMAP\n");
- flash_base = total_size = 0;
- } else {
- flash_base = region_offset(&r);
- total_size = MIN(region_sz(&r), CONFIG_ELOG_AREA_SIZE);
- }
+ /* Find the ELOG base and size in FMAP */
+ if (fmap_locate_area("RW_ELOG", &r) < 0) {
+ printk(BIOS_WARNING, "ELOG: Unable to find RW_ELOG in FMAP\n");
+ flash_base = total_size = 0;
} else {
- flash_base = CONFIG_ELOG_FLASH_BASE;
- total_size = CONFIG_ELOG_AREA_SIZE;
+ flash_base = region_offset(&r);
+ total_size = region_sz(&r);
}
+
log_size = total_size - sizeof(struct elog_header);
full_threshold = log_size - ELOG_MIN_AVAILABLE_ENTRIES * MAX_EVENT_SIZE;
shrink_size = MIN(total_size * ELOG_SHRINK_PERCENTAGE / 100,