summaryrefslogtreecommitdiff
path: root/sys/arch/i386/pci
diff options
context:
space:
mode:
authorMike Larkin <mlarkin@cvs.openbsd.org>2015-07-17 21:36:57 +0000
committerMike Larkin <mlarkin@cvs.openbsd.org>2015-07-17 21:36:57 +0000
commit89d278d7fc97dc41c3878adce3f703cda41a32b1 (patch)
treeb68d76414acb9f8d907e7f704d330afb5013772c /sys/arch/i386/pci
parent55aa389fb6be51c59d1cb9d28361af2c4e8e38c5 (diff)
Include executable mapping for BIOS32 pages. Fixes a problem where mappings
done in this region using PAE w/NX caused #PFs (as they lacked the exec permission previously). Also unmap the region when we're finished. No sense in leaving extra executable regions lying around. Fixes non-ACPI uniprocessor i386 machines that have NX/PAE (these would previously panic in pcibiosattach). ok deraadt@
Diffstat (limited to 'sys/arch/i386/pci')
-rw-r--r--sys/arch/i386/pci/pcibios.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/i386/pci/pcibios.c b/sys/arch/i386/pci/pcibios.c
index ddf28cd2b4d..39c824d4824 100644
--- a/sys/arch/i386/pci/pcibios.c
+++ b/sys/arch/i386/pci/pcibios.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcibios.c,v 1.45 2014/07/12 18:44:42 tedu Exp $ */
+/* $OpenBSD: pcibios.c,v 1.46 2015/07/17 21:36:56 mlarkin Exp $ */
/* $NetBSD: pcibios.c,v 1.5 2000/08/01 05:23:59 uch Exp $ */
/*
@@ -228,6 +228,8 @@ pcibiosattach(struct device *parent, struct device *self, void *aux)
if (!(pcibios_flags & PCIBIOS_ADDR_FIXUP))
pci_addr_fixup(sc, NULL, sc->max_bus);
+
+ bios32_cleanup();
}
struct pcibios_intr_routing *