Home | History | Annotate | Download | only in asm-arm
      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 struct cpu_tlb_fns;
     16 struct cpu_user_fns;
     17 struct cpu_cache_fns;
     18 struct processor;
     19 
     20 /*
     21  * Note!  struct processor is always defined if we're
     22  * using MULTI_CPU, otherwise this entry is unused,
     23  * but still exists.
     24  *
     25  * NOTE! The following structure is defined by assembly
     26  * language, NOT C code.  For more information, check:
     27  *  arch/arm/mm/proc-*.S and arch/arm/kernel/head.S
     28  */
     29 struct proc_info_list {
     30 	unsigned int		cpu_val;
     31 	unsigned int		cpu_mask;
     32 	unsigned long		__cpu_mm_mmu_flags;	/* used by head.S */
     33 	unsigned long		__cpu_io_mmu_flags;	/* used by head.S */
     34 	unsigned long		__cpu_flush;		/* used by head.S */
     35 	const char		*arch_name;
     36 	const char		*elf_name;
     37 	unsigned int		elf_hwcap;
     38 	const char		*cpu_name;
     39 	struct processor	*proc;
     40 	struct cpu_tlb_fns	*tlb;
     41 	struct cpu_user_fns	*user;
     42 	struct cpu_cache_fns	*cache;
     43 };
     44 
     45 extern unsigned int elf_hwcap;
     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 #define HWCAP_JAVA	256
     58 #define HWCAP_IWMMXT	512
     59 
     60 #endif
     61