Add note about why we're ignoring the below 1MB bit.

This commit is contained in:
imp 2004-04-11 19:22:25 +00:00
parent a93512febd
commit 7764e9e2f9

View File

@ -374,6 +374,25 @@ decode_tuple_bar(device_t cbdev, device_t child, int id,
if (reg & TPL_BAR_REG_PREFETCHABLE)
dinfo->mprefetchable |= BARBIT(bar);
#if 0
/*
* XXX: It appears from a careful reading of the spec
* that we're not supposed to honor this when the bridge
* is not on the main system bus. PCI spec doesn't appear
* to allow for memory ranges not listed in the bridge's
* decode range to be decoded. The PC Card spec seems to
* indicate that this should only be done on x86 based
* machines, which seems to imply that on non-x86 machines
* the adddresses can be anywhere. This further implies that
* since the hardware can do it on non-x86 machines, it should
* be able to do it on x86 machines. Therefore, we can and
* should ignore this hint. Furthermore, the PC Card spec
* recommends always allocating memory above 1MB, contradicting
* the other part of the PC Card spec.
*
* NetBSD ignores this bit, but it also ignores the
* prefetchable bit too, so that's not an indication of
* correctness.
*/
if (reg & TPL_BAR_REG_BELOW1MB)
dinfo->mbelow1mb |= BARBIT(bar);
#endif