All of lore.kernel.org
 help / color / mirror / Atom feed
* riscv: How to debug a wrong pc after executing ret instruction?
@ 2020-01-08  9:22 Ian Jiang
  2020-01-08 15:08 ` Bin Meng
  2020-01-08 15:34 ` Peter Maydell
  0 siblings, 2 replies; 3+ messages in thread
From: Ian Jiang @ 2020-01-08  9:22 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 699 bytes --]

Problem
======
The next instruction after executing "ret" (i.e. jalr x0, 0(x1)) is not at
0x000000008000056c (x1/ra) as expected,  but at  0x000000008000056c.
How to debug this issue? Any suggestion is appreciated.

QEMU command
=============
qemu-system-riscv64 -nographic -machine virt -kernel my-test.elf -smp 1 -d
in_asm,cpu

Trace (piece)
===========
IN:
0x0000000081150000:  00259eb7  lui t4,2461696
0x0000000081150004:  00099b37  lui s6,626688
0x0000000081150008:  01db3023  sd t4,0(s6)
0x000000008115000c:  00008067  ret

pc        0000000081150000
x1/ra    000000008000056c

IN:
0x0000000080003da0: 10503023  sd t0,256(zero)
...


QEMU version
===========
upstream tag v4.2.0

--
Ian Jiang

[-- Attachment #2: Type: text/html, Size: 1201 bytes --]

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

end of thread, other threads:[~2020-01-08 15:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-08  9:22 riscv: How to debug a wrong pc after executing ret instruction? Ian Jiang
2020-01-08 15:08 ` Bin Meng
2020-01-08 15:34 ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.