From b82a32604f43138785e1bcf5f08d357566539244 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Wed, 9 Apr 2008 21:47:37 +0000 Subject: On sparc64, a zero base address doesn't mean the BAR is invalid. We probably need a MD base address validation function, but skipping the check on sparc64 will do for now. ok deraadt@ --- sys/dev/pci/pci_map.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sys/dev/pci') diff --git a/sys/dev/pci/pci_map.c b/sys/dev/pci/pci_map.c index e9d6adb481c..77c8d52009d 100644 --- a/sys/dev/pci/pci_map.c +++ b/sys/dev/pci/pci_map.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_map.c,v 1.20 2007/01/26 01:18:48 tsi Exp $ */ +/* $OpenBSD: pci_map.c,v 1.21 2008/04/09 21:47:36 kettenis Exp $ */ /* $NetBSD: pci_map.c,v 1.7 2000/05/10 16:58:42 thorpej Exp $ */ /*- @@ -326,8 +326,10 @@ pci_mapreg_map(struct pci_attach_args *pa, int reg, pcireg_t type, int busflags, if ((rv = pci_mapreg_info(pa->pa_pc, pa->pa_tag, reg, type, &base, &size, &flags)) != 0) return (rv); +#ifndef __sparc64__ if (base == 0) return (EINVAL); /* disabled because of invalid BAR */ +#endif csr = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG); if (PCI_MAPREG_TYPE(type) == PCI_MAPREG_TYPE_IO) -- cgit v1.2.3