home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-sh / bugs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  868 b   |  51 lines

  1. #ifndef __ASM_SH_BUGS_H
  2. #define __ASM_SH_BUGS_H
  3.  
  4. /*
  5.  * This is included by init/main.c to check for architecture-dependent bugs.
  6.  *
  7.  * Needs:
  8.  *    void check_bugs(void);
  9.  */
  10.  
  11. /*
  12.  * I don't know of any Super-H bugs yet.
  13.  */
  14.  
  15. #include <asm/processor.h>
  16.  
  17. static void __init check_bugs(void)
  18. {
  19.     extern char *get_cpu_subtype(void);
  20.     extern unsigned long loops_per_jiffy;
  21.     char *p= &system_utsname.machine[2]; /* "sh" */
  22.  
  23.     cpu_data->loops_per_jiffy = loops_per_jiffy;
  24.  
  25.     switch (cpu_data->type) {
  26.     case CPU_SH7604:
  27.         *p++ = '2';
  28.         break;
  29.     case CPU_SH7705 ... CPU_SH7300:
  30.         *p++ = '3';
  31.         break;
  32.     case CPU_SH7750 ... CPU_SH4_501:
  33.         *p++ = '4';
  34.         break;
  35.     default:
  36.         *p++ = '?';
  37.         *p++ = '!';
  38.         break;
  39.     }
  40.  
  41.     printk("CPU: %s\n", get_cpu_subtype());
  42.  
  43. #ifndef __LITTLE_ENDIAN__
  44.     /* 'eb' means 'Endian Big' */
  45.     *p++ = 'e';
  46.     *p++ = 'b';
  47. #endif
  48.     *p = '\0';
  49. }
  50. #endif /* __ASM_SH_BUGS_H */
  51.