| Index: src/trusted/validator_arm/cpuid_arm.c
|
| diff --git a/src/trusted/validator_arm/cpuid_arm.c b/src/trusted/validator_arm/cpuid_arm.c
|
| deleted file mode 100644
|
| index dc98828bd1f874978cf40b15510067475a2e4c68..0000000000000000000000000000000000000000
|
| --- a/src/trusted/validator_arm/cpuid_arm.c
|
| +++ /dev/null
|
| @@ -1,87 +0,0 @@
|
| -/*
|
| - * Copyright (c) 2012 The Native Client Authors. All rights reserved.
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#include <string.h>
|
| -
|
| -#include "native_client/src/shared/platform/nacl_log.h"
|
| -#include "native_client/src/trusted/validator_arm/cpuid_arm.h"
|
| -
|
| -
|
| -void NaClSetAllCPUFeaturesArm(NaClCPUFeatures *f) {
|
| - /* TODO(jfb) Use a safe cast in this interface. */
|
| - NaClCPUFeaturesArm *features = (NaClCPUFeaturesArm *) f;
|
| - /* Pedantic: avoid using memset, as in x86's nacl_cpuid.c. */
|
| - int id;
|
| - /* Ensure any padding is zeroed. */
|
| - NaClClearCPUFeaturesArm(features);
|
| - for (id = 0; id < NaClCPUFeatureArm_Max; ++id) {
|
| - NaClSetCPUFeatureArm(features, id, 1);
|
| - }
|
| -}
|
| -
|
| -void NaClGetCurrentCPUFeaturesArm(NaClCPUFeatures *f) {
|
| - /* TODO(jfb) Use a safe cast in this interface. */
|
| - NaClCPUFeaturesArm *features = (NaClCPUFeaturesArm *) f;
|
| - /*
|
| - * TODO(jfb) Create a whitelist of CPUs that don't leak information when
|
| - * TST+LDR and TST+STR are used. Disallow all for now.
|
| - */
|
| - NaClSetCPUFeatureArm(features, NaClCPUFeatureArm_CanUseTstMem, 0);
|
| -}
|
| -
|
| -/* This array defines the CPU feature model for fixed-feature CPU mode. */
|
| -static const int kFixedFeatureArmCPUModel[NaClCPUFeatureArm_Max] = {
|
| - 0 /* NaClCPUFeatureArm_CanUseTstMem */
|
| -};
|
| -
|
| -int NaClFixCPUFeaturesArm(NaClCPUFeatures *f) {
|
| - /* TODO(jfb) Use a safe cast in this interface. */
|
| - NaClCPUFeaturesArm *features = (NaClCPUFeaturesArm *) f;
|
| - NaClCPUFeatureArmID fid;
|
| - int rvalue = 1;
|
| -
|
| - for (fid = 0; fid < NaClCPUFeatureArm_Max; fid++) {
|
| - if (kFixedFeatureArmCPUModel[fid]) {
|
| - if (!NaClGetCPUFeatureArm(features, fid)) {
|
| - /* This CPU is missing a required feature. */
|
| - NaClLog(LOG_ERROR,
|
| - "This CPU is missing a feature required by fixed-mode: %s\n",
|
| - NaClGetCPUFeatureArmName(fid));
|
| - rvalue = 0; /* set return value to indicate failure */
|
| - }
|
| - } else {
|
| - /* Feature is not in the fixed model.
|
| - * Ensure cpu_features does not have it either.
|
| - */
|
| - NaClSetCPUFeatureArm(features, fid, 0);
|
| - }
|
| - }
|
| - return rvalue;
|
| -}
|
| -
|
| -void NaClSetCPUFeatureArm(NaClCPUFeaturesArm *f, NaClCPUFeatureArmID id,
|
| - int state) {
|
| - f->data[id] = (char) state;
|
| -}
|
| -
|
| -const char *NaClGetCPUFeatureArmName(NaClCPUFeatureArmID id) {
|
| - static const char *kFeatureArmNames[NaClCPUFeatureArm_Max] = {
|
| -# define NACL_ARM_CPU_FEATURE(name) NACL_TO_STRING(name),
|
| -# include "native_client/src/trusted/validator_arm/cpuid_arm_features.h"
|
| -# undef NACL_ARM_CPU_FEATURE
|
| - };
|
| - return ((unsigned)id < NaClCPUFeatureArm_Max) ?
|
| - kFeatureArmNames[id] : "INVALID";
|
| -}
|
| -
|
| -void NaClClearCPUFeaturesArm(NaClCPUFeaturesArm *features) {
|
| - memset(features, 0, sizeof(*features));
|
| -}
|
| -
|
| -void NaClCopyCPUFeaturesArm(NaClCPUFeaturesArm *target,
|
| - const NaClCPUFeaturesArm *source) {
|
| - memcpy(target, source, sizeof(*target));
|
| -}
|
|
|