| ## |
| ## This file is part of the coreboot project. |
| ## |
| ## Copyright (C) 2012 The Chromium OS Authors. All rights reserved. |
| ## |
| ## This program is free software; you can redistribute it and/or modify |
| ## it under the terms of the GNU General Public License as published by |
| ## the Free Software Foundation; version 2 of the License. |
| ## |
| ## This program is distributed in the hope that it will be useful, |
| ## but WITHOUT ANY WARRANTY; without even the implied warranty of |
| ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| ## GNU General Public License for more details. |
| ## |
| ## You should have received a copy of the GNU General Public License |
| ## along with this program; if not, write to the Free Software |
| ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| ## |
| |
| config ELOG |
| depends on SPI_FLASH |
| bool "Support for flash based event log" |
| default n |
| help |
| Enable support for flash based event logging. |
| |
| if ELOG |
| |
| config ELOG_DEBUG |
| bool "Enable debug output for event logging" |
| default n |
| |
| config ELOG_FLASH_BASE |
| hex "Event log offset into flash" |
| default 0 |
| help |
| Offset into the flash chip for the ELOG block. |
| This should be allocated in the FMAP. |
| |
| config ELOG_AREA_SIZE |
| hex "Size of Event Log area in flash" |
| default 0x1000 |
| help |
| This should be a multiple of flash block size. |
| |
| Default is 4K. |
| |
| config ELOG_FULL_THRESHOLD |
| hex "Threshold at which flash is considered full" |
| default 0xC00 |
| help |
| When the Event Log size is larger than this it will be shrunk |
| to ELOG_SHRINK_SIZE. Must be greater than ELOG_AREA_SIZE, and |
| ELOG_AREA_SIZE - ELOG_FULL_THRESHOLD must be greater than the |
| maximum event size of 128. |
| |
| Default is 75% of the log, or 3K. |
| |
| config ELOG_SHRINK_SIZE |
| hex "Resulting size when the event log is shrunk" |
| default 0x400 |
| help |
| When the Event Log is shrunk it will go to this size. |
| ELOG_AREA_SIZE - ELOG_SHRINK_SIZE must be less than |
| CONFIG_ELOG_FULL_THRESHOLD. |
| |
| Default is 1K. |
| |
| config ELOG_CBMEM |
| bool "Store a copy of ELOG in CBMEM" |
| default n |
| help |
| This option will have ELOG store a copy of the flash event log |
| in a CBMEM region and export that address in SMBIOS to the OS. |
| This is useful if the ELOG location is not in memory mapped flash, |
| but it means that events added at runtime via the SMI handler |
| will not be reflected in the CBMEM copy of the log. |
| |
| endif |
| |
| config ELOG_GSMI |
| depends on ELOG && SPI_FLASH_SMM && SMM_TSEG |
| bool "SMI interface to write and clear event log" |
| default n |
| help |
| This interface is compatible with the linux kernel driver |
| available with CONFIG_GOOGLE_GSMI and can be used to write |
| kernel reset/shutdown messages to the event log. |
| |
| config ELOG_BOOT_COUNT |
| depends on ELOG |
| bool "Maintain a monotonic boot number in CMOS" |
| default n |
| help |
| Store a monotonic boot number in CMOS and provide an interface |
| to read the current value and increment the counter. This boot |
| counter will be logged as part of the System Boot event. |
| |
| config ELOG_BOOT_COUNT_CMOS_OFFSET |
| depends on ELOG && ELOG_BOOT_COUNT && !USE_OPTION_TABLE |
| int "Offset in CMOS to store the boot count" |
| default 0 |
| help |
| This value must be greater than 16 bytes so as not to interfere |
| with the standard RTC region. Requires 8 bytes. |