1*7bebe46cSjc25722 /* 2*7bebe46cSjc25722 * CDDL HEADER START 3*7bebe46cSjc25722 * 4*7bebe46cSjc25722 * The contents of this file are subject to the terms of the 5*7bebe46cSjc25722 * Common Development and Distribution License (the "License"). 6*7bebe46cSjc25722 * You may not use this file except in compliance with the License. 7*7bebe46cSjc25722 * 8*7bebe46cSjc25722 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*7bebe46cSjc25722 * or http://www.opensolaris.org/os/licensing. 10*7bebe46cSjc25722 * See the License for the specific language governing permissions 11*7bebe46cSjc25722 * and limitations under the License. 12*7bebe46cSjc25722 * 13*7bebe46cSjc25722 * When distributing Covered Code, include this CDDL HEADER in each 14*7bebe46cSjc25722 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*7bebe46cSjc25722 * If applicable, add the following below this CDDL HEADER, with the 16*7bebe46cSjc25722 * fields enclosed by brackets "[]" replaced with your own identifying 17*7bebe46cSjc25722 * information: Portions Copyright [yyyy] [name of copyright owner] 18*7bebe46cSjc25722 * 19*7bebe46cSjc25722 * CDDL HEADER END 20*7bebe46cSjc25722 */ 21*7bebe46cSjc25722 /* 22*7bebe46cSjc25722 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23*7bebe46cSjc25722 * Use is subject to license terms. 24*7bebe46cSjc25722 */ 25*7bebe46cSjc25722 #ifndef _MEM_CACHE_IOCTL_H 26*7bebe46cSjc25722 #define _MEM_CACHE_IOCTL_H 27*7bebe46cSjc25722 28*7bebe46cSjc25722 #pragma ident "%Z%%M% %I% %E% SMI" 29*7bebe46cSjc25722 30*7bebe46cSjc25722 #ifdef __cplusplus 31*7bebe46cSjc25722 extern "C" { 32*7bebe46cSjc25722 #endif 33*7bebe46cSjc25722 34*7bebe46cSjc25722 #define PN_ECSTATE_MASK 0x7 /* three bit field */ 35*7bebe46cSjc25722 #define PN_ECSTATE_INV 0x0 /* invalid */ 36*7bebe46cSjc25722 #define PN_ECSTATE_SHR 0x1 /* shared */ 37*7bebe46cSjc25722 #define PN_ECSTATE_EXL 0x2 /* exclusive */ 38*7bebe46cSjc25722 #define PN_ECSTATE_OWN 0x3 /* owner */ 39*7bebe46cSjc25722 #define PN_ECSTATE_MOD 0x4 /* modified */ 40*7bebe46cSjc25722 #define PN_ECSTATE_NA 0x5 /* Not Available */ 41*7bebe46cSjc25722 #define PN_ECSTATE_OWN_SHR 0x6 /* owner/shared */ 42*7bebe46cSjc25722 #define PN_ECSTATE_RES 0x7 /* reserved */ 43*7bebe46cSjc25722 44*7bebe46cSjc25722 typedef void retire_func_t(uint64_t, uint64_t); 45*7bebe46cSjc25722 typedef struct cache_info32 { 46*7bebe46cSjc25722 int cpu_id; 47*7bebe46cSjc25722 cache_id_t cache; 48*7bebe46cSjc25722 uint32_t index; 49*7bebe46cSjc25722 uint32_t way; 50*7bebe46cSjc25722 uint16_t bit; 51*7bebe46cSjc25722 caddr32_t datap; 52*7bebe46cSjc25722 } cache_info32_t; 53*7bebe46cSjc25722 54*7bebe46cSjc25722 #ifdef __cplusplus 55*7bebe46cSjc25722 } 56*7bebe46cSjc25722 #endif 57*7bebe46cSjc25722 58*7bebe46cSjc25722 #endif /* _MEM_CACHE_IOCTL_H */ 59