svn commit: r318252 - head/sys/arm64/include
Andrew Turner
andrew at FreeBSD.org
Sat May 13 13:01:16 UTC 2017
Author: andrew
Date: Sat May 13 13:01:15 2017
New Revision: 318252
URL: https://svnweb.freebsd.org/changeset/base/318252
Log:
Add the VM_MEMATTR_WRITE_THROUGH memory type to arm64 and use it to support
VM_MEMATTR_WRITE_COMBINING in the kernel. This fixes a bug where Xorg would
use write back cached memory for its graphics buffers. This would produce
artifacts on the screen as cachelines were written to memory.
MFC after: 1 week
Sponsored by: DARPA, AFRL
Modified:
head/sys/arm64/include/vm.h
Modified: head/sys/arm64/include/vm.h
==============================================================================
--- head/sys/arm64/include/vm.h Sat May 13 10:00:24 2017 (r318251)
+++ head/sys/arm64/include/vm.h Sat May 13 13:01:15 2017 (r318252)
@@ -30,9 +30,15 @@
#define _MACHINE_VM_H_
/* Memory attribute configuration. */
-#define VM_MEMATTR_DEVICE 0
-#define VM_MEMATTR_UNCACHEABLE 1
-#define VM_MEMATTR_WRITE_BACK 2
+#define VM_MEMATTR_DEVICE 0
+#define VM_MEMATTR_UNCACHEABLE 1
+#define VM_MEMATTR_WRITE_BACK 2
+#define VM_MEMATTR_WRITE_THROUGH 3
+
+#ifdef _KERNEL
+/* If defined vmstat will try to use both of these in a switch statement */
+#define VM_MEMATTR_WRITE_COMBINING VM_MEMATTR_WRITE_THROUGH
+#endif
#define VM_MEMATTR_DEFAULT VM_MEMATTR_WRITE_BACK
More information about the svn-src-head
mailing list