Преглед на файлове

xtensa: allow single-stepping through unaligned load/store

Update icount when icountlevel is non-zero but not greater than EXCM level
when load/store instruction is successfully emulated. This allows
single-stepping over such instruction in userspace debugger.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Max Filippov преди 11 години
родител
ревизия
a83b02e9bd
променени са 1 файла, в които са добавени 8 реда и са изтрити 0 реда
  1. 8 0
      arch/xtensa/kernel/align.S

+ 8 - 0
arch/xtensa/kernel/align.S

@@ -421,6 +421,14 @@ ENTRY(fast_unaligned)
 
 1:	wsr	a7, epc1		# skip emulated instruction
 
+	/* Update icount if we're single-stepping in userspace. */
+	rsr	a4, icountlevel
+	beqz	a4, 1f
+	bgeui	a4, LOCKLEVEL + 1, 1f
+	rsr	a4, icount
+	addi	a4, a4, 1
+	wsr	a4, icount
+1:
 	movi	a4, 0
 	rsr	a3, excsave1
 	s32i	a4, a3, EXC_TABLE_FIXUP