From 9b96fbde9aebbdd7b69eda5acc550208992ce692 Mon Sep 17 00:00:00 2001 From: jmatthew Date: Tue, 16 Dec 2014 23:13:20 +0000 Subject: [PATCH] Temporarily expand the pci memory range to suit Dell 13G servers. They have devices outside the 36 bit range that their firmware needs to talk to, and they get constant acpi interrupts if it can't. We should get the necessary ranges via ACPI, but for now just make the allowed range bigger. ok kettenis@ deraadt@ --- sys/arch/amd64/pci/pci_machdep.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/arch/amd64/pci/pci_machdep.c b/sys/arch/amd64/pci/pci_machdep.c index 4098fa2bb13..650ecb656a2 100644 --- a/sys/arch/amd64/pci/pci_machdep.c +++ b/sys/arch/amd64/pci/pci_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_machdep.c,v 1.59 2014/04/19 11:53:42 kettenis Exp $ */ +/* $OpenBSD: pci_machdep.c,v 1.60 2014/12/16 23:13:20 jmatthew Exp $ */ /* $NetBSD: pci_machdep.c,v 1.3 2003/05/07 21:33:58 fvdl Exp $ */ /*- @@ -622,13 +622,17 @@ pci_init_extents(void) * here. As long as vendors continue to support * 32-bit operating systems, we should never see BARs * outside that region. + * + * Dell 13G servers have important devices outside the + * 36-bit address space. Until we can extract the address + * ranges from ACPI, expand the allowed range to suit. */ pcimem_ex = extent_create("pcimem", 0, 0xffffffffffffffffUL, M_DEVBUF, NULL, 0, EX_NOWAIT); if (pcimem_ex == NULL) return; - extent_alloc_region(pcimem_ex, 0x1000000000UL, - 0xfffffff000000000UL, EX_NOWAIT); + extent_alloc_region(pcimem_ex, 0x40000000000UL, + 0xfffffc0000000000UL, EX_NOWAIT); for (bmp = bios_memmap; bmp->type != BIOS_MAP_END; bmp++) { /* -- 2.20.1