From d95bd0c34ae42ce08244069764277c19f291a3f4 Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Thu, 27 Apr 2006 04:53:18 +0000 Subject: [PATCH] The size of I/O ranges can be anything from 16 bytes to 2G bytes. Lower the minimum for memory mapped I/O from 32 bytes to 16 bytes. This fixes bus enumeration on ia64 now that the Diva auxiliary serial port is attached to. --- sys/dev/pci/pci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 08fd9954945..c51db37bd79 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -860,12 +860,12 @@ pci_add_map(device_t pcib, device_t bus, device_t dev, * isn't clear, we know we have a BAR that doesn't conform to the * spec, so ignore it. Also, sanity check the size of the data * areas to the type of memory involved. Memory must be at least - * 32 bytes in size, while I/O ranges must be at least 4. + * 16 bytes in size, while I/O ranges must be at least 4. */ if ((testval & 0x1) == 0x1 && (testval & 0x2) != 0) return (barlen); - if ((type == SYS_RES_MEMORY && ln2size < 5) || + if ((type == SYS_RES_MEMORY && ln2size < 4) || (type == SYS_RES_IOPORT && ln2size < 2)) return (barlen);