xref: /titanic_41/usr/src/uts/sun4u/sys/mem_cache_ioctl.h (revision 7bebe46c240b554f47faeed19186123896281967)
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