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
This commit is contained in:
Andrew Turner 2017-05-13 13:01:15 +00:00
parent f1ec210574
commit c031b4b01e

View File

@ -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