@@ -127,6 +127,33 @@ int detect(void){
127
127
#endif
128
128
129
129
#ifdef _AIX
130
+ FILE * infile ;
131
+ char buffer [512 ], * p ;
132
+
133
+ p = (char * )NULL ;
134
+ infile = popen ("prtconf|grep 'Processor Type'" );
135
+ while (fgets (buffer , sizeof (buffer ), infile )){
136
+ if (!strncmp ("Pro" , buffer , 3 )){
137
+ p = strchr (buffer , ':' ) + 2 ;
138
+ #if 0
139
+ fprintf (stderr , "%s\n" , p );
140
+ #endif
141
+ break ;
142
+ }
143
+ }
144
+
145
+ pclose (infile );
146
+
147
+ if (!strncasecmp (p , "POWER3" , 6 )) return CPUTYPE_POWER3 ;
148
+ if (!strncasecmp (p , "POWER4" , 6 )) return CPUTYPE_POWER4 ;
149
+ if (!strncasecmp (p , "PPC970" , 6 )) return CPUTYPE_PPC970 ;
150
+ if (!strncasecmp (p , "POWER5" , 6 )) return CPUTYPE_POWER5 ;
151
+ if (!strncasecmp (p , "POWER6" , 6 )) return CPUTYPE_POWER6 ;
152
+ if (!strncasecmp (p , "POWER7" , 6 )) return CPUTYPE_POWER6 ;
153
+ if (!strncasecmp (p , "POWER8" , 6 )) return CPUTYPE_POWER8 ;
154
+ if (!strncasecmp (p , "Cell" , 4 )) return CPUTYPE_CELL ;
155
+ if (!strncasecmp (p , "7447" , 4 )) return CPUTYPE_PPCG4 ;
156
+
130
157
return CPUTYPE_POWER5 ;
131
158
#endif
132
159
0 commit comments