nuttx/arch/arm/src/common/hwcap.h
liaoao db53c7abcf procfs:add armv8-m cpuinfo
Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-05-27 03:29:41 +08:00

71 lines
3.3 KiB
C

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