Re: APIC interrupting me while stepping through a kernel with kgdb

From: Mark Johnston <markj_at_freebsd.org>
Date: Thu, 25 May 2023 20:27:26 UTC
On Thu, May 25, 2023 at 03:34:56PM -0400, Naman Sood wrote:
> Hello!
> 
> I've been following this guide[1] to get kgdb to debug a FreeBSD guest
> on bhyve - I have a WIP patch for pfsync that I want to debug. I'm at
> the point where I can set breakpoints in if_pfsync.c and get them to
> break when I hit them. However, when I step/next from there, control
> always goes to the lapic_handle_timer(), which does its APIC timer
> things, returns control to the line where I set the breakpoint... and
> then immediately goes to the timer again, since presumably a timer
> tick has happened between me pressing Return repeatedly.
> 
> Is there a way to get around this? Either turn off the timer (doesn't
> sound like a good idea?) or get kgdb to ignore it so I can debug the
> rest of the kernel? Running skip at the timer code didn't seem to
> help.

Which revision of FreeBSD are you running?  I believe this recent commit
will address the problem you're describing, but you won't have it unless
you're running the main branch:
https://cgit.freebsd.org/src/commit/?id=fefac543590d