gdb switches to __sysvec_apic_timer_interrupt or __default_send_IPI_dest_field with KVM enabled
Vasyl Vavrychuk <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.comp.emulators.qemu.user,gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CAGj4m+4QPE7uHzbsQbG6Fp3Ke2eQRQQ2z2-1rsKDPtXqs-vpGg@mail.gmail.com> |
Hello,
I run Linux kernel under qemu-system-x86_64 via the "-kernel" option.
Also, I added the "-s" option to accept the gdb connection.
After Linux boot up I connect with gdb and set a breakpoint in some
function, for example "device_del", does not matter really.
The problem is if I also use "--enable-kvm", then after breakpoint
triggered and sending "n" from gdb, it switches to
__sysvec_apic_timer_interrupt (regs=0xffffc90000297de8) at
arch/x86/kernel/apic/apic.c:1102
1102 trace_local_timer_entry(LOCAL_TIMER_VECTOR);
or to
__default_send_IPI_dest_field (mask=<optimized out>,
vector=<optimized out>, dest=dest@entry=2048) at
arch/x86/kernel/apic/ipi.c:161
161 cfg = __prepare_ICR2(mask);
I am stepping over kernel code that does not perform any waiting or blocking.
Everything works fine with "--enable-kvm" removed.
Thanks,
Vasyl