diff mbox series

[3/5,RISCV_PM] Print new PM CSRs in QEMU logs

Message ID 20201014170159.26932-4-space.monkey.delivers@gmail.com
State New
Headers show
Series [1/5,RISCV_PM] Add J-extension into RISC-V | expand

Commit Message

Alexey Baturo Oct. 14, 2020, 5:01 p.m. UTC
Signed-off-by: Alexey Baturo <space.monkey.delivers@gmail.com>
---
 target/riscv/cpu.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Richard Henderson Oct. 14, 2020, 6:41 p.m. UTC | #1
On 10/14/20 10:01 AM, Alexey Baturo wrote:
> +    if (riscv_has_ext(env, RVH)) {


RVJ.

> +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mmte    ", env->mmte);

> +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "upmbase ", env->upmbase);

> +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "spmbase ", env->spmbase);

> +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mpmbase ", env->mpmbase);

> +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "upmmask ", env->upmmask);

> +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "spmmask ", env->spmmask);

> +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mpmmask ", env->mpmmask);


Probably you only want to dump the set that's current.


r~
Alexey Baturo Oct. 14, 2020, 8:01 p.m. UTC | #2
First of all thank you so much for reviewing these patches!

>RVJ.

Thanks, I missed this typo, will fix it.

>Probably you only want to dump the set that's current.

I don't know for sure how anyone would be using this while debugging PM
related code, but I like the idea, so I'll try to do it, thanks!

ср, 14 окт. 2020 г. в 21:41, Richard Henderson <richard.henderson@linaro.org
>:


> On 10/14/20 10:01 AM, Alexey Baturo wrote:

> > +    if (riscv_has_ext(env, RVH)) {

>

> RVJ.

>

> > +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mmte    ",

> env->mmte);

> > +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "upmbase ",

> env->upmbase);

> > +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "spmbase ",

> env->spmbase);

> > +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mpmbase ",

> env->mpmbase);

> > +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "upmmask ",

> env->upmmask);

> > +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "spmmask ",

> env->spmmask);

> > +        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mpmmask ",

> env->mpmmask);

>

> Probably you only want to dump the set that's current.

>

>

> r~

>
<div dir="ltr"><div>First of all thank you so much for reviewing these patches!</div><div><br></div>&gt;RVJ.<div>Thanks, I missed this typo, will fix it.</div><div><br></div><div>&gt;Probably you only want to dump the set that&#39;s current.</div><div>I don&#39;t know for sure how anyone would be using this while debugging PM related code, but I like the idea, so I&#39;ll try to do it, thanks!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">ср, 14 окт. 2020 г. в 21:41, Richard Henderson &lt;<a href="mailto:richard.henderson@linaro.org">richard.henderson@linaro.org</a>&gt;:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 10/14/20 10:01 AM, Alexey Baturo wrote:<br>
&gt; +    if (riscv_has_ext(env, RVH)) {<br>
<br>
RVJ.<br>
<br>
&gt; +        qemu_fprintf(f, &quot; %s &quot; TARGET_FMT_lx &quot;\n&quot;, &quot;mmte    &quot;, env-&gt;mmte);<br>
&gt; +        qemu_fprintf(f, &quot; %s &quot; TARGET_FMT_lx &quot;\n&quot;, &quot;upmbase &quot;, env-&gt;upmbase);<br>
&gt; +        qemu_fprintf(f, &quot; %s &quot; TARGET_FMT_lx &quot;\n&quot;, &quot;spmbase &quot;, env-&gt;spmbase);<br>
&gt; +        qemu_fprintf(f, &quot; %s &quot; TARGET_FMT_lx &quot;\n&quot;, &quot;mpmbase &quot;, env-&gt;mpmbase);<br>
&gt; +        qemu_fprintf(f, &quot; %s &quot; TARGET_FMT_lx &quot;\n&quot;, &quot;upmmask &quot;, env-&gt;upmmask);<br>
&gt; +        qemu_fprintf(f, &quot; %s &quot; TARGET_FMT_lx &quot;\n&quot;, &quot;spmmask &quot;, env-&gt;spmmask);<br>
&gt; +        qemu_fprintf(f, &quot; %s &quot; TARGET_FMT_lx &quot;\n&quot;, &quot;mpmmask &quot;, env-&gt;mpmmask);<br>
<br>
Probably you only want to dump the set that&#39;s current.<br>
<br>
<br>
r~<br>
</blockquote></div>
diff mbox series

Patch

diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index d63031eb08..8f8ee4d29c 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -255,6 +255,15 @@  static void riscv_cpu_dump_state(CPUState *cs, FILE *f, int flags)
         qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "htval ", env->htval);
         qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mtval2 ", env->mtval2);
     }
+    if (riscv_has_ext(env, RVH)) {
+        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mmte    ", env->mmte);
+        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "upmbase ", env->upmbase);
+        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "spmbase ", env->spmbase);
+        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mpmbase ", env->mpmbase);
+        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "upmmask ", env->upmmask);
+        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "spmmask ", env->spmmask);
+        qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mpmmask ", env->mpmmask);
+    }
 #endif
 
     for (i = 0; i < 32; i++) {