<p>Daniel Kurtz would like Daniel Kurtz to <strong>review</strong> this change.</p><p><a href="https://review.coreboot.org/26528">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">elog: Only log POST code from previous boot on non-S3 resume<br><br>It doesn't make sense to log post codes from a previous (failed) boot<br>if we are resuming from S3, since the previous boot has to have been<br>successful in order to enter S3 in the first place.<br><br>While we are at it, use a helper function to combine conditionals and<br>improve readability.<br><br>BUG=none<br>TEST=boot, suspend & resume grunt<br><br>Change-Id: I4f3bb8526a0c8c0ea1efd924628b33c147543b88<br>Signed-off-by: Daniel Kurtz <djkurtz@chromium.org><br>---<br>M src/drivers/elog/elog.c<br>1 file changed, 20 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/28/26528/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/drivers/elog/elog.c b/src/drivers/elog/elog.c</span><br><span>index ff4f036..d41457d 100644</span><br><span>--- a/src/drivers/elog/elog.c</span><br><span>+++ b/src/drivers/elog/elog.c</span><br><span>@@ -737,6 +737,21 @@</span><br><span> }</span><br><span> </span><br><span> /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * Do not log boot count events in S3 resume or SMM.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+static bool elog_do_add_boot_count(void)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     if (ENV_SMM)</span><br><span style="color: hsl(120, 100%, 40%);">+          return false;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)</span><br><span style="color: hsl(120, 100%, 40%);">+      return !acpi_is_wakeup_s3();</span><br><span style="color: hsl(120, 100%, 40%);">+#else</span><br><span style="color: hsl(120, 100%, 40%);">+   return true;</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span>  * Event log main entry point</span><br><span>  */</span><br><span> int elog_init(void)</span><br><span>@@ -784,20 +799,15 @@</span><br><span>                " shrink size %d\n", region_device_sz(&nv_dev),</span><br><span>                 full_threshold, shrink_size);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#if !defined(__SMM__)</span><br><span style="color: hsl(0, 100%, 40%);">-  /* Log boot count event except in S3 resume */</span><br><span style="color: hsl(0, 100%, 40%);">-#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)</span><br><span style="color: hsl(0, 100%, 40%);">-   if (!acpi_is_wakeup_s3())</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(120, 100%, 40%);">+       if (elog_do_add_boot_count()) {</span><br><span>              elog_add_event_dword(ELOG_TYPE_BOOT, boot_count_read());</span><br><span> </span><br><span> #if IS_ENABLED(CONFIG_ARCH_X86)</span><br><span style="color: hsl(0, 100%, 40%);">- /* Check and log POST codes from previous boot */</span><br><span style="color: hsl(0, 100%, 40%);">-       if (IS_ENABLED(CONFIG_CMOS_POST))</span><br><span style="color: hsl(0, 100%, 40%);">-               cmos_post_log();</span><br><span style="color: hsl(120, 100%, 40%);">+              /* Check and log POST codes from previous boot */</span><br><span style="color: hsl(120, 100%, 40%);">+             if (IS_ENABLED(CONFIG_CMOS_POST))</span><br><span style="color: hsl(120, 100%, 40%);">+                     cmos_post_log();</span><br><span> #endif</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span>    return 0;</span><br><span> }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/26528">change 26528</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/26528"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I4f3bb8526a0c8c0ea1efd924628b33c147543b88 </div>
<div style="display:none"> Gerrit-Change-Number: 26528 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Daniel Kurtz <djkurtz@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Daniel Kurtz <djkurtz@chromium.org> </div>