1e999111aSAlan Cox /*- 2*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 371e3c308SPedro F. Giffuni * 4e999111aSAlan Cox * Copyright (c) 2009 Alan L. Cox <alc@cs.rice.edu> 5e999111aSAlan Cox * All rights reserved. 6e999111aSAlan Cox * 7e999111aSAlan Cox * Redistribution and use in source and binary forms, with or without 8e999111aSAlan Cox * modification, are permitted provided that the following conditions 9e999111aSAlan Cox * are met: 10e999111aSAlan Cox * 1. Redistributions of source code must retain the above copyright 11e999111aSAlan Cox * notice, this list of conditions and the following disclaimer. 12e999111aSAlan Cox * 2. Redistributions in binary form must reproduce the above copyright 13e999111aSAlan Cox * notice, this list of conditions and the following disclaimer in the 14e999111aSAlan Cox * documentation and/or other materials provided with the distribution. 15e999111aSAlan Cox * 16e999111aSAlan Cox * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17e999111aSAlan Cox * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18e999111aSAlan Cox * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19e999111aSAlan Cox * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20e999111aSAlan Cox * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21e999111aSAlan Cox * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22e999111aSAlan Cox * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23e999111aSAlan Cox * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24e999111aSAlan Cox * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25e999111aSAlan Cox * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26e999111aSAlan Cox * SUCH DAMAGE. 27e999111aSAlan Cox */ 28e999111aSAlan Cox 29e999111aSAlan Cox #ifndef _MACHINE_VM_H_ 30e999111aSAlan Cox #define _MACHINE_VM_H_ 31e999111aSAlan Cox 32e999111aSAlan Cox #include <machine/pte.h> 33e999111aSAlan Cox 343153e878SAlan Cox /* Memory attributes. */ 353153e878SAlan Cox #define VM_MEMATTR_DEFAULT 0 36c1f4123bSNathan Whitehorn #define VM_MEMATTR_UNCACHEABLE 0x01 37c1f4123bSNathan Whitehorn #define VM_MEMATTR_CACHEABLE 0x02 38c1f4123bSNathan Whitehorn #define VM_MEMATTR_WRITE_COMBINING 0x04 39c1f4123bSNathan Whitehorn #define VM_MEMATTR_WRITE_BACK 0x08 40c1f4123bSNathan Whitehorn #define VM_MEMATTR_WRITE_THROUGH 0x10 41c1f4123bSNathan Whitehorn #define VM_MEMATTR_PREFETCHABLE 0x20 42e999111aSAlan Cox 435d2d599dSAndrew Turner #define VM_MEMATTR_DEVICE VM_MEMATTR_DEFAULT 445d2d599dSAndrew Turner 455797795fSAlan Cox #endif /* !_MACHINE_VM_H_ */ 46