cvs commit: src/sys/i386/i386 legacy.c src/sys/kern subr_smp.c
M. Warner Losh
imp at bsdimp.com
Sun May 9 08:35:49 PDT 2004
In message: <20040506193513.O44970 at root.org>
Nate Lawson <nate at root.org> writes:
: On Thu, 6 May 2004, M. Warner Losh wrote:
: > In message: <20040506105124.O42462 at root.org>
: > Nate Lawson <nate at root.org> writes:
: > : On Thu, 6 May 2004, John Baldwin wrote:
: > : > On Thursday 06 May 2004 11:54 am, Nate Lawson wrote:
: > : > > njl 2004/05/06 08:54:03 PDT
: > : > >
: > : > > FreeBSD src repository
: > : > >
: > : > > Modified files:
: > : > > sys/i386/i386 legacy.c
: > : > > sys/kern subr_smp.c
: > : > > Log:
: > : > > Move the CPU newbus attachment to i386 legacy. The acpi_cpu device will
: > : > > become just "cpu" and provide attachments in the !legacy case.
: > : > >
: > : > > Tested by: des
: > : >
: > : > By the way, it would be nice if the acpi_cpu(4) driver would still probe and
: > : > attach to devices for non-existent CPUs but just device_disable() the
: > : > associated device_t. This would keep the device from reprobing all the time.
: > :
: > : Good idea, I'll make that change tonight. The code I committed this
: > : morning returns ENXIO for them so probe will get called multiple times.
: > : Hmm, this may be more difficult than I first thought since some of the
: > : internal routines walk all devices in the devclass, operating on their
: > : resources. This change would require that code to have an extra case,
: > : "device here but not active". Right now it assumes that if the device is
: > : probed/attached, it is usable.
: > The device is already there. All the device_disable() would do would
: > keep it from being probed again.
: Yep, I realized that later. There's nothing requiring a driver to attach
: a device to call device_disable() on it. I'm still not comfortable making
: that change yet. It doesn't hurt anything to rescan the cpu probe
: methods. And perhaps a change like enabling HTT will eventually trigger a
: rescan and acpi_cpu can attach to the now available processor.
I'm not sure what the right thing to do is, just pointing out a common
misconception in how device_t nodes wind up in the tree and/or bound
to a devclass.
More information about the cvs-src