summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2010-05-05 19:34:27 +0000
committerkettenis <kettenis@openbsd.org>2010-05-05 19:34:27 +0000
commitc97620b730a2b9f83018dfd904f4ff83a039d85c (patch)
tree7c14c02d028f2e73eaa2622987483ee44436e1d7 /sys
parentUSB Id for Atheros AR3011 bluetooth adapter. (diff)
downloadwireguard-openbsd-c97620b730a2b9f83018dfd904f4ff83a039d85c.tar.xz
wireguard-openbsd-c97620b730a2b9f83018dfd904f4ff83a039d85c.zip
Since we never set the X bit for directly mappings, nothing can be moved into
the instruction cache through them. So we don't need to flush the instruction cache and purge instruction TLBs for these mappings. ok jsing@, miod@
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/hppa/hppa/pmap.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/sys/arch/hppa/hppa/pmap.c b/sys/arch/hppa/hppa/pmap.c
index 7781e2407a3..9f8d672370c 100644
--- a/sys/arch/hppa/hppa/pmap.c
+++ b/sys/arch/hppa/hppa/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.152 2010/04/30 21:56:39 oga Exp $ */
+/* $OpenBSD: pmap.c,v 1.153 2010/05/05 19:34:27 kettenis Exp $ */
/*
* Copyright (c) 1998-2004 Michael Shalayeff
@@ -1180,9 +1180,7 @@ pmap_zero_page(struct vm_page *pg)
pmap_flush_page(pg, 1);
bzero((void *)pa, PAGE_SIZE);
fdcache(HPPA_SID_KERNEL, pa, PAGE_SIZE);
- ficache(HPPA_SID_KERNEL, pa, PAGE_SIZE);
pdtlb(HPPA_SID_KERNEL, pa);
- pitlb(HPPA_SID_KERNEL, pa);
}
void
@@ -1197,12 +1195,8 @@ pmap_copy_page(struct vm_page *srcpg, struct vm_page *dstpg)
bcopy((void *)spa, (void *)dpa, PAGE_SIZE);
pdcache(HPPA_SID_KERNEL, spa, PAGE_SIZE);
fdcache(HPPA_SID_KERNEL, dpa, PAGE_SIZE);
- ficache(HPPA_SID_KERNEL, spa, PAGE_SIZE);
- ficache(HPPA_SID_KERNEL, dpa, PAGE_SIZE);
pdtlb(HPPA_SID_KERNEL, spa);
pdtlb(HPPA_SID_KERNEL, dpa);
- pitlb(HPPA_SID_KERNEL, spa);
- pitlb(HPPA_SID_KERNEL, dpa);
}
void
@@ -1321,8 +1315,6 @@ struct vm_page *
pmap_unmap_direct(vaddr_t va)
{
fdcache(HPPA_SID_KERNEL, va, PAGE_SIZE);
- ficache(HPPA_SID_KERNEL, va, PAGE_SIZE);
pdtlb(HPPA_SID_KERNEL, va);
- pitlb(HPPA_SID_KERNEL, va);
return (PHYS_TO_VM_PAGE(va));
}