| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. | 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 | 3 * Use of this source code is governed by a BSD-style license that can be |
| 4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 #include <string.h> | 7 #include <string.h> |
| 8 | 8 |
| 9 #include "native_client/src/shared/platform/nacl_log.h" | 9 #include "native_client/src/shared/platform/nacl_log.h" |
| 10 #include "native_client/src/trusted/validator_mips/cpuid_mips.h" | 10 #include "native_client/src/trusted/cpu_features/arch/mips/cpu_mips.h" |
| 11 | 11 |
| 12 | 12 |
| 13 void NaClSetAllCPUFeaturesMips(NaClCPUFeatures *f) { | 13 void NaClSetAllCPUFeaturesMips(NaClCPUFeatures *f) { |
| 14 /* TODO(jfb) Use a safe cast in this interface. */ | 14 /* TODO(jfb) Use a safe cast in this interface. */ |
| 15 NaClCPUFeaturesMips *features = (NaClCPUFeaturesMips *) f; | 15 NaClCPUFeaturesMips *features = (NaClCPUFeaturesMips *) f; |
| 16 /* Pedantic: avoid using memset, as in x86's nacl_cpuid.c. */ | 16 /* Pedantic: avoid using memset, as in x86's cpu_x86.c. */ |
| 17 int id; | 17 int id; |
| 18 /* Ensure any padding is zeroed. */ | 18 /* Ensure any padding is zeroed. */ |
| 19 NaClClearCPUFeaturesMips(features); | 19 NaClClearCPUFeaturesMips(features); |
| 20 for (id = 0; id < NaClCPUFeatureMips_Max; ++id) { | 20 for (id = 0; id < NaClCPUFeatureMips_Max; ++id) { |
| 21 NaClSetCPUFeatureMips(features, id, 1); | 21 NaClSetCPUFeatureMips(features, id, 1); |
| 22 } | 22 } |
| 23 } | 23 } |
| 24 | 24 |
| 25 void NaClGetCurrentCPUFeaturesMips(NaClCPUFeatures *f) { | 25 void NaClGetCurrentCPUFeaturesMips(NaClCPUFeatures *f) { |
| 26 /* TODO(jfb) Use a safe cast in this interface. */ | 26 /* TODO(jfb) Use a safe cast in this interface. */ |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 } | 59 } |
| 60 | 60 |
| 61 void NaClSetCPUFeatureMips(NaClCPUFeaturesMips *f, NaClCPUFeatureMipsID id, | 61 void NaClSetCPUFeatureMips(NaClCPUFeaturesMips *f, NaClCPUFeatureMipsID id, |
| 62 int state) { | 62 int state) { |
| 63 f->data[id] = (char) state; | 63 f->data[id] = (char) state; |
| 64 } | 64 } |
| 65 | 65 |
| 66 const char *NaClGetCPUFeatureMipsName(NaClCPUFeatureMipsID id) { | 66 const char *NaClGetCPUFeatureMipsName(NaClCPUFeatureMipsID id) { |
| 67 static const char *kFeatureMipsNames[NaClCPUFeatureMips_Max] = { | 67 static const char *kFeatureMipsNames[NaClCPUFeatureMips_Max] = { |
| 68 # define NACL_MIPS_CPU_FEATURE(name) NACL_TO_STRING(name), | 68 # define NACL_MIPS_CPU_FEATURE(name) NACL_TO_STRING(name), |
| 69 # include "native_client/src/trusted/validator_mips/cpuid_mips_features.h" | 69 # include "native_client/src/trusted/cpu_features/arch/mips/cpu_mips_features.h" |
| 70 # undef NACL_MIPS_CPU_FEATURE | 70 # undef NACL_MIPS_CPU_FEATURE |
| 71 }; | 71 }; |
| 72 return ((unsigned)id < NaClCPUFeatureMips_Max) ? | 72 return ((unsigned)id < NaClCPUFeatureMips_Max) ? |
| 73 kFeatureMipsNames[id] : "INVALID"; | 73 kFeatureMipsNames[id] : "INVALID"; |
| 74 } | 74 } |
| 75 | 75 |
| 76 void NaClClearCPUFeaturesMips(NaClCPUFeaturesMips *features) { | 76 void NaClClearCPUFeaturesMips(NaClCPUFeaturesMips *features) { |
| 77 memset(features, 0, sizeof(*features)); | 77 memset(features, 0, sizeof(*features)); |
| 78 } | 78 } |
| OLD | NEW |