root/arch/sh/include/asm/bugs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. check_bugs

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __ASM_SH_BUGS_H
   3 #define __ASM_SH_BUGS_H
   4 
   5 /*
   6  * This is included by init/main.c to check for architecture-dependent bugs.
   7  *
   8  * Needs:
   9  *      void check_bugs(void);
  10  */
  11 
  12 /*
  13  * I don't know of any Super-H bugs yet.
  14  */
  15 
  16 #include <asm/processor.h>
  17 
  18 extern void select_idle_routine(void);
  19 
  20 static void __init check_bugs(void)
  21 {
  22         extern unsigned long loops_per_jiffy;
  23         char *p = &init_utsname()->machine[2]; /* "sh" */
  24 
  25         select_idle_routine();
  26 
  27         current_cpu_data.loops_per_jiffy = loops_per_jiffy;
  28 
  29         switch (current_cpu_data.family) {
  30         case CPU_FAMILY_SH2:
  31                 *p++ = '2';
  32                 break;
  33         case CPU_FAMILY_SH2A:
  34                 *p++ = '2';
  35                 *p++ = 'a';
  36                 break;
  37         case CPU_FAMILY_SH3:
  38                 *p++ = '3';
  39                 break;
  40         case CPU_FAMILY_SH4:
  41                 *p++ = '4';
  42                 break;
  43         case CPU_FAMILY_SH4A:
  44                 *p++ = '4';
  45                 *p++ = 'a';
  46                 break;
  47         case CPU_FAMILY_SH4AL_DSP:
  48                 *p++ = '4';
  49                 *p++ = 'a';
  50                 *p++ = 'l';
  51                 *p++ = '-';
  52                 *p++ = 'd';
  53                 *p++ = 's';
  54                 *p++ = 'p';
  55                 break;
  56         case CPU_FAMILY_SH5:
  57                 *p++ = '6';
  58                 *p++ = '4';
  59                 break;
  60         case CPU_FAMILY_UNKNOWN:
  61                 /*
  62                  * Specifically use CPU_FAMILY_UNKNOWN rather than
  63                  * default:, so we're able to have the compiler whine
  64                  * about unhandled enumerations.
  65                  */
  66                 break;
  67         }
  68 
  69         printk("CPU: %s\n", get_cpu_subtype(&current_cpu_data));
  70 
  71 #ifndef __LITTLE_ENDIAN__
  72         /* 'eb' means 'Endian Big' */
  73         *p++ = 'e';
  74         *p++ = 'b';
  75 #endif
  76         *p = '\0';
  77 }
  78 #endif /* __ASM_SH_BUGS_H */

/* [<][>][^][v][top][bottom][index][help] */