10498185创建于 4月20日历史提交
/****************************************************************************
 * arch/arm/src/common/hwcap.h
 *
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.  The
 * ASF licenses this file to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance with the
 * License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 * License for the specific language governing permissions and limitations
 * under the License.
 *
 ****************************************************************************/

#ifndef __ARCH_ARM_SRC_COMMON_HWCAP_H
#define __ARCH_ARM_SRC_COMMON_HWCAP_H

/****************************************************************************
 * Included Files
 ****************************************************************************/

/****************************************************************************
 * Pre-processor Definitions
 ****************************************************************************/

/* Hardware capabilities */

#define HWCAP_SWP       "swp"       /* SWP instruction */
#define HWCAP_HALF      "half"      /* Half word */
#define HWCAP_THUMB     "thumb"     /* Thumb instruction set support */
#define HWCAP_26BIT     "26bit"     /* Play it safe */
#define HWCAP_FAST_MULT "fastmult"  /* Long multiply such as umull and umlal */
#define HWCAP_FPA       "fpa"
#define HWCAP_VFP       "vfp"
#define HWCAP_EDSP      "edsp"      /* Enhanced dsp instruction */
#define HWCAP_JAVA      "java"
#define HWCAP_IWMMXT    "iwmmxt"
#define HWCAP_CRUNCH    "crunch"
#define HWCAP_THUMBEE   "thumbee"
#define HWCAP_NEON      "neon"      /* Advanced SIMD extension */
#define HWCAP_VFPV3     "vfpv3"     /* Floating-point extension version */
#define HWCAP_VFPV3D16  "vfpv3d16"  /* Also set for vfpv4-d16 */
#define HWCAP_TLS       "tls"       /* Thread local storage */
#define HWCAP_VFPV4     "vfpv4"     /* Floating-point extension version */
#define HWCAP_IDIVA     "idiva"     /* SDIV and UDIV instruction */
#define HWCAP_IDIVT     "idivt"     /* SDIV and UDIV in thumb instruction set */
#define HWCAP_VFPD32    "vfpd32"    /* Set if VFP has 32 64-bit regs (not 16) */
#define HWCAP_LPAE      "lpae"      /* LDRD/STRD instructions */
#define HWCAP_EVTSTRM   "evtstrm"
#define HWCAP_FPHP      "fphp"      /* Half-precision instructions support */
#define HWCAP_FPSP      "fpsp"      /* Single-precision instructions support */
#define HWCAP_FPDP      "fpdp"      /* Double-precision instructions support */
#define HWCAP_FPV5      "fpv5"      /* Floating-point extension version */
#define HWCAP_MVE       "mve"       /* M-profile vector extension */

/* Hardware capabilities added form armv8 */

#define HWCAP2_AES      "aes"
#define HWCAP2_PMULL    "pmull"
#define HWCAP2_SHA1     "sha1"
#define HWCAP2_SHA2     "sha2"
#define HWCAP2_CRC32    "crc32"

#endif /* __ARCH_ARM_SRC_COMMON_HWCAP_H */