Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Oct 2005 10:34:08 -0700 (MST)
From:      Warner Losh <imp@bsdimp.com>
To:        marcolz@stack.nl
Cc:        stable@freebsd.org
Subject:   Re: HEADS UP! 6.0-RELEASE coming
Message-ID:  <20051031.103408.71093019.imp@bsdimp.com>
In-Reply-To: <20051031160150.GB87483@stack.nl>
References:  <20051031151809.GA83253@stack.nl> <43663A0A.4040608@samsco.org> <20051031160150.GB87483@stack.nl>

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

> > The ACPI+sio problem is known.  I have a motherboard with a similar 
> > problem, though a different brand than yours.  I solved it by removing
> > the ACPI attachment from the sio code.  The better solution is to allow
> > loader hints to override ACPI hints.  I tried talking to John Baldwin
> > about this but didn't get much of a response.
> 
> I've tried all suggestions so far, but to no avail on most servers. Too
> many broken ACPI implementations I fear... Too bad motherboard vendors
> don't take the time to push proper software in their flash.

Right now acpi tells us there's a device, and we use it.  Loader hints
should be used to map locations to device instances.  It is more
general than just ACPI, however.  People want to bind sio to a
specific port that comes out the back.  People also want to bind rl0
to the card in slot 3.

Consider my system:
    sio0 pnpinfo _HID=PNP0501 _UID=1 at handle=\_SB_.PCI0.SBRG.UAR1
    sio1 pnpinfo _HID=PNP0501 _UID=2 at handle=\_SB_.PCI0.SBRG.UAR2

On this system, UAR1 is the port that comes out the back, so I have
what I want.  However, I'd like to be able to say:

hint.sio.0.at="acpi"
hint.sio.0.location="\_SB_.PCI0.SBRG.UAR2"

or

hint.sio.0.at="acpi"
hint.sio.0.location="UAR2"

or

hint.fxp.0.at="pci"
hint.fxp.0.location="bus=2 slot=3 function=0"
hint.fxp.1.at="pci"
hint.fxp.1.location="pci2:2:0"

Since we really want to map the devices in some arbitrary ACPI tree to
instances in the system, rather than mapping devices that happen to
live at a specific resource address to specific instances in the tree.

However, there are a number of issues in doing this generically and
with error cases.  How does one deal with the different syntaxes?
What extensions to the newbus system are there?  etc.

Warner


home | help

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