Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4304 Serge 1
/*
2
 * Copyright (c) 2013 Intel Corporation
3
 *
4
 * Permission is hereby granted, free of charge, to any person obtaining a
5
 * copy of this software and associated documentation files (the "Software"),
6
 * to deal in the Software without restriction, including without limitation
7
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
 * and/or sell copies of the Software, and to permit persons to whom the
9
 * Software is furnished to do so, subject to the following conditions:
10
 *
11
 * The above copyright notice and this permission notice (including the next
12
 * paragraph) shall be included in all copies or substantial portions of the
13
 * Software.
14
 *
15
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
 * SOFTWARE.
22
 *
23
 * Authors:
24
 *    Chris Wilson 
25
 *
26
 */
27
 
28
/* Small wrapper around compiler specific implementation details of cpuid */
29
 
30
#ifndef SNA_CPUID_H
31
#define SNA_CPUID_H
32
 
33
#include "compiler.h"
34
 
35
#if HAS_GCC(4, 4) /* for __cpuid_count() */
36
#include 
37
#else
38
#define __get_cpuid_max(x, y) 0
39
#define __cpuid(level, a, b, c, d)
40
#define __cpuid_count(level, count, a, b, c, d)
41
#endif
42
 
43
#define BASIC_CPUID 0x0
44
#define EXTENDED_CPUID 0x80000000
45
 
46
#ifndef bit_MMX
47
#define bit_MMX		(1 << 23)
48
#endif
49
 
50
#ifndef bit_SSE
51
#define bit_SSE		(1 << 25)
52
#endif
53
 
54
#ifndef bit_SSE2
55
#define bit_SSE2	(1 << 26)
56
#endif
57
 
58
#ifndef bit_SSE3
59
#define bit_SSE3	(1 << 0)
60
#endif
61
 
62
#ifndef bit_SSSE3
63
#define bit_SSSE3	(1 << 9)
64
#endif
65
 
66
#ifndef bit_SSE4_1
67
#define bit_SSE4_1	(1 << 19)
68
#endif
69
 
70
#ifndef bit_SSE4_2
71
#define bit_SSE4_2	(1 << 20)
72
#endif
73
 
74
#ifndef bit_OSXSAVE
75
#define bit_OSXSAVE	(1 << 27)
76
#endif
77
 
78
#ifndef bit_AVX
79
#define bit_AVX		(1 << 28)
80
#endif
81
 
82
#ifndef bit_AVX2
83
#define bit_AVX2	(1<<5)
84
#endif
85
 
86
#endif /* SNA_CPUID_H */