@@ -170,28 +170,33 @@ static void detectArmName(FFstrbuf* cpuinfo, FFCPUResult* cpu, uint32_t implId)
170
170
if (!ffStrStartsWith (line , "CPU part\t: " )) continue ;
171
171
uint32_t partId = (uint32_t ) strtoul (line + strlen ("CPU part\t: " ), NULL , 16 );
172
172
const char * name = NULL ;
173
- if ( partId > 0 ) // Linux reports 0 for unknown CPUs
173
+ switch ( implId )
174
174
{
175
- switch (implId )
176
- {
177
- case 0x41 : name = armPartId2name (partId ); break ;
178
- case 0x42 : name = brcmPartId2name (partId ); break ;
179
- case 0x43 : name = caviumPartId2name (partId ); break ;
180
- case 0x44 : name = decPartId2name (partId ); break ;
181
- case 0x46 : name = fujitsuPartId2name (partId ); break ;
182
- case 0x48 : name = hisiPartId2name (partId ); break ;
183
- case 0x4e : name = nvidiaPartId2name (partId ); break ;
184
- case 0x50 : name = apmPartId2name (partId ); break ;
185
- case 0x51 : name = qcomPartId2name (partId ); break ;
186
- case 0x53 : name = samsungPartId2name (partId ); break ;
187
- case 0x56 : name = marvellPartId2name (partId ); break ;
188
- case 0x61 : name = applePartId2name (partId ); break ;
189
- case 0x66 : name = faradayPartId2name (partId ); break ;
190
- case 0x69 : name = intelPartId2name (partId ); break ;
191
- case 0x6d : name = msPartId2name (partId ); break ;
192
- case 0x70 : name = ftPartId2name (partId ); break ;
193
- case 0xc0 : name = amperePartId2name (partId ); break ;
194
- }
175
+ case 0x41 : name = armPartId2name (partId ); break ;
176
+ case 0x42 : name = brcmPartId2name (partId ); break ;
177
+ case 0x43 : name = caviumPartId2name (partId ); break ;
178
+ case 0x44 : name = decPartId2name (partId ); break ;
179
+ case 0x46 : name = fujitsuPartId2name (partId ); break ;
180
+ case 0x48 : name = hisiPartId2name (partId ); break ;
181
+ case 0x4e : name = nvidiaPartId2name (partId ); break ;
182
+ case 0x50 : name = apmPartId2name (partId ); break ;
183
+ case 0x51 : name = qcomPartId2name (partId ); break ;
184
+ case 0x53 : name = samsungPartId2name (partId ); break ;
185
+ case 0x56 : name = marvellPartId2name (partId ); break ;
186
+ case 0x61 :
187
+ if (partId == 0 )
188
+ {
189
+ // https://github.com/Dr-Noob/cpufetch/issues/213#issuecomment-1927782105
190
+ ffStrbufSetStatic (& cpu -> name , "Virtualized Apple Silicon" );
191
+ return ;
192
+ }
193
+ name = applePartId2name (partId );
194
+ break ;
195
+ case 0x66 : name = faradayPartId2name (partId ); break ;
196
+ case 0x69 : name = intelPartId2name (partId ); break ;
197
+ case 0x6d : name = msPartId2name (partId ); break ;
198
+ case 0x70 : name = ftPartId2name (partId ); break ;
199
+ case 0xc0 : name = amperePartId2name (partId ); break ;
195
200
}
196
201
if (lastPartId != partId )
197
202
{
0 commit comments