<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/simtrace2/+/16580">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">implement minimalistic talloc_report(); add 't' command on UART<br><br>This helps when debugging the firmware, as it shows the current<br>utliization of the 10-msgb-talloc pool.<br><br>Change-Id: Ib10c4396cd4c9c4a6257cf45886e367214787927<br>Related: OS#4251<br>---<br>M firmware/libboard/qmod/source/board_qmod.c<br>M firmware/libcommon/include/talloc.h<br>M firmware/libcommon/source/pseudo_talloc.c<br>3 files changed, 21 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/firmware/libboard/qmod/source/board_qmod.c b/firmware/libboard/qmod/source/board_qmod.c</span><br><span>index 6316979..32bfdd4 100644</span><br><span>--- a/firmware/libboard/qmod/source/board_qmod.c</span><br><span>+++ b/firmware/libboard/qmod/source/board_qmod.c</span><br><span>@@ -230,6 +230,7 @@</span><br><span>          printf("\t2\tGenerate 1ms reset pulse on WWAN2\n\r");</span><br><span>              printf("\t!\tSwitch Channel A from physical -> remote\n\r");</span><br><span>            printf("\t@\tSwitch Channel B from physical -> remote\n\r");</span><br><span style="color: hsl(120, 100%, 40%);">+             printf("\tt\t(pseudo)talloc report\n\r");</span><br><span>          break;</span><br><span>       case 'R':</span><br><span>            printf("Asking NVIC to reset us\n\r");</span><br><span>@@ -292,6 +293,9 @@</span><br><span>       case '@':</span><br><span>            sim_switch_use_physical(0, 0);</span><br><span>               break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case 't':</span><br><span style="color: hsl(120, 100%, 40%);">+             talloc_report(NULL, stdout);</span><br><span style="color: hsl(120, 100%, 40%);">+          break;</span><br><span>       default:</span><br><span>             if (!qmod_sam3_is_12())</span><br><span>                      printf("Unknown command '%c'\n\r", ch);</span><br><span>diff --git a/firmware/libcommon/include/talloc.h b/firmware/libcommon/include/talloc.h</span><br><span>index 0bd75d2..625355a 100644</span><br><span>--- a/firmware/libcommon/include/talloc.h</span><br><span>+++ b/firmware/libcommon/include/talloc.h</span><br><span>@@ -17,6 +17,7 @@</span><br><span> #pragma once</span><br><span> </span><br><span> #include <stdlib.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <stdio.h></span><br><span> #include <stdarg.h></span><br><span> </span><br><span> /* minimalistic emulation of core talloc API functions used by msgb.c */</span><br><span>@@ -39,3 +40,4 @@</span><br><span> void talloc_set_name_const(const void *ptr, const char *name);</span><br><span> char *talloc_strdup(const void *t, const char *p);</span><br><span> void *talloc_pool(const void *context, size_t size);</span><br><span style="color: hsl(120, 100%, 40%);">+void talloc_report(const void *ptr, FILE *f);</span><br><span>diff --git a/firmware/libcommon/source/pseudo_talloc.c b/firmware/libcommon/source/pseudo_talloc.c</span><br><span>index 862fffd..7c452b3 100644</span><br><span>--- a/firmware/libcommon/source/pseudo_talloc.c</span><br><span>+++ b/firmware/libcommon/source/pseudo_talloc.c</span><br><span>@@ -15,6 +15,7 @@</span><br><span>  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA</span><br><span>  */</span><br><span> #include <stdint.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <stdio.h></span><br><span> </span><br><span> #include "talloc.h"</span><br><span> #include "trace.h"</span><br><span>@@ -76,6 +77,20 @@</span><br><span>       return -1;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void talloc_report(const void *ptr, FILE *f)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+  unsigned int i;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     fprintf(f, "talloc_report(): ");</span><br><span style="color: hsl(120, 100%, 40%);">+    for (i = 0; i < ARRAY_SIZE(msgb_inuse); i++) {</span><br><span style="color: hsl(120, 100%, 40%);">+             if (msgb_inuse[i])</span><br><span style="color: hsl(120, 100%, 40%);">+                    fputc('X', f);</span><br><span style="color: hsl(120, 100%, 40%);">+                else</span><br><span style="color: hsl(120, 100%, 40%);">+                  fputc('_', f);</span><br><span style="color: hsl(120, 100%, 40%);">+        }</span><br><span style="color: hsl(120, 100%, 40%);">+     fprintf(f, "\r\n");</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> void talloc_set_name_const(const void *ptr, const char *name)</span><br><span> {</span><br><span>     /* do nothing */</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/simtrace2/+/16580">change 16580</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.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://gerrit.osmocom.org/c/simtrace2/+/16580"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: simtrace2 </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ib10c4396cd4c9c4a6257cf45886e367214787927 </div>
<div style="display:none"> Gerrit-Change-Number: 16580 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>