Subject: Re: pci probe
To: None <tech-kern@NetBSD.org, itojun@iijlab.net>
From: M. Warner Losh <imp@bsdimp.com>
List: port-i386
Date: 08/15/2003 14:51:30
In message: <20030815.121524.95800747.imp@bsdimp.com>
            "M. Warner Losh" <imp@bsdimp.com> writes:
: The problem, for those that are new to the discussion, is that reading
: anything but the header type for devices that do not exist is ill
: defined.  For devices that are really there, one can rely on certain
: registers being implemented for all devices.  However, the standard is
: less clear on what happens when on access registers on devices that
: aren't there.

Initial reports of the problem that I got had this assertion, but I've
been unable to find concrete text in the standard.

What is clear from the standard:

o Nonexistant devices' configuration space reads return 0xff.
o vendor id of 0xffff is invalid (but the standard only implies that
  if function 0 is valid, all functions must be invalid).
o a header type of 0xff is just as ambiguous as vendor of 0xffff.

Warner