diff options
author | imp <imp@FreeBSD.org> | 2004-04-11 19:22:25 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2004-04-11 19:22:25 +0000 |
commit | 7764e9e2f9a011c4950a736ef60ee0315def73e2 (patch) | |
tree | 910eff77246ed57c9c614d919552172520785554 /sys | |
parent | a93512febdf60b17373ac251481c01f0c8bcd88c (diff) | |
download | FreeBSD-src-7764e9e2f9a011c4950a736ef60ee0315def73e2.zip FreeBSD-src-7764e9e2f9a011c4950a736ef60ee0315def73e2.tar.gz |
Add note about why we're ignoring the below 1MB bit.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/cardbus/cardbus_cis.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/dev/cardbus/cardbus_cis.c b/sys/dev/cardbus/cardbus_cis.c index 4105432..e17b935 100644 --- a/sys/dev/cardbus/cardbus_cis.c +++ b/sys/dev/cardbus/cardbus_cis.c @@ -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 |