summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2015-02-27 18:59:43 +0000
committerguenther <guenther@openbsd.org>2015-02-27 18:59:43 +0000
commit8367b41908755bd835fc3e1773ea6681b4c71f4e (patch)
treedc01764bcefe7d4de39106586940b9d54df4d578
parentFix URL-encoding of characters with the high order bit set. (diff)
downloadwireguard-openbsd-8367b41908755bd835fc3e1773ea6681b4c71f4e.tar.xz
wireguard-openbsd-8367b41908755bd835fc3e1773ea6681b4c71f4e.zip
Fix uvm_fault() seen with bwi (and some other devices?) on older non-apic i386
reported by Michael (lesniewskister (at) gmail.com) ok miod@ (who did all the hard work)
-rw-r--r--sys/arch/i386/include/bus.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arch/i386/include/bus.h b/sys/arch/i386/include/bus.h
index eaf54e03a79..2e25b765ea7 100644
--- a/sys/arch/i386/include/bus.h
+++ b/sys/arch/i386/include/bus.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: bus.h,v 1.65 2015/01/24 15:13:55 kettenis Exp $ */
+/* $OpenBSD: bus.h,v 1.66 2015/02/27 18:59:43 guenther Exp $ */
/* $NetBSD: bus.h,v 1.6 1996/11/10 03:19:25 thorpej Exp $ */
/*-
@@ -458,6 +458,7 @@ struct i386_bus_space_ops {
case 2: i386_space_copy1(a1,a2,cnt,"movsw","std");break;\
case 4: i386_space_copy1(a1,a2,cnt,"movsl","std");break;\
} \
+ __asm volatile("cld"); /* must restore before func ret */ \
} else \
switch (sz) { \
case 1: i386_space_copy1(a1,a2,cnt,"movsb","cld");break;\