Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Apr 2006 17:08:58 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Maxim Sobolev <sobomax@freebsd.org>
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org, Nate Lawson <nate@root.org>
Subject:   Re: cvs commit: src/sys/dev/sk if_sk.c if_skreg.h
Message-ID:  <200604281709.02585.jhb@freebsd.org>
In-Reply-To: <44526C95.3000708@FreeBSD.org>
References:  <200604280317.k3S3Hb3L017882@repoman.freebsd.org> <44525D16.3070005@root.org> <44526C95.3000708@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 28 April 2006 15:27, Maxim Sobolev wrote:
> Nate Lawson wrote:
> > Maxim Sobolev wrote:
> >>> BTW, thanks for your work on the reboot issue.  Oh, and are you using
> >>
> >> Don't mention it. The other big and still unresolved issue is getting 
> >> SMP working. I have tried to debug it and as long as I can tell second 
> >> core for some reason doesn't start at all. I have even attempted to 
> >> borrow second CPU kick in magic from xnu (Darwin kernel), but the 
> >> result is the same. My current guess is that since it's mobile 
> >> processor, the 2nd core may be turned off for power saving purposes 
> >> and needs some (ACPI?) hohomagic to power it up. Unfortunately I can't 
> >> find any documentation on the processor to check. It is interesting 
> >> that both Linux and Windows don't have any problems with getting it 
> >> working OOB.
> > 
> > I don't think there's any special ACPI thing to do.  If you have acpi 
> > loaded, the MADT (apic table) probe should just work.  Are you sure you 
> > have the latest -current since cperciva@ fixed the Core Duo limitation 
> > we had?
> 
> Yes, I do have the latest kernel (circa this morning). Do you have any 
> other ideas about what can be wrong?
> 
> BTW, in the following lapic_ipi_raw call, is the last argument expected 
> to be 0 or maybe it's typo and it should be apic_id instead?
> 
> /* do an INIT IPI: deassert RESET */
> lapic_ipi_raw(APIC_DEST_ALLESELF | APIC_TRIGMOD_LEVEL |
>      APIC_LEVEL_DEASSERT | APIC_DESTMODE_PHY | APIC_DELMODE_INIT, 0);

No, it's using ALLESELF for the destination to send it to everyone but
the current CPU.  Try enabling the CHECK_POINTS code in mp_machdep.c
and mpboot.s to see if you can figure out how far the AP gets before
it goes belly up.

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



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