diff options
author | Mike Larkin <mlarkin@cvs.openbsd.org> | 2015-07-17 21:36:57 +0000 |
---|---|---|
committer | Mike Larkin <mlarkin@cvs.openbsd.org> | 2015-07-17 21:36:57 +0000 |
commit | 89d278d7fc97dc41c3878adce3f703cda41a32b1 (patch) | |
tree | b68d76414acb9f8d907e7f704d330afb5013772c /sys/arch/i386/pci | |
parent | 55aa389fb6be51c59d1cb9d28361af2c4e8e38c5 (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.c | 4 |
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 * |