1 : /*
2 : * Copyright (c) 2012 The Native Client Authors. All rights reserved.
3 : * Use of this source code is governed by a BSD-style license that can be
4 : * found in the LICENSE file.
5 : */
6 :
7 : #include "native_client/src/include/portability.h"
8 : #include "native_client/src/trusted/cpu_features/arch/x86/cpu_x86.h"
9 :
10 :
11 : /*
12 : * Needed to prevent unnecessary export in gyp builds.
13 : * Scons passes optiond -D VALIDATOR_EXPORT=DLL_EXPORT.
14 : * See https://code.google.com/p/nativeclient/issues/detail?id=3367 for details.
15 : */
16 : #ifndef VALIDATOR_EXPORT
17 : #define VALIDATOR_EXPORT
18 : #endif
19 :
20 :
21 : /* All supported features are enabled */
22 : const NaClCPUFeaturesX86 kFullCPUIDFeatures = {
23 : {
24 : 1, /* NaClCPUFeatureX86_CPUIDSupported */
25 : 1, /* NaClCPUFeatureX86_CPUSupported */
26 : 1, /* NaClCPUFeatureX86_3DNOW */ /* AMD-specific */
27 : 1, /* NaClCPUFeatureX86_AES */
28 : 1, /* NaClCPUFeatureX86_AVX */
29 : 1, /* NaClCPUFeatureX86_BMI1 */
30 : 1, /* NaClCPUFeatureX86_CLFLUSH */
31 : 1, /* NaClCPUFeatureX86_CLMUL */
32 : 1, /* NaClCPUFeatureX86_CMOV */
33 : 1, /* NaClCPUFeatureX86_CX16 */
34 : 1, /* NaClCPUFeatureX86_CX8 */
35 : 1, /* NaClCPUFeatureX86_E3DNOW */ /* AMD-specific */
36 : 1, /* NaClCPUFeatureX86_EMMX */ /* AMD-specific */
37 : 1, /* NaClCPUFeatureX86_F16C */
38 : 1, /* NaClCPUFeatureX86_FMA */
39 : 1, /* NaClCPUFeatureX86_FMA4 */ /* AMD-specific */
40 : 1, /* NaClCPUFeatureX86_FXSR */
41 : 1, /* NaClCPUFeatureX86_LAHF */
42 : 1, /* NaClCPUFeatureX86_LM */
43 : 1, /* NaClCPUFeatureX86_LWP */ /* AMD-specific */
44 : 1, /* NaClCPUFeatureX86_LZCNT */ /* AMD-specific */
45 : 1, /* NaClCPUFeatureX86_MMX */
46 : 1, /* NaClCPUFeatureX86_MON */
47 : 1, /* NaClCPUFeatureX86_MOVBE */
48 : 1, /* NaClCPUFeatureX86_OSXSAVE */
49 : 1, /* NaClCPUFeatureX86_POPCNT */
50 : 1, /* NaClCPUFeatureX86_PRE */ /* AMD-specific */
51 : 1, /* NaClCPUFeatureX86_SSE */
52 : 1, /* NaClCPUFeatureX86_SSE2 */
53 : 1, /* NaClCPUFeatureX86_SSE3 */
54 : 1, /* NaClCPUFeatureX86_SSE41 */
55 : 1, /* NaClCPUFeatureX86_SSE42 */
56 : 1, /* NaClCPUFeatureX86_SSE4A */ /* AMD-specific */
57 : 1, /* NaClCPUFeatureX86_SSSE3 */
58 : 1, /* NaClCPUFeatureX86_TBM */ /* AMD-specific */
59 : 1, /* NaClCPUFeatureX86_TSC */
60 : 1, /* NaClCPUFeatureX86_x87 */
61 : 1 /* NaClCPUFeatureX86_XOP */ /* AMD-specific */
62 : }
63 : };
64 :
65 : VALIDATOR_EXPORT
66 0 : const NaClCPUFeaturesX86* GetFullCPUIDFeatures(void) {
67 0 : return &kFullCPUIDFeatures;
68 0 : }
|