xref: /onnv-gate/usr/src/uts/common/sys/auxv_SPARC.h (revision 10271:7c80b70bb8de)
10Sstevel@tonic-gate /*
20Sstevel@tonic-gate  * CDDL HEADER START
30Sstevel@tonic-gate  *
40Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
52801Shyw  * Common Development and Distribution License (the "License").
62801Shyw  * You may not use this file except in compliance with the License.
70Sstevel@tonic-gate  *
80Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
90Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
100Sstevel@tonic-gate  * See the License for the specific language governing permissions
110Sstevel@tonic-gate  * and limitations under the License.
120Sstevel@tonic-gate  *
130Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
140Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
150Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
160Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
170Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
180Sstevel@tonic-gate  *
190Sstevel@tonic-gate  * CDDL HEADER END
200Sstevel@tonic-gate  */
210Sstevel@tonic-gate /*
229202SJason.Beloro@Sun.COM  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
230Sstevel@tonic-gate  * Use is subject to license terms.
240Sstevel@tonic-gate  */
250Sstevel@tonic-gate 
260Sstevel@tonic-gate #ifndef	_SYS_AUXV_SPARC_H
270Sstevel@tonic-gate #define	_SYS_AUXV_SPARC_H
280Sstevel@tonic-gate 
290Sstevel@tonic-gate #ifdef __cplusplus
300Sstevel@tonic-gate extern "C" {
310Sstevel@tonic-gate #endif
320Sstevel@tonic-gate 
330Sstevel@tonic-gate /*
340Sstevel@tonic-gate  * Flags used to describe various instruction set extensions available
350Sstevel@tonic-gate  * on different SPARC processors.
360Sstevel@tonic-gate  *
377718SJason.Beloro@Sun.COM  * [The first four are legacy descriptions.]
380Sstevel@tonic-gate  */
390Sstevel@tonic-gate #define	AV_SPARC_MUL32	0x0001	/* 32x32-bit smul/umul is efficient */
400Sstevel@tonic-gate #define	AV_SPARC_DIV32	0x0002	/* 32x32-bit sdiv/udiv is efficient */
410Sstevel@tonic-gate #define	AV_SPARC_FSMULD	0x0004	/* fsmuld is efficient */
420Sstevel@tonic-gate #define	AV_SPARC_V8PLUS	0x0008	/* V9 instructions available to 32-bit apps */
430Sstevel@tonic-gate #define	AV_SPARC_POPC	0x0010	/* popc is efficient */
440Sstevel@tonic-gate #define	AV_SPARC_VIS	0x0020	/* VIS instruction set supported */
450Sstevel@tonic-gate #define	AV_SPARC_VIS2	0x0040	/* VIS2 instruction set supported */
460Sstevel@tonic-gate #define	AV_SPARC_ASI_BLK_INIT	0x0080	/* ASI_BLK_INIT_xxx ASI */
472801Shyw #define	AV_SPARC_FMAF	0x0100	/* Fused Multiply-Add */
487718SJason.Beloro@Sun.COM #define	AV_SPARC_VIS3	0x0400  /* VIS3 instruction set extensions */
497718SJason.Beloro@Sun.COM #define	AV_SPARC_HPC	0x0800  /* High Performance Computing insns */
507718SJason.Beloro@Sun.COM #define	AV_SPARC_RANDOM	0x1000  /* random instruction */
517718SJason.Beloro@Sun.COM #define	AV_SPARC_TRANS	0x2000  /* transactions supported */
524435Smb158278 #define	AV_SPARC_FJFMAU	0x4000	/* Fujitsu Unfused Multiply-Add */
535037Sjl139090 #define	AV_SPARC_IMA	0x8000	/* Integer Multiply-add */
549202SJason.Beloro@Sun.COM #define	AV_SPARC_ASI_CACHE_SPARING	0x10000
550Sstevel@tonic-gate 
560Sstevel@tonic-gate #define	FMT_AV_SPARC	\
575037Sjl139090 	"\20" \
589202SJason.Beloro@Sun.COM 	"\21cspare"	\
59*10271SJason.Beloro@Sun.COM 	"\20ima\17fjfmau\16trans\15random\14hpc\13vis3\12-\11fmaf" 	\
604435Smb158278 	"\10ASIBlkInit\7vis2\6vis\5popc\4v8plus\3fsmuld\2div32\1mul32"
610Sstevel@tonic-gate 
620Sstevel@tonic-gate /*
630Sstevel@tonic-gate  * compatibility defines: Obsolete
640Sstevel@tonic-gate  */
650Sstevel@tonic-gate #define	AV_SPARC_HWMUL_32x32	AV_SPARC_MUL32
660Sstevel@tonic-gate #define	AV_SPARC_HWDIV_32x32	AV_SPARC_DIV32
670Sstevel@tonic-gate #define	AV_SPARC_HWFSMULD	AV_SPARC_FSMULD
680Sstevel@tonic-gate 
690Sstevel@tonic-gate #ifdef __cplusplus
700Sstevel@tonic-gate }
710Sstevel@tonic-gate #endif
720Sstevel@tonic-gate 
730Sstevel@tonic-gate #endif	/* !_SYS_AUXV_SPARC_H */
74