LCOV - code coverage report
Current view: directory - src/trusted/cpu_features/arch/arm - cpu_arm.h (source / functions) Found Hit Coverage
Test: coverage.lcov Lines: 3 0 0.0 %
Date: 2014-09-25 Functions: 0 0 -

       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                 : #ifndef NATIVE_CLIENT_SRC_TRUSTED_CPU_FEATURES_ARCH_ARM_CPU_ARM_H_
       8                 : #define NATIVE_CLIENT_SRC_TRUSTED_CPU_FEATURES_ARCH_ARM_CPU_ARM_H_
       9                 : 
      10                 : #include "native_client/src/include/nacl_compiler_annotations.h"
      11                 : #include "native_client/src/include/nacl_macros.h"
      12                 : #include "native_client/src/include/portability.h"
      13                 : #include "native_client/src/trusted/validator/ncvalidate.h"
      14                 : 
      15                 : 
      16                 : EXTERN_C_BEGIN
      17                 : 
      18                 : /* List of features supported by ARM CPUs. */
      19                 : typedef enum {
      20                 : #define NACL_ARM_CPU_FEATURE(name) NACL_CONCAT(NaClCPUFeatureArm_, name),
      21                 : #include "native_client/src/trusted/cpu_features/arch/arm/cpu_arm_features.h"
      22                 : #undef NACL_ARM_CPU_FEATURE
      23                 :   /* Leave the following as the last entry. */
      24                 :   NaClCPUFeatureArm_Max
      25                 : } NaClCPUFeatureArmID;
      26                 : 
      27                 : typedef struct cpu_feature_struct_arm {
      28                 :   char data[NaClCPUFeatureArm_Max];
      29                 : } NaClCPUFeaturesArm;
      30                 : 
      31                 : /*
      32                 :  * Platform-independent NaClValidatorInterface functions.
      33                 :  */
      34                 : void NaClSetAllCPUFeaturesArm(NaClCPUFeatures *features);
      35                 : void NaClGetCurrentCPUFeaturesArm(NaClCPUFeatures *features);
      36                 : int NaClFixCPUFeaturesArm(NaClCPUFeatures *features);
      37                 : 
      38                 : /*
      39                 :  * Platform-dependent getter/setter.
      40                 :  */
      41                 : static INLINE int NaClGetCPUFeatureArm(const NaClCPUFeaturesArm *features,
      42               0 :                                        NaClCPUFeatureArmID id) {
      43               0 :   return features->data[id];
      44               0 : }
      45                 : 
      46                 : void NaClSetCPUFeatureArm(NaClCPUFeaturesArm *features, NaClCPUFeatureArmID id,
      47                 :                           int state);
      48                 : const char *NaClGetCPUFeatureArmName(NaClCPUFeatureArmID id);
      49                 : 
      50                 : /*
      51                 :  * Platform-independent functions which are only used in platform-dependent
      52                 :  * code.
      53                 :  */
      54                 : void NaClClearCPUFeaturesArm(NaClCPUFeaturesArm *features);
      55                 : void NaClCopyCPUFeaturesArm(NaClCPUFeaturesArm *target,
      56                 :                             const NaClCPUFeaturesArm *source);
      57                 : /*
      58                 :  * TODO(jfb) The x86 CPU features also offers this function, which is
      59                 :  * currently not used on ARM: NaClArchSupportedArm.
      60                 :  */
      61                 : 
      62                 : EXTERN_C_END
      63                 : 
      64                 : #endif /* NATIVE_CLIENT_SRC_TRUSTED_CPU_FEATURES_ARCH_ARM_CPU_ARM_H_ */

Generated by: LCOV version 1.7