linux/arch/arm64/include/asm/hwcap.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2012 ARM Ltd.
   3 *
   4 * This program is free software; you can redistribute it and/or modify
   5 * it under the terms of the GNU General Public License version 2 as
   6 * published by the Free Software Foundation.
   7 *
   8 * This program is distributed in the hope that it will be useful,
   9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11 * GNU General Public License for more details.
  12 *
  13 * You should have received a copy of the GNU General Public License
  14 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  15 */
  16#ifndef __ASM_HWCAP_H
  17#define __ASM_HWCAP_H
  18
  19#include <uapi/asm/hwcap.h>
  20
  21#define COMPAT_HWCAP_HALF       (1 << 1)
  22#define COMPAT_HWCAP_THUMB      (1 << 2)
  23#define COMPAT_HWCAP_FAST_MULT  (1 << 4)
  24#define COMPAT_HWCAP_VFP        (1 << 6)
  25#define COMPAT_HWCAP_EDSP       (1 << 7)
  26#define COMPAT_HWCAP_NEON       (1 << 12)
  27#define COMPAT_HWCAP_VFPv3      (1 << 13)
  28#define COMPAT_HWCAP_TLS        (1 << 15)
  29#define COMPAT_HWCAP_VFPv4      (1 << 16)
  30#define COMPAT_HWCAP_IDIVA      (1 << 17)
  31#define COMPAT_HWCAP_IDIVT      (1 << 18)
  32#define COMPAT_HWCAP_IDIV       (COMPAT_HWCAP_IDIVA|COMPAT_HWCAP_IDIVT)
  33#define COMPAT_HWCAP_LPAE       (1 << 20)
  34#define COMPAT_HWCAP_EVTSTRM    (1 << 21)
  35
  36#define COMPAT_HWCAP2_AES       (1 << 0)
  37#define COMPAT_HWCAP2_PMULL     (1 << 1)
  38#define COMPAT_HWCAP2_SHA1      (1 << 2)
  39#define COMPAT_HWCAP2_SHA2      (1 << 3)
  40#define COMPAT_HWCAP2_CRC32     (1 << 4)
  41
  42#ifndef __ASSEMBLY__
  43/*
  44 * This yields a mask that user programs can use to figure out what
  45 * instruction set this cpu supports.
  46 */
  47#define ELF_HWCAP               (elf_hwcap)
  48
  49#ifdef CONFIG_COMPAT
  50#define COMPAT_ELF_HWCAP        (compat_elf_hwcap)
  51#define COMPAT_ELF_HWCAP2       (compat_elf_hwcap2)
  52extern unsigned int compat_elf_hwcap, compat_elf_hwcap2;
  53#endif
  54
  55enum {
  56        CAP_HWCAP = 1,
  57#ifdef CONFIG_COMPAT
  58        CAP_COMPAT_HWCAP,
  59        CAP_COMPAT_HWCAP2,
  60#endif
  61};
  62
  63extern unsigned long elf_hwcap;
  64#endif
  65#endif
  66