16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 20a9426dfSDavid Howells #ifndef __ASM_SH_CPU_FEATURES_H 30a9426dfSDavid Howells #define __ASM_SH_CPU_FEATURES_H 40a9426dfSDavid Howells 50a9426dfSDavid Howells /* 60a9426dfSDavid Howells * Processor flags 70a9426dfSDavid Howells * 80a9426dfSDavid Howells * Note: When adding a new flag, keep cpu_flags[] in 90a9426dfSDavid Howells * arch/sh/kernel/setup.c in sync so symbolic name 100a9426dfSDavid Howells * mapping of the processor flags has a chance of being 110a9426dfSDavid Howells * reasonably accurate. 120a9426dfSDavid Howells * 130a9426dfSDavid Howells * These flags are also available through the ELF 140a9426dfSDavid Howells * auxiliary vector as AT_HWCAP. 150a9426dfSDavid Howells */ 160a9426dfSDavid Howells #define CPU_HAS_FPU 0x0001 /* Hardware FPU support */ 170a9426dfSDavid Howells #define CPU_HAS_P2_FLUSH_BUG 0x0002 /* Need to flush the cache in P2 area */ 180a9426dfSDavid Howells #define CPU_HAS_MMU_PAGE_ASSOC 0x0004 /* SH3: TLB way selection bit support */ 190a9426dfSDavid Howells #define CPU_HAS_DSP 0x0008 /* SH-DSP: DSP support */ 200a9426dfSDavid Howells #define CPU_HAS_PERF_COUNTER 0x0010 /* Hardware performance counters */ 210a9426dfSDavid Howells #define CPU_HAS_PTEA 0x0020 /* PTEA register */ 220a9426dfSDavid Howells #define CPU_HAS_LLSC 0x0040 /* movli.l/movco.l */ 230a9426dfSDavid Howells #define CPU_HAS_L2_CACHE 0x0080 /* Secondary cache / URAM */ 240a9426dfSDavid Howells #define CPU_HAS_OP32 0x0100 /* 32-bit instruction support */ 250a9426dfSDavid Howells #define CPU_HAS_PTEAEX 0x0200 /* PTE ASID Extension support */ 26834da197SRich Felker #define CPU_HAS_CAS_L 0x0400 /* cas.l atomic compare-and-swap */ 270a9426dfSDavid Howells 280a9426dfSDavid Howells #endif /* __ASM_SH_CPU_FEATURES_H */ 29