[prev in list] [next in list] [prev in thread] [next in thread] 

List:       qemu-devel
Subject:    riscv disassembler error with pmpcfg0
From:       Eric DeVolder <eric_devolder () yahoo ! com>
Date:       2024-04-03 18:16:46
Message-ID: 183897139.5301881.1712168206289 () mail ! yahoo ! com
[Download RAW message or body]

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic