Why doesn't ppc(4) check non-ENXIO failures during probe?

M. Warner Losh imp at bsdimp.com
Tue Aug 24 16:10:31 UTC 2010

In message: <201008241009.46624.jhb at freebsd.org>
            John Baldwin <jhb at FreeBSD.org> writes:
: On Tuesday, August 24, 2010 12:09:45 am M. Warner Losh wrote:
: > In message: <201008171615.21103.jhb at freebsd.org>
: >             John Baldwin <jhb at FreeBSD.org> writes:
: > : >     So more or less it's for BIOSes with ISA that doesn't feature plug
: > : > and play (286s, 386s, some 486s?)? Just trying to fill in the gap :).
: > : 
: > : Yes, it may perhaps still be useful for some x86 embedded systems, though
: > : it is doubtful that those would use a ppc(4) device perhaps.
: > 
: > Many embedded x86 systems use ppc(4) as a DIO port.  ppi attaches to
: > it and can be used to frob bits.
: > 
: > These days, of course, almost all boards have ACPI, so that means they
: > get enumerated that way.  Only boards that don't run windows might not
: > have ACPI, in which case the devices are usually enumerated via
: > PNPBIOS.  But not always, since those boards tend to have the buggiest
: > BIOSes on the planet in this area.  Hints are needed on a few of these
: > boards since nothing else will work.  And they have Atom processors on
: > them...
: The specific code I am referring to is the code in ppc_isa_probe() that tries 
: to auto-identify a ppc port by poking at various I/O ports directly.  It is 
: not enabled by default.  You'd have to have a ppc hint that did not include an 
: I/O port for this code to be triggered I think as it only gets executed if a 
: ppc(4) device does not have an I/O port resource from ACPI/PnPBIOS/hints.

Ah, that code...  Yes, you're right...

: I was mostly thinking of this in terms of ISA cards, and I doubt that even 
: modern embedded systems have ISA slots. :)

There are still a few PC-104 boards knocking around (which is ISA in a
different form-factor), but mostly people have moved PC-104+ which is
really PCI or other things...


More information about the freebsd-hackers mailing list