summaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2009-07-14 08:33:11 -0700
committerAurelien Jarno <aurelien@aurel32.net>2009-09-14 19:34:12 +0200
commitce0c7cce6024b21ac8646bcf321853c0a293945e (patch)
tree19e17d327cfde958be899ce9ffe3c9109f618131 /vl.c
parent30a4cfa8a18ae4e3f7ac0ef19acf29f5fac2c068 (diff)
downloadqemu-ce0c7cce6024b21ac8646bcf321853c0a293945e.tar.gz
qemu-ce0c7cce6024b21ac8646bcf321853c0a293945e.tar.bz2
qemu-ce0c7cce6024b21ac8646bcf321853c0a293945e.zip
target-mips: fix single-stepping
Single-stepping branches on MIPS didn't work right, because the generation of EXCP_DEBUG happened after the generation of the code to exit the current TB. That is, given the code: bne v0,v1,target nop ... target: addu v0,v0,v1 1: when you single-stepped through the NOP, execution wouldn't actually halt until you reached the label `1'. This patch corrects that and also changes single-stepping so that a branch and its delay slot are executed as one instruction for the purposes of single-stepping. This behavior is comparable to what other MIPS tools (e.g. MIPSsim with MDI) do. GDB avoids placing breakpoints in branch delay slots, so this change doesn't break anything on the GDB side. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'vl.c')
0 files changed, 0 insertions, 0 deletions