summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2015-06-02 21:36:45 +0000
committerimp <imp@FreeBSD.org>2015-06-02 21:36:45 +0000
commit44bead40e54f48b541aa36e35eba7e34fb5bb4e1 (patch)
treea7c0508f4bf08e60bd29768aa59aec22cc2bb8df /sys/arm
parenta5587d67f9f8ac5971f073fdfbf4cb0e69fc2bd7 (diff)
downloadFreeBSD-src-44bead40e54f48b541aa36e35eba7e34fb5bb4e1.zip
FreeBSD-src-44bead40e54f48b541aa36e35eba7e34fb5bb4e1.tar.gz
MFC:
r283014: Disable unmapped I/O: it is broken for unaligned pages r283126: Fix comments
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/arm/pmap.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/arm/arm/pmap.c b/sys/arm/arm/pmap.c
index f438816..2b41d7c 100644
--- a/sys/arm/arm/pmap.c
+++ b/sys/arm/arm/pmap.c
@@ -4324,7 +4324,13 @@ pmap_copy_page(vm_page_t src, vm_page_t dst)
pmap_copy_page_func(VM_PAGE_TO_PHYS(src), VM_PAGE_TO_PHYS(dst));
}
-int unmapped_buf_allowed = 1;
+/*
+ * We have code to do unmapped I/O. However, it isn't quite right and
+ * causes un-page-aligned I/O to devices to fail (most notably newfs
+ * or fsck). We give up a little performance to not allow unmapped I/O
+ * to gain stability.
+ */
+int unmapped_buf_allowed = 0;
void
pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[],
OpenPOWER on IntegriCloud