1/*
2 *  linux/include/asm-arm/procinfo.h
3 *
4 *  Copyright (C) 1996-1999 Russell King
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10#ifndef __ASM_PROCINFO_H
11#define __ASM_PROCINFO_H
12
13#ifndef __ASSEMBLY__
14
15#include <asm/proc-fns.h>
16
17struct proc_info_item {
18	const char	 *manufacturer;
19	const char	 *cpu_name;
20};
21
22/*
23 * Note!  struct processor is always defined if we're
24 * using MULTI_CPU, otherwise this entry is unused,
25 * but still exists.
26 *
27 * NOTE! The following structure is defined by assembly
28 * language, NOT C code.  For more information, check:
29 *  arch/arm/mm/proc-*.S and arch/arm/kernel/head-armv.S
30 */
31struct proc_info_list {
32	unsigned int	 cpu_val;
33	unsigned int	 cpu_mask;
34	unsigned long	 __cpu_mmu_flags;	/* used by head-armv.S */
35	unsigned long	 __cpu_flush;		/* used by head-armv.S */
36	const char	 *arch_name;
37	const char	 *elf_name;
38	unsigned int	 elf_hwcap;
39	struct proc_info_item *info;
40#ifdef MULTI_CPU
41	struct processor *proc;
42#else
43	void		 *unused;
44#endif
45};
46
47#endif	/* __ASSEMBLY__ */
48
49#define HWCAP_SWP	 1
50#define HWCAP_HALF	 2
51#define HWCAP_THUMB	 4
52#define HWCAP_26BIT	 8	/* Play it safe */
53#define HWCAP_FAST_MULT	 16
54#define HWCAP_FPA        32
55#define HWCAP_VFP        64
56#define HWCAP_EDSP	 128
57
58#endif
59