<p>Philipp Deppenwiese <strong>merged</strong> this change.</p><p><a href="https://review.coreboot.org/18257">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  build bot (Jenkins): Verified
  Martin Roth: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">msrtool: add support for printing string values<br><br>The VIA CPUs allow setting the CPUID vendor, which is best read as<br>a character string.<br><br>Change-Id: I67f77ca75f7d77e47b3ba09bad904df5805e373a<br>Signed-off-by: Lubomir Rintel <lkundrak@v3.sk><br>Reviewed-on: https://review.coreboot.org/18257<br>Tested-by: build bot (Jenkins) <no-reply@coreboot.org><br>Reviewed-by: Martin Roth <martinroth@google.com><br>---<br>M util/msrtool/msrtool.h<br>M util/msrtool/msrutils.c<br>2 files changed, 25 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/util/msrtool/msrtool.h b/util/msrtool/msrtool.h</span><br><span>index 93881e9..1e923c4 100644</span><br><span>--- a/util/msrtool/msrtool.h</span><br><span>+++ b/util/msrtool/msrtool.h</span><br><span>@@ -45,7 +45,8 @@</span><br><span>         PRESENT_BIN,</span><br><span>         PRESENT_OCT,</span><br><span>         PRESENT_HEX,</span><br><span style="color: hsl(0, 100%, 40%);">-    PRESENT_HEXDEC</span><br><span style="color: hsl(120, 100%, 40%);">+        PRESENT_HEXDEC,</span><br><span style="color: hsl(120, 100%, 40%);">+       PRESENT_STR,</span><br><span> } PresentTypes;</span><br><span> </span><br><span> struct msr {</span><br><span>@@ -162,6 +163,7 @@</span><br><span> </span><br><span> /* msrutils.c */</span><br><span> void hexprint(FILE *f, const struct msr val, const uint8_t bits);</span><br><span style="color: hsl(120, 100%, 40%);">+void strprint(FILE *f, const struct msr val, const uint8_t bits);</span><br><span> int msr_eq(const struct msr a, const struct msr b);</span><br><span> struct msr msr_shl(const struct msr a, const uint8_t bits);</span><br><span> struct msr msr_shr(const struct msr a, const uint8_t bits);</span><br><span>diff --git a/util/msrtool/msrutils.c b/util/msrtool/msrutils.c</span><br><span>index 57a271d..1c6707e 100644</span><br><span>--- a/util/msrtool/msrutils.c</span><br><span>+++ b/util/msrtool/msrutils.c</span><br><span>@@ -65,6 +65,9 @@</span><br><span>          hexprint(f, val, mb->size);</span><br><span>               fprintf(f, " %d", val.lo);</span><br><span>                 break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case PRESENT_STR:</span><br><span style="color: hsl(120, 100%, 40%);">+             strprint(f, val, mb->size);</span><br><span style="color: hsl(120, 100%, 40%);">+                break;</span><br><span>       }</span><br><span>    if (mbv->text)</span><br><span>            fprintf(f, ": %s", mbv->text);</span><br><span>@@ -106,6 +109,25 @@</span><br><span>           fprintf(f, "0x%08x%08x", val.hi, val.lo);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void strprint(FILE *f, const struct msr val, const uint8_t bits) {</span><br><span style="color: hsl(120, 100%, 40%);">+      if (bits > 56)</span><br><span style="color: hsl(120, 100%, 40%);">+             fputc(val.hi, f);</span><br><span style="color: hsl(120, 100%, 40%);">+     if (bits > 48)</span><br><span style="color: hsl(120, 100%, 40%);">+             fputc(val.hi >> 8, f);</span><br><span style="color: hsl(120, 100%, 40%);">+  if (bits > 40)</span><br><span style="color: hsl(120, 100%, 40%);">+             fputc(val.hi >> 16, f);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (bits > 32)</span><br><span style="color: hsl(120, 100%, 40%);">+             fputc(val.hi >> 24, f);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (bits > 24)</span><br><span style="color: hsl(120, 100%, 40%);">+             fputc(val.lo, f);</span><br><span style="color: hsl(120, 100%, 40%);">+     if (bits > 16)</span><br><span style="color: hsl(120, 100%, 40%);">+             fputc(val.lo >> 8, f);</span><br><span style="color: hsl(120, 100%, 40%);">+  if (bits > 8)</span><br><span style="color: hsl(120, 100%, 40%);">+              fputc(val.lo >> 16, f);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (bits > 0)</span><br><span style="color: hsl(120, 100%, 40%);">+              fputc(val.lo >> 24, f);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> int msr_eq(const struct msr a, const struct msr b) {</span><br><span>   return a.hi == b.hi && a.lo == b.lo;</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/18257">change 18257</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/18257"/><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: merged </div>
<div style="display:none"> Gerrit-Change-Id: I67f77ca75f7d77e47b3ba09bad904df5805e373a </div>
<div style="display:none"> Gerrit-Change-Number: 18257 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: Lubomir Rintel <lkundrak@v3.sk> </div>
<div style="display:none"> Gerrit-Reviewer: Martin Roth <martinroth@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Paul Menzel <paulepanter@users.sourceforge.net> </div>
<div style="display:none"> Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org> </div>