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

From: Naman Sood <naman_at_freebsdfoundation.org>
Date: Fri, 26 May 2023 16:26:48 UTC
Okay, this seems to mostly work, but I am still getting timer
interrupts sometimes. I'll post here if I can get that to be
reproducible, but until then, I can live with this. Thanks!

Naman.

On Thu, May 25, 2023 at 4:33 PM Naman Sood <naman@freebsdfoundation.org> wrote:
>
> Oh. How convenient! I'm running 14.0-CURRENT, though I may have
> delayed system updates long enough to not have this patch at the
> moment. Let me get back to you after I run updates and retry - thanks!
>
> Naman.
>
> On Thu, May 25, 2023 at 4:27 PM Mark Johnston <markj@freebsd.org> wrote:
> >
> > 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