2005-04-17 02:20:36 +04:00
# ifndef __ASM_SH_BUGS_H
# define __ASM_SH_BUGS_H
/*
* This is included by init / main . c to check for architecture - dependent bugs .
*
* Needs :
* void check_bugs ( void ) ;
*/
/*
* I don ' t know of any Super - H bugs yet .
*/
# include <asm/processor.h>
static void __init check_bugs ( void )
{
extern unsigned long loops_per_jiffy ;
2006-12-11 14:28:03 +03:00
char * p = & init_utsname ( ) - > machine [ 2 ] ; /* "sh" */
2005-04-17 02:20:36 +04:00
2006-12-25 04:19:56 +03:00
current_cpu_data . loops_per_jiffy = loops_per_jiffy ;
2005-04-17 02:20:36 +04:00
2006-12-25 04:19:56 +03:00
switch ( current_cpu_data . type ) {
2007-06-11 05:18:45 +04:00
case CPU_SH7619 :
2005-04-17 02:20:36 +04:00
* p + + = ' 2 ' ;
break ;
2006-11-05 10:18:08 +03:00
case CPU_SH7206 :
* p + + = ' 2 ' ;
* p + + = ' a ' ;
break ;
2007-07-25 06:42:56 +04:00
case CPU_SH7705 . . . CPU_SH7729 :
2005-04-17 02:20:36 +04:00
* p + + = ' 3 ' ;
break ;
case CPU_SH7750 . . . CPU_SH4_501 :
* p + + = ' 4 ' ;
break ;
2007-06-20 13:27:10 +04:00
case CPU_SH7770 . . . CPU_SHX3 :
2006-09-27 09:31:40 +04:00
* p + + = ' 4 ' ;
* p + + = ' a ' ;
break ;
2007-07-25 05:49:21 +04:00
case CPU_SH7343 . . . CPU_SH7722 :
2006-12-11 14:28:03 +03:00
* p + + = ' 4 ' ;
* p + + = ' a ' ;
* p + + = ' l ' ;
* p + + = ' - ' ;
* p + + = ' d ' ;
* p + + = ' s ' ;
* p + + = ' p ' ;
break ;
2005-04-17 02:20:36 +04:00
default :
* p + + = ' ? ' ;
* p + + = ' ! ' ;
break ;
}
2006-12-25 04:19:56 +03:00
printk ( " CPU: %s \n " , get_cpu_subtype ( & current_cpu_data ) ) ;
2005-04-17 02:20:36 +04:00
# ifndef __LITTLE_ENDIAN__
/* 'eb' means 'Endian Big' */
* p + + = ' e ' ;
* p + + = ' b ' ;
# endif
* p = ' \0 ' ;
}
# endif /* __ASM_SH_BUGS_H */