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

John Baldwin jhb at freebsd.org
Tue Aug 24 15:37:23 UTC 2010


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.

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

-- 
John Baldwin


More information about the freebsd-hackers mailing list