Commit 16631c4
KVM: s390: interrupt: Fix single-stepping into interrupt handlers
After single-stepping an instruction that generates an interrupt, GDB
ends up on the second instruction of the respective interrupt handler.
The reason is that vcpu_pre_run() manually delivers the interrupt, and
then __vcpu_run() runs the first handler instruction using the
CPUSTAT_P flag. This causes a KVM_SINGLESTEP exit on the second handler
instruction.
Fix by delaying the KVM_SINGLESTEP exit until after the manual
interrupt delivery.
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-ID: <20230725143857.228626-2-iii@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>1 parent ede6d0b commit 16631c4
2 files changed
Lines changed: 16 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1392 | 1392 | | |
1393 | 1393 | | |
1394 | 1394 | | |
| 1395 | + | |
1395 | 1396 | | |
1396 | 1397 | | |
1397 | 1398 | | |
| |||
1465 | 1466 | | |
1466 | 1467 | | |
1467 | 1468 | | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
1468 | 1482 | | |
1469 | 1483 | | |
1470 | 1484 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4611 | 4611 | | |
4612 | 4612 | | |
4613 | 4613 | | |
4614 | | - | |
| 4614 | + | |
4615 | 4615 | | |
4616 | 4616 | | |
4617 | 4617 | | |
| |||
4738 | 4738 | | |
4739 | 4739 | | |
4740 | 4740 | | |
4741 | | - | |
| 4741 | + | |
4742 | 4742 | | |
4743 | 4743 | | |
4744 | 4744 | | |
| |||
0 commit comments