/**************************************************************************** * 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 */