qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* riscv disassembler error with pmpcfg0
       [not found] <183897139.5301881.1712168206289.ref@mail.yahoo.com>
@ 2024-04-03 18:16 ` Eric DeVolder
  2024-05-14  5:19   ` Alistair Francis
  0 siblings, 1 reply; 3+ messages in thread
From: Eric DeVolder @ 2024-04-03 18:16 UTC (permalink / raw)
  To: qemu-devel@nongnu.org

I've been using QEMU8 to collect instruction information on U-Boot + OpenSBI.

I'm running QEMU in this fashion to collect the information:

# qemu-system-riscv64 -plugin file=qemu/build/contrib/plugins/libexeclog.so -singlestep -d plugin,nochain -D execlog.txt ...

When examining the instruction trace in execlog, I've noticed that the disassembly for pmpcfg0 is erroneous, for example:

0, 0x5456, 0x3a002573, "csrrs                   a0,pmpcfg3,zero"

the CSR encoded in the instruction above is 0x3a0, which is pmpcfg0 (which also matches the code I'm examining).

For the Uboot+OpenSBI code I'm examining, pmpcfg0/3 is the only one that appears to have a problem.

I also checked QEMU9 and it behaves as described above as well.

I'm willing to provide a fix if I can get some advice/pointers on how this disassembly statement is generated...I did take a quick look but it didn't appear obvious how...

Thanks,
eric


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: riscv disassembler error with pmpcfg0
  2024-04-03 18:16 ` riscv disassembler error with pmpcfg0 Eric DeVolder
@ 2024-05-14  5:19   ` Alistair Francis
  2024-05-16 11:30     ` Eric DeVolder
  0 siblings, 1 reply; 3+ messages in thread
From: Alistair Francis @ 2024-05-14  5:19 UTC (permalink / raw)
  To: Eric DeVolder; +Cc: qemu-devel@nongnu.org

On Thu, Apr 4, 2024 at 5:02 AM Eric DeVolder <eric_devolder@yahoo.com> wrote:
>
> I've been using QEMU8 to collect instruction information on U-Boot + OpenSBI.
>
> I'm running QEMU in this fashion to collect the information:
>
> # qemu-system-riscv64 -plugin file=qemu/build/contrib/plugins/libexeclog.so -singlestep -d plugin,nochain -D execlog.txt ...
>
> When examining the instruction trace in execlog, I've noticed that the disassembly for pmpcfg0 is erroneous, for example:
>
> 0, 0x5456, 0x3a002573, "csrrs                   a0,pmpcfg3,zero"
>
> the CSR encoded in the instruction above is 0x3a0, which is pmpcfg0 (which also matches the code I'm examining).
>
> For the Uboot+OpenSBI code I'm examining, pmpcfg0/3 is the only one that appears to have a problem.
>
> I also checked QEMU9 and it behaves as described above as well.
>
> I'm willing to provide a fix if I can get some advice/pointers on how this disassembly statement is generated...I did take a quick look but it didn't appear obvious how...

Thanks for pointing this out. This should fix the issue for you:
https://patchew.org/QEMU/20240514051615.330979-1-alistair.francis@wdc.com/

Alistair

>
> Thanks,
> eric
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: riscv disassembler error with pmpcfg0
  2024-05-14  5:19   ` Alistair Francis
@ 2024-05-16 11:30     ` Eric DeVolder
  0 siblings, 0 replies; 3+ messages in thread
From: Eric DeVolder @ 2024-05-16 11:30 UTC (permalink / raw)
  To: Alistair Francis; +Cc: qemu-devel@nongnu.org

Thank you!
Eric






On Tuesday, May 14, 2024 at 12:19:55 AM CDT, Alistair Francis <alistair23@gmail.com> wrote: 





On Thu, Apr 4, 2024 at 5:02 AM Eric DeVolder <eric_devolder@yahoo.com> wrote:
>
> I've been using QEMU8 to collect instruction information on U-Boot + OpenSBI.
>
> I'm running QEMU in this fashion to collect the information:
>
> # qemu-system-riscv64 -plugin file=qemu/build/contrib/plugins/libexeclog.so -singlestep -d plugin,nochain -D execlog.txt ...
>
> When examining the instruction trace in execlog, I've noticed that the disassembly for pmpcfg0 is erroneous, for example:
>
> 0, 0x5456, 0x3a002573, "csrrs                  a0,pmpcfg3,zero"
>
> the CSR encoded in the instruction above is 0x3a0, which is pmpcfg0 (which also matches the code I'm examining).
>
> For the Uboot+OpenSBI code I'm examining, pmpcfg0/3 is the only one that appears to have a problem.
>
> I also checked QEMU9 and it behaves as described above as well.
>
> I'm willing to provide a fix if I can get some advice/pointers on how this disassembly statement is generated...I did take a quick look but it didn't appear obvious how...

Thanks for pointing this out. This should fix the issue for you:
https://patchew.org/QEMU/20240514051615.330979-1-alistair.francis@wdc.com/

Alistair


>
> Thanks,
> eric
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-05-16 11:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <183897139.5301881.1712168206289.ref@mail.yahoo.com>
2024-04-03 18:16 ` riscv disassembler error with pmpcfg0 Eric DeVolder
2024-05-14  5:19   ` Alistair Francis
2024-05-16 11:30     ` Eric DeVolder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).