diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2000-09-20 17:29:48 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2000-09-20 17:29:48 +0000 |
commit | 40a95e4cfb321729804117a3c4a64ecf16182a73 (patch) | |
tree | b352882119a6d85e775929be2517e8d41025d67d | |
parent | a3186acc4e1bacf101b8116455ccc6ac9e1a9ed1 (diff) |
Extend the region in which we allow mapping unmapped PCI devices.
The former code only allowed one fixed up device mapping.
-rw-r--r-- | sys/arch/i386/pci/pci_addr_fixup.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/arch/i386/pci/pci_addr_fixup.c b/sys/arch/i386/pci/pci_addr_fixup.c index 1e9dc657beb..8493d7d991e 100644 --- a/sys/arch/i386/pci/pci_addr_fixup.c +++ b/sys/arch/i386/pci/pci_addr_fixup.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_addr_fixup.c,v 1.2 2000/09/07 20:50:38 mickey Exp $ */ +/* $OpenBSD: pci_addr_fixup.c,v 1.3 2000/09/20 17:29:47 niklas Exp $ */ /* $NetBSD: pci_addr_fixup.c,v 1.7 2000/08/03 20:10:45 nathanw Exp $ */ /*- @@ -297,9 +297,8 @@ pciaddr_do_resource_allocate(pc, tag, mapreg, ex, type, addr, size) PCIBIOS_PRINTV(("No available resources. fixup failed\n")); return (1); } - error = extent_alloc_subregion(ex, start, start + size - 1, size, - size, 0, - EX_FAST|EX_NOWAIT|EX_MALLOCOK, addr); + error = extent_alloc_subregion(ex, start, ex->ex_end, size, size, 0, + EX_FAST|EX_NOWAIT|EX_MALLOCOK, addr); if (error) { PCIBIOS_PRINTV(("No available resources. fixup failed\n")); return (1); @@ -343,7 +342,7 @@ pciaddr_do_resource_reserve(pc, tag, mapreg, ex, type, addr, size) if (*addr == 0) return (1); - error = extent_alloc_region(ex, *addr, size, EX_NOWAIT| EX_MALLOCOK); + error = extent_alloc_region(ex, *addr, size, EX_NOWAIT | EX_MALLOCOK); if (error) { PCIBIOS_PRINTV(("Resource conflict.\n")); pci_conf_write(pc, tag, mapreg, 0); /* clear */ |