Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Sep 2002 15:48:29 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        beemern <beemern@ksu.edu>
Cc:        smp@freebsd.org
Subject:   RE: For those with P4 SMP problems..
Message-ID:  <XFMail.20020920154829.jhb@FreeBSD.org>
In-Reply-To: <Pine.GSO.4.33L.0209201427360.23541-100000@unix2.cc.ksu.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

On 20-Sep-2002 beemern wrote:
> 
> ok, i edit'd as you indicated:
> 
> --snip--
>   /* get the PHYSICAL APIC ID# */
>         physical_cpu = CPU_TO_ID(logical_cpu);
> 
>         printf("CPU_TO_ID of logical_cpu: %d gives physical_cpu %d\n",
>                 logical_cpu,physical_cpu);
> 
>         /* XXX: override hack divemojo */
>         physical_cpu = 11;
>         printf("OVERRIDE physical_cpu to: %d\n",physical_cpu);
> 
>         /* calculate the vector */
>         vector = (boot_addr >> 12) & 0xff;
> --snip--
> 
> and i set physical_cpu to 1,2,3...,11 as you indicated
> 
> rebooting after make'ing and install'ing each kernel gave:
> 
> --snip--
> avail memory = 517992448 (505852K bytes)
> Programming 24 pins in IOAPIC #0
> IOAPIC #0 intpin 2 -> irq 0
> Programming 24 pins in IOAPIC #1
> Programming 24 pins in IOAPIC #2
> CPU_TO_ID of logical_cpu: 1 gives physical_cpu 6
> OVERRIDE physical_cpu to: 3
> WOOT WOOT WOOT
> AP #1 (PHY# 6) failed!
> panic y/n? [y] FreeBSD/SMP: Multiprocessor motherboard
>  cpu0 (BSP): apic id:  0, version: 0x00050014, at 0xfee00000
>  cpu1 (AP):  apic id:  6, version: 0x00000000, at 0xfee00000
>  io0 (APIC): apic id:  2, version: 0x00178020, at 0xfec00000
>  io1 (APIC): apic id:  3, version: 0x00178020, at 0xfec80000
>  io2 (APIC): apic id:  4, version: 0x00178020, at 0xfec80400
> Preloaded elf kernel "kernel" at 0xc03b2000.
> --snip--
> 
> where the ONLY difference, is the printf of the OVERRIDE physical_cpu,
> which was obviously different on each instance since i was changing it in
> the code (and just wanted to verify it in dmesg)
> 
> basically, EACH kernel edit gave the "panic" msg as indicated in the
> snippet
> so... any other ideas to try at this point?

Grrr.  Hmm, might need to do the override in CPU_TO_ID() instead
(overriding for logical cpu 1) so it is consistent everywhere.  I'm
curious, if you boot up linux what apic id does it give for the
second CPU?

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020920154829.jhb>