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