1412042e2SAndrew Turner /*- 2412042e2SAndrew Turner * Copyright (c) 2009 Alan L. Cox <alc@cs.rice.edu> 3412042e2SAndrew Turner * All rights reserved. 4412042e2SAndrew Turner * 5412042e2SAndrew Turner * Redistribution and use in source and binary forms, with or without 6412042e2SAndrew Turner * modification, are permitted provided that the following conditions 7412042e2SAndrew Turner * are met: 8412042e2SAndrew Turner * 1. Redistributions of source code must retain the above copyright 9412042e2SAndrew Turner * notice, this list of conditions and the following disclaimer. 10412042e2SAndrew Turner * 2. Redistributions in binary form must reproduce the above copyright 11412042e2SAndrew Turner * notice, this list of conditions and the following disclaimer in the 12412042e2SAndrew Turner * documentation and/or other materials provided with the distribution. 13412042e2SAndrew Turner * 14412042e2SAndrew Turner * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15412042e2SAndrew Turner * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16412042e2SAndrew Turner * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17412042e2SAndrew Turner * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18412042e2SAndrew Turner * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19412042e2SAndrew Turner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20412042e2SAndrew Turner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21412042e2SAndrew Turner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22412042e2SAndrew Turner * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23412042e2SAndrew Turner * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24412042e2SAndrew Turner * SUCH DAMAGE. 25412042e2SAndrew Turner */ 26412042e2SAndrew Turner 27412042e2SAndrew Turner #ifndef _MACHINE_VM_H_ 28412042e2SAndrew Turner #define _MACHINE_VM_H_ 29412042e2SAndrew Turner 30412042e2SAndrew Turner /* Memory attribute configuration. */ 3113ec5a6dSAndrew Turner #define VM_MEMATTR_DEVICE_nGnRnE 0 32412042e2SAndrew Turner #define VM_MEMATTR_UNCACHEABLE 1 33412042e2SAndrew Turner #define VM_MEMATTR_WRITE_BACK 2 34c031b4b0SAndrew Turner #define VM_MEMATTR_WRITE_THROUGH 3 3513ec5a6dSAndrew Turner #define VM_MEMATTR_DEVICE_nGnRE 4 3613ec5a6dSAndrew Turner 37*3473f283SAndrew Turner #define VM_MEMATTR_DEVICE VM_MEMATTR_DEVICE_nGnRE 382abd4f85SAndrew Turner #define VM_MEMATTR_DEVICE_NP VM_MEMATTR_DEVICE_nGnRnE 39c031b4b0SAndrew Turner 40c031b4b0SAndrew Turner #ifdef _KERNEL 41c031b4b0SAndrew Turner /* If defined vmstat will try to use both of these in a switch statement */ 42c031b4b0SAndrew Turner #define VM_MEMATTR_WRITE_COMBINING VM_MEMATTR_WRITE_THROUGH 43c031b4b0SAndrew Turner #endif 44412042e2SAndrew Turner 45412042e2SAndrew Turner #define VM_MEMATTR_DEFAULT VM_MEMATTR_WRITE_BACK 46412042e2SAndrew Turner 47412042e2SAndrew Turner #endif /* !_MACHINE_VM_H_ */ 48