auxv_386.h revision 5269:395a95dbfd17
1193323Sed/* 2193323Sed * CDDL HEADER START 3193323Sed * 4193323Sed * The contents of this file are subject to the terms of the 5193323Sed * Common Development and Distribution License (the "License"). 6193323Sed * You may not use this file except in compliance with the License. 7193323Sed * 8193323Sed * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9193323Sed * or http://www.opensolaris.org/os/licensing. 10193323Sed * See the License for the specific language governing permissions 11193323Sed * and limitations under the License. 12193323Sed * 13193323Sed * When distributing Covered Code, include this CDDL HEADER in each 14193323Sed * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15193323Sed * If applicable, add the following below this CDDL HEADER, with the 16193323Sed * fields enclosed by brackets "[]" replaced with your own identifying 17193323Sed * information: Portions Copyright [yyyy] [name of copyright owner] 18193323Sed * 19193323Sed * CDDL HEADER END 20193323Sed */ 21193323Sed/* 22193323Sed * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 23193323Sed * Use is subject to license terms. 24193323Sed */ 25193323Sed 26193323Sed#ifndef _SYS_AUXV_386_H 27193323Sed#define _SYS_AUXV_386_H 28193323Sed 29193323Sed#pragma ident "%Z%%M% %I% %E% SMI" 30193323Sed 31193323Sed#ifdef __cplusplus 32193323Sedextern "C" { 33193323Sed#endif 34193323Sed 35193323Sed/* 36193323Sed * Flags used in AT_SUN_HWCAP elements to describe various userland 37193323Sed * instruction set extensions available on different processors. 38193323Sed * The basic assumption is that of the i386 ABI; that is, i386 plus i387 39193323Sed * floating point. 40193323Sed * 41193323Sed * Note that if a given bit is set; the implication is that the kernel 42193323Sed * provides all the underlying architectural support for the correct 43193323Sed * functioning of the extended instruction(s). 44193323Sed */ 45193323Sed#define AV_386_FPU 0x00001 /* x87-style floating point */ 46193323Sed#define AV_386_TSC 0x00002 /* rdtsc insn */ 47193323Sed#define AV_386_CX8 0x00004 /* cmpxchg8b insn */ 48193323Sed#define AV_386_SEP 0x00008 /* sysenter and sysexit */ 49193323Sed#define AV_386_AMD_SYSC 0x00010 /* AMD's syscall and sysret */ 50193323Sed#define AV_386_CMOV 0x00020 /* conditional move insns */ 51193323Sed#define AV_386_MMX 0x00040 /* MMX insns */ 52193323Sed#define AV_386_AMD_MMX 0x00080 /* AMD's MMX insns */ 53193323Sed#define AV_386_AMD_3DNow 0x00100 /* AMD's 3Dnow! insns */ 54193323Sed#define AV_386_AMD_3DNowx 0x00200 /* AMD's 3Dnow! extended insns */ 55193323Sed#define AV_386_FXSR 0x00400 /* fxsave and fxrstor */ 56193323Sed#define AV_386_SSE 0x00800 /* SSE insns and regs */ 57193323Sed#define AV_386_SSE2 0x01000 /* SSE2 insns and regs */ 58193323Sed#define AV_386_PAUSE 0x02000 /* use pause insn (in spin loops) */ 59193323Sed#define AV_386_SSE3 0x04000 /* SSE3 insns and regs */ 60193323Sed#define AV_386_MON 0x08000 /* monitor/mwait insns */ 61193323Sed#define AV_386_CX16 0x10000 /* cmpxchg16b insn */ 62193323Sed#define AV_386_AHF 0x20000 /* lahf/sahf insns */ 63193323Sed#define AV_386_TSCP 0x40000 /* rdtscp instruction */ 64195340Sed#define AV_386_AMD_SSE4A 0x80000 /* AMD's SSE4A insns */ 65193323Sed#define AV_386_POPCNT 0x100000 /* POPCNT insn */ 66193323Sed#define AV_386_AMD_LZCNT 0x200000 /* AMD's LZCNT insn */ 67193323Sed#define AV_386_SSSE3 0x400000 /* Intel SSSE3 insns */ 68193323Sed#define AV_386_SSE4_1 0x800000 /* Intel SSE4.1 insns */ 69193323Sed#define AV_386_SSE4_2 0x1000000 /* Intel SSE4.2 insns */ 70193323Sed 71198090Srdivacky#define FMT_AV_386 \ 72193323Sed "\20" \ 73193323Sed "\31sse4.2" \ 74195340Sed "\30sse4.1\27ssse3\26amd_lzcnt\25popcnt" \ 75195340Sed "\24amd_sse4a\23tscp\22ahf\21cx16" \ 76195340Sed "\20mon\17sse3\16pause\15sse2\14sse\13fxsr\12amd3dx\11amd3d" \ 77195340Sed "\10amdmmx\7mmx\6cmov\5amdsysc\4sep\3cx8\2tsc\1fpu" 78195340Sed 79195340Sed#ifdef __cplusplus 80193323Sed} 81193323Sed#endif 82195340Sed 83195340Sed#endif /* !_SYS_AUXV_386_H */ 84195340Sed