Attention is currently required from: Michał Żygowski, Michał Kopeć.
Hello build bot (Jenkins), Michał Kopeć,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/68944
to look at the new patch set (#3).
Change subject: soc/intel/common/block/oc_wdt: Add OC watchdog common block ......................................................................
soc/intel/common/block/oc_wdt: Add OC watchdog common block
Add new block for handling overcloking watchdog. The watchdog is present since Skylake or maybe even earlier so it is safe to use with most of the micrarchitectures utilizing intelblocks.
Some FSPs are also utilizing OC watchdog so care must be taken when initializing it. Example integration provided in subsequent patch. The goal is to provide coreboot with additional reliability settings.
The patch adds the common block for initializing and feeding the watchdog. Timeout is configurable via Kconfig and cannot be set to less than 60 seconds to avoid reset loops when full memory training is needed.
The patch also adds support for feeding watchdog in driveless mode, i.e. it utilizies periodic SMI to reload the timeout value and restart the watchdog timer. This is optional and selectable by Kconfig option as well. If the option is not enabled, payload and/or software must ensure to keep feeding the watchdog, otherwise the platform will reset.
Common SMM drivers have also been extended with new APM command to reset/reboot platform and additionally allow known reset for reboot and shutdown in SMI handlers. Platforms should use the new APM command in FADT as reboot value via SMI if watchdog is enabled. This however assumes that no software writes directly to 0xcf9 port to reset platform, otherwise the reset will be treated as unexpected one. Example is added in subsequent patch for Alder Lake.
TEST=Enable watchdog on MSI PRO Z690-A and see the platform resets after some time. Enable the watchdog in driverless mode and see the platform no longer resets and periodic SMI keeps feeding the watchdog.
Signed-off-by: Michał Żygowski michal.zygowski@3mdeb.com Change-Id: Ib494aa0c7581351abca8b496fc5895b2c7cbc5bc --- M src/arch/x86/Makefile.inc M src/include/cpu/x86/smm.h A src/soc/intel/common/block/include/intelblocks/oc_wdt.h A src/soc/intel/common/block/oc_wdt/Kconfig A src/soc/intel/common/block/oc_wdt/Makefile.inc A src/soc/intel/common/block/oc_wdt/oc_wdt.c M src/soc/intel/common/block/smm/smihandler.c M src/soc/intel/common/block/smm/smm.c 8 files changed, 363 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/44/68944/3