10SN/A/*-
29330SN/A * Copyright (c) 2009 Alan L. Cox <alc@cs.rice.edu>
30SN/A * All rights reserved.
40SN/A *
50SN/A * Redistribution and use in source and binary forms, with or without
60SN/A * modification, are permitted provided that the following conditions
72362SN/A * are met:
80SN/A * 1. Redistributions of source code must retain the above copyright
92362SN/A *    notice, this list of conditions and the following disclaimer.
100SN/A * 2. Redistributions in binary form must reproduce the above copyright
110SN/A *    notice, this list of conditions and the following disclaimer in the
120SN/A *    documentation and/or other materials provided with the distribution.
130SN/A *
140SN/A * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
150SN/A * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
160SN/A * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
170SN/A * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
180SN/A * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
190SN/A * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
200SN/A * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
212362SN/A * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
222362SN/A * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
232362SN/A * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
240SN/A * SUCH DAMAGE.
250SN/A */
260SN/A
270SN/A#ifndef _MACHINE_VM_H_
280SN/A#define	_MACHINE_VM_H_
290SN/A
300SN/A/* Memory attribute configuration. */
310SN/A#define	VM_MEMATTR_DEVICE_nGnRnE	0
320SN/A#define	VM_MEMATTR_UNCACHEABLE		1
330SN/A#define	VM_MEMATTR_WRITE_BACK		2
340SN/A#define	VM_MEMATTR_WRITE_THROUGH	3
350SN/A#define	VM_MEMATTR_DEVICE_nGnRE		4
360SN/A
370SN/A#define	VM_MEMATTR_DEVICE		VM_MEMATTR_DEVICE_nGnRE
380SN/A#define	VM_MEMATTR_DEVICE_NP		VM_MEMATTR_DEVICE_nGnRnE
390SN/A
400SN/A#ifdef _KERNEL
410SN/A/* If defined vmstat will try to use both of these in a switch statement */
420SN/A#define	VM_MEMATTR_WRITE_COMBINING	VM_MEMATTR_WRITE_THROUGH
430SN/A#endif
4411820Savstepan
450SN/A#define	VM_MEMATTR_DEFAULT	VM_MEMATTR_WRITE_BACK
4611820Savstepan
4711820Savstepan#endif /* !_MACHINE_VM_H_ */
480SN/A