mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 20:33:54 -06:00
gdbstub, kvm: let KVM report supported singlestep flags
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> [Extracted from Maxim's patch into a separate commit. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20211111110604.207376-5-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
ecd39d620b
commit
12bc5b4cd5
3 changed files with 36 additions and 1 deletions
10
gdbstub.c
10
gdbstub.c
|
@ -391,6 +391,8 @@ static void init_gdbserver_state(void)
|
|||
*/
|
||||
if (replay_mode != REPLAY_MODE_NONE) {
|
||||
gdbserver_state.supported_sstep_flags = SSTEP_ENABLE;
|
||||
} else if (kvm_enabled()) {
|
||||
gdbserver_state.supported_sstep_flags = kvm_get_supported_sstep_flags();
|
||||
} else {
|
||||
gdbserver_state.supported_sstep_flags =
|
||||
SSTEP_ENABLE | SSTEP_NOIRQ | SSTEP_NOTIMER;
|
||||
|
@ -400,7 +402,8 @@ static void init_gdbserver_state(void)
|
|||
* By default use no IRQs and no timers while single stepping so as to
|
||||
* make single stepping like an ICE HW step.
|
||||
*/
|
||||
gdbserver_state.sstep_flags = gdbserver_state.supported_sstep_flags;
|
||||
gdbserver_state.sstep_flags = SSTEP_ENABLE | SSTEP_NOIRQ | SSTEP_NOTIMER;
|
||||
gdbserver_state.sstep_flags &= gdbserver_state.supported_sstep_flags;
|
||||
|
||||
}
|
||||
|
||||
|
@ -3520,6 +3523,11 @@ int gdbserver_start(const char *device)
|
|||
return -1;
|
||||
}
|
||||
|
||||
if (kvm_enabled() && !kvm_supports_guest_debug()) {
|
||||
error_report("gdbstub: KVM doesn't support guest debugging");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!device)
|
||||
return -1;
|
||||
if (strcmp(device, "none") != 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue