Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jul 2010 09:45:56 -1000
From:      David Cornejo <dave@dogwood.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        mdf@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: Panic booting vmware i386 after SRAT update
Message-ID:  <AANLkTik3EwOYAh_A_ojMth=6Q=TNr7cJhSeGL_OB7O4c@mail.gmail.com>
In-Reply-To: <201007291018.07112.jhb@freebsd.org>
References:  <AANLkTimZj4ocqiiUzXJhwkY6nRj_sGJ2h%2BQAQKvC9wWi@mail.gmail.com> <201007291018.07112.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 29, 2010 at 4:18 AM, John Baldwin <jhb@freebsd.org> wrote:

> On Wednesday, July 28, 2010 1:37:42 pm mdf@freebsd.org wrote:
> > I have a 2 cpu virtual image of FreeBSD current.  It panics during
> > boot after building in the NUMA support.
> >
> > I'll transcribe the SRAT bootverbose messages and panic message as best I
> can.
> >
> > Table 'SRAT' at 0xfef07f6
> > SRAT: Found table at 0xfef07f6
> > SRAT: Found memory domain 0 addr 0 len a0000: enabled
> > SRAT: Found memory domain 0 addr 100000 len ff00000: enabled
> >
> > then some MADT: messages about finding cpu 0 and 1
> >
> >  cpu0 (BSP): APIC ID:  0
> >  cpu1 (AP): APIC ID:  1
> > panic: SRAT: CPU with APIC ID 0 is not known
> >
> > I'm playing around now with trying to figure out what went missing,
> > but I thought I'd send this out now.
>
> Hmm, check_domains() in srat.c should reject the SRAT table in this case.
> Oh, I see the problem, try this:
>
> Index: srat.c
> ===================================================================
> --- srat.c      (revision 210552)
> +++ srat.c      (working copy)
> @@ -150,7 +150,8 @@
>        for (i = 0; i < num_mem; i++) {
>                found = 0;
>                for (j = 0; j <= MAX_APIC_ID; j++)
> -                       if (cpus[j].domain == mem_info[i].domain) {
> +                       if (cpus[j].enabled &&
> +                           cpus[j].domain == mem_info[i].domain) {
>                                cpus[j].has_memory = 1;
>                                found++;
>                        }
>
> --
> John Baldwin
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>

Works on amd64 kernel under VMWare, thanks!

dave c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTik3EwOYAh_A_ojMth=6Q=TNr7cJhSeGL_OB7O4c>