diff options
author | John Baldwin <jhb@FreeBSD.org> | 2015-11-23 23:48:07 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2015-11-23 23:48:07 +0000 |
commit | 15d107308f0dc3b026160bd7185ad7674c422767 (patch) | |
tree | 52dd986a8771c61b7bdc3535634aebbbb2500ad0 /sbin/casperd | |
parent | c6b0d893622d53ec769e6c0ff2de615eff582312 (diff) | |
download | src-15d107308f0dc3b026160bd7185ad7674c422767.tar.gz src-15d107308f0dc3b026160bd7185ad7674c422767.zip |
Add a new -B flag for use with list mode (-l) that lists details about
bridges. Currently this includes information about what resources a
bridge decodes on the upstream side for use by downstream devices including
bus numbers, I/O port resources, and memory resources. Windows and bus
ranges are enumerated for both PCI-PCI bridges and PCI-CardBus bridges.
To simplify the implementation, all enumeration is done by reading the
appropriate config space registers directly rather than querying the
bridge driver in the kernel via new ioctls. This does result in a few
limitations.
First, an unimplemented window in a PCI-PCI bridge cannot be accurately
detected as accurate detection requires writing to the window base
register. That is not safe for pciconf(8). Instead, this assumes that
any window where both the base and limit read as all zeroes is
unimplemented.
Second, the PCI-PCI bridge driver in a tree has a few quirks for
PCI-PCI bridges that use subtractive decoding but do not indicate that
via the progif config register. The list of quirks is duplicated in
pciconf's source.
Reviewed by: imp
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D4171
Notes
Notes:
svn path=/head/; revision=291225
Diffstat (limited to 'sbin/casperd')
0 files changed, 0 insertions, 0 deletions