Chameleon

Chameleon Commit Details

Date:2014-08-04 02:10:21 (9 years 7 months ago)
Author:MacMan
Commit:2394
Parents: 2393
Message:Chimera 3.0.1 based on trunk r2378
Changes:
A/branches/Chimera/Chimera 3.0.1 Changes.txt
M/branches/Chimera/i386/libsaio/gma.h
M/branches/Chimera/Make.rules
M/branches/Chimera/i386/libsaio/nvidia.c
M/branches/Chimera/i386/boot2/boot.h
M/branches/Chimera/i386/libsaio/ati.c
M/branches/Chimera/i386/modules/Cconfig
M/branches/Chimera/i386/modules/Makefile
M/branches/Chimera/i386/libsaio/cpu.c
M/branches/Chimera/i386/libsaio/smbios_getters.c
M/branches/Chimera/i386/libsaio/pci_setup.c
M/branches/Chimera/i386/libsaio/smbios.c
M/branches/Chimera/i386/boot2/options.c
M/branches/Chimera/i386/libsaio/console.c
M/branches/Chimera/doc/BootHelp.txt
M/branches/Chimera/i386/libsaio/gma.c

File differences

branches/Chimera/i386/libsaio/console.c
9191
9292
9393
94
94
9595
9696
9797
msgbuf = malloc(BOOTER_LOG_SIZE);
bzero(msgbuf, BOOTER_LOG_SIZE);
cursor = msgbuf;
msglog("%s\n", "Chameleon " I386BOOT_CHAMELEONVERSION " (svn-r" I386BOOT_CHAMELEONREVISION ")" " [" I386BOOT_BUILDDATE "]");
msglog("%s\n", "Chimera 3.0.1 Branch of " "Chameleon " I386BOOT_CHAMELEONVERSION " (svn-r" I386BOOT_CHAMELEONREVISION ")" " [" I386BOOT_BUILDDATE "]");
}
void msglog(const char * fmt, ...)
branches/Chimera/i386/libsaio/gma.c
5353
5454
5555
56
57
58
59
60
6156
6257
6358
......
212207
213208
214209
215
216
217
218
219
220
221
222
223
224
225
226
227
210
211
212
213
214
215
216
217
218
219
220
221
222
228223
229224
230225
231
232
226
227
233228
234229
235
236
237
238
239
240
241
242
243
244
245
230
231
232
233
234
235
236
237
238
239
240
246241
247242
248
249
250
251
252
253
254
255
256
243
244
245
246
247
248
249
250
251
257252
258
259
253
254
260255
261256
262257
263
264
265
266
267
268
269
258
259
260
261
262
263
264
270265
271266
272267
273268
274
275
276
277
278
279
280
281
282
269
270
271
272
273
274
275
276
277
283278
284279
285280
286281
287282
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
317312
318
313
319314
320315
321316
......
323318
324319
325320
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
342337
343338
344339
......
363358
364359
365360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
366386
367387
368388
369
389
370390
371391
372
392
393
394
373395
374396
375397
376
377
378
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
379414
380415
381416
......
410445
411446
412447
413
414
448
449
415450
416
417451
418452
419453
......
425459
426460
427461
428
429462
430463
431464
......
434467
435468
436469
437
438470
439471
440472
441473
442474
443475
444
445
476
477
446478
447479
448
480
449481
450482
451483
......
455487
456488
457489
458
490
459491
460492
461493
......
465497
466498
467499
468
469
470
471
500
501
502
503
504
472505
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
506
507
508
509
510
511
512
513
514
515
516
517
518
489519
490
491
492
493
494
520
521
522
523
495524
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
513552
514553
515
516
554
555
517556
518557
519
520558
521
522
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
523583
524
525
526
527
528
529
530
584
585
586
587
531588
532589
533
534
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
535617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
536664
537
538
539
540
541
542
543
544
545
546
547
548
665
666
667
668
669
670
671
672
673
674
675
676
677
549678
550
551
552
553
554
555
556
557
558
559
560
679
680
681
561682
562
683
563684
564
565
566
567
568
569
570
571
572
685
686
573687
688
689
690
691
692
693
574694
575695
576
577
578
579
580
581
582
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
583723
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
600745
601
602
603
604
605
746
747
748
749
750
606751
607752
608
753
754
755
609756
610757
611758
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
654848
655
849
850
851
852
853
854
855
856
857
858
859
860
656861
657
658
659
660
661
662
663
664
665
666
667
862
863
864
668865
669
866
670867
671
672
673
674
675
676
677
678
679
868
869
680870
871
872
873
874
875
876
681877
682878
683
684
879
880
685881
686
687
688
689
690
691882
692883
693884
#define DBG(x...)
#endif
static uint8_t default_aapl_ivy[]={ 0x05,0x00,0x62,0x01 }; // ivy_bridge_ig_vals[5]
#define AAPL_LEN_IVY ( sizeof(default_aapl_ivy) / sizeof(uint8_t) )
static uint8_t default_aapl_haswell[]={ 0x00,0x00,0x26,0x0c }; // haswell_ig_vals[7]
#define AAPL_LEN_HSW ( sizeof(default_aapl_haswell) / sizeof(uint8_t) )
uint8_t GMAX3100_vals[23][4] = {
{ 0x01,0x00,0x00,0x00 },//0 "AAPL,HasPanel"
{ 0x01,0x00,0x00,0x00 },//1 "AAPL,SelfRefreshSupported"
/* http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/tree/src/intel_module.c */
static intel_gfx_info_t intel_gfx_chipsets[] = {
{GMA_I810, "i810"},
{GMA_I810_DC100, "i810-dc100"},
{GMA_I810_E, "i810e"},
{GMA_I815, "i815"},
{GMA_I830_M, "i830M"},
{GMA_845_G, "845G"},
{GMA_I854, "854"},
{GMA_I855_GM, "852GM/855GM"},
{GMA_I865_G, "865G"},
{GMA_I915_G, "915G"},
{GMA_E7221_G, "E7221 (i915)"},
{GMA_I915_GM, "915GM"},
{GMA_I945_G, "945G"},
{GMA_I810, "i810"},
{GMA_I810_DC100, "i810-dc100"},
{GMA_I810_E, "i810e"},
{GMA_I815, "i815"},
{GMA_I830_M, "i830M"},
{GMA_845_G, "845G"},
{GMA_I854, "854"},
{GMA_I855_GM, "852GM/855GM"},
{GMA_I865_G, "865G"},
{GMA_I915_G, "915G"},
{GMA_E7221_G, "E7221 (i915)"},
{GMA_I915_GM, "915GM"},
{GMA_I945_G, "945G"},
// 2776 /* Desktop GMA950 */
// 2782 /* GMA 915 */
// 2792 /* Mobile GMA915 */
{GMA_I945_GM, "945GM"},
{GMA_I945_GME, "945GME"},
{GMA_I945_GM, "945GM"},
{GMA_I945_GME, "945GME"},
// 27A6 /* Mobile GMA950 */
// 29C3 /* Desktop GMA3100 */
{GMA_PINEVIEW_M, "Pineview GM"},
{GMA_GMA3150_M, "Pineview GM"},// A012 /* Mobile GMA3150 */
{GMA_PINEVIEW_G, "Pineview G"},
{GMA_GMA3150_D, "Desktop GMA3150"}, // A002 /* Desktop GMA3150 */
{GMA_I965_G, "965G"},
{GMA_G35_G, "G35"},
{GMA_I965_Q, "965Q"},
{GMA_I946_GZ, "946GZ"},
{GMA_I965_GM, "965GM"},
{GMA_I965_GME, "965GME/GLE"},
{GMA_G33_G, "G33"},
{GMA_PINEVIEW_M, "Pineview GM"},
{GMA_GMA3150_M, "Pineview GM"}, // A012 /* Mobile GMA3150 */
{GMA_PINEVIEW_G, "Pineview G"},
{GMA_GMA3150_D, "Desktop GMA3150"}, // A002 /* Desktop GMA3150 */
{GMA_I965_G, "965G"},
{GMA_G35_G, "G35"},
{GMA_I965_Q, "965Q"},
{GMA_I946_GZ, "946GZ"},
{GMA_I965_GM, "965GM"},
{GMA_I965_GME, "965GME/GLE"},
{GMA_G33_G, "G33"},
// 2A13 /* GMAX3100 */
// 2A43 /* GMAX3100 */
{GMA_Q35_G, "Q35"},
{GMA_Q33_G, "Q33"},
{GMA_GM45_GM, "GM45"},
{GMA_G45_E_G, "4 Series"},
{GMA_G45_G, "G45/G43"},
{GMA_Q45_G, "Q45/Q43"},
{GMA_G41_G, "G41"},
{GMA_B43_G, "B43"},
{GMA_B43_G1, "B43"},
{GMA_Q35_G, "Q35"},
{GMA_Q33_G, "Q33"},
{GMA_GM45_GM, "GM45"},
{GMA_G45_E_G, "4 Series"},
{GMA_G45_G, "G45/G43"},
{GMA_Q45_G, "Q45/Q43"},
{GMA_G41_G, "G41"},
{GMA_B43_G, "B43"},
{GMA_B43_G1, "B43"},
/**/
{GMA_IRONLAKE_D_G, HD_GRAPHICS},
{GMA_IRONLAKE_M_G, HD_GRAPHICS},
{GMA_IRONLAKE_D_G, HD_GRAPHICS},
{GMA_IRONLAKE_M_G, HD_GRAPHICS},
// 004A /* HD2000 */
/* Sandy */
{GMA_SANDYBRIDGE_GT1, HD_GRAPHICS_2000 },
{GMA_SANDYBRIDGE_GT2, HD_GRAPHICS_3000 },
{GMA_SANDYBRIDGE_GT2_PLUS,HD_GRAPHICS_3000 },
{GMA_SANDYBRIDGE_M_GT1,HD_GRAPHICS_2000 },
{GMA_SANDYBRIDGE_M_GT2,HD_GRAPHICS_3000 },
{GMA_SANDYBRIDGE_M_GT2_PLUS,HD_GRAPHICS_3000 },
{GMA_SANDYBRIDGE_S_GT, HD_GRAPHICS },
{GMA_SANDYBRIDGE_GT1, HD_GRAPHICS_2000 },
{GMA_SANDYBRIDGE_GT2, HD_GRAPHICS_3000 },
{GMA_SANDYBRIDGE_GT2_PLUS, HD_GRAPHICS_3000 },
{GMA_SANDYBRIDGE_M_GT1, HD_GRAPHICS_2000 },
{GMA_SANDYBRIDGE_M_GT2, HD_GRAPHICS_3000 },
{GMA_SANDYBRIDGE_M_GT2_PLUS, HD_GRAPHICS_3000 },
{GMA_SANDYBRIDGE_S_GT, HD_GRAPHICS },
// 010B /* ??? */
// 010E /* ??? */
/* Ivy */
{GMA_IVYBRIDGE_M_GT1, HD_GRAPHICS_2500 },
{GMA_IVYBRIDGE_M_GT2, HD_GRAPHICS_4000 },
{GMA_IVYBRIDGE_D_GT1, HD_GRAPHICS_2500 },
{GMA_IVYBRIDGE_D_GT2, HD_GRAPHICS_4000 },
{GMA_IVYBRIDGE_S_GT1, HD_GRAPHICS },
{GMA_IVYBRIDGE_S_GT2, "HD Graphics P4000" },
{GMA_IVYBRIDGE_S_GT3, HD_GRAPHICS }, // 015e
{GMA_IVYBRIDGE_S_GT4, HD_GRAPHICS_2500 }, // 0172 /* HD Graphics 2500 Mobile */
{GMA_IVYBRIDGE_S_GT5, HD_GRAPHICS_2500 }, // 0176 /* HD Graphics 2500 Mobile */
{GMA_IVYBRIDGE_M_GT1, HD_GRAPHICS_2500 },
{GMA_IVYBRIDGE_M_GT2, HD_GRAPHICS_4000 },
{GMA_IVYBRIDGE_D_GT1, HD_GRAPHICS_2500 },
{GMA_IVYBRIDGE_D_GT2, HD_GRAPHICS_4000 },
{GMA_IVYBRIDGE_S_GT1, HD_GRAPHICS },
{GMA_IVYBRIDGE_S_GT2, "HD Graphics P4000" },
{GMA_IVYBRIDGE_S_GT3, HD_GRAPHICS }, // 015e
{GMA_IVYBRIDGE_S_GT4, HD_GRAPHICS_2500 }, // 0172 /* HD Graphics 2500 Mobile */
{GMA_IVYBRIDGE_S_GT5, HD_GRAPHICS_2500 }, // 0176 /* HD Graphics 2500 Mobile */
/* Haswell */
// 0090 /* ??? */
// 0091 /* ??? */
// 0092 /* ??? */
{GMA_HASWELL_D_GT1, HD_GRAPHICS },
{GMA_HASWELL_D_GT2, HD_GRAPHICS_4600 },
{GMA_HASWELL_D_GT3, HD_GRAPHICS_5000 }, /* ??? */
{GMA_HASWELL_M_GT1, HD_GRAPHICS },
{GMA_HASWELL_M_GT2, HD_GRAPHICS_4600 },
{GMA_HASWELL_M_GT3, HD_GRAPHICS_5000 }, /* ??? */
{GMA_HASWELL_S_GT1, HD_GRAPHICS },
{GMA_HASWELL_S_GT2, "HD Graphics P4600/P4700" },
{GMA_HASWELL_S_GT3, HD_GRAPHICS_5000 }, /* ??? */
{GMA_HASWELL_B_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_B_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_B_GT3, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_E_GT1, HD_GRAPHICS },
{GMA_HASWELL_E_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_E_GT3, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_D_GT1,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_D_GT2,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_D_GT3,IRIS_5100 },
{GMA_HASWELL_ULT_M_GT1,HD_GRAPHICS },
{GMA_HASWELL_ULT_M_GT2,"HD Graphics 4400" },
{GMA_HASWELL_ULT_M_GT3,HD_GRAPHICS_5000 },
{GMA_HASWELL_ULT_S_GT1,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_S_GT2,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_S_GT3,IRIS_5100 },
{GMA_HASWELL_ULT_B_GT1,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_B_GT2,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_B_GT3,IRIS_5100 },
{GMA_HASWELL_ULT_E_GT1,HD_GRAPHICS },
{GMA_HASWELL_ULT_E_GT2,"HD Graphics 4200" },
{GMA_HASWELL_D_GT1, HD_GRAPHICS },
{GMA_HASWELL_D_GT2, HD_GRAPHICS_4600 },
{GMA_HASWELL_D_GT3, HD_GRAPHICS_5000 }, /* ??? */
{GMA_HASWELL_M_GT1, HD_GRAPHICS },
{GMA_HASWELL_M_GT2, HD_GRAPHICS_4600 },
{GMA_HASWELL_M_GT3, HD_GRAPHICS_5000 }, /* ??? */
{GMA_HASWELL_S_GT1, HD_GRAPHICS },
{GMA_HASWELL_S_GT2, "HD Graphics P4600/P4700" },
{GMA_HASWELL_S_GT3, HD_GRAPHICS_5000 }, /* ??? */
{GMA_HASWELL_B_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_B_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_B_GT3, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_E_GT1, HD_GRAPHICS },
{GMA_HASWELL_E_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_E_GT3, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_D_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_D_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_D_GT3, IRIS_5100 },
{GMA_HASWELL_ULT_M_GT1, HD_GRAPHICS },
{GMA_HASWELL_ULT_M_GT2, HD_GRAPHICS_4400 },
{GMA_HASWELL_ULT_M_GT3, HD_GRAPHICS_5000 },
{GMA_HASWELL_ULT_S_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_S_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_S_GT3, IRIS_5100 },
{GMA_HASWELL_ULT_B_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_B_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_ULT_B_GT3, IRIS_5100 },
{GMA_HASWELL_ULT_E_GT1, HD_GRAPHICS },
{GMA_HASWELL_ULT_E_GT2, HD_GRAPHICS_4200 },
// 0A2A /* ??? */
{GMA_HASWELL_ULT_E_GT3,IRIS_5100 },
{GMA_HASWELL_ULT_E_GT3, IRIS_5100 },
// 0C02 /* Intel Haswell HD Graphics - GTL */
// 0C04 /* ??? */
// 0C06 /* Intel Haswell HD Graphics - GTL */
// 0C16 /* Intel Haswell HD Graphics - GTH */
// 0C22 /* Intel Haswell HD Graphics - GTH */
// 0C26 /* Intel Haswell HD Graphics - GTH */
{GMA_HASWELL_CRW_D_GT1,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_D_GT2,HD_GRAPHICS_4600 },
{GMA_HASWELL_CRW_D_GT3,IRIS_5200 },
{GMA_HASWELL_CRW_M_GT1,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_M_GT2,HD_GRAPHICS_4600 },
{GMA_HASWELL_CRW_M_GT3,IRIS_5200 },
{GMA_HASWELL_CRW_S_GT1,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_S_GT2,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_S_GT3,IRIS_5200 },
{GMA_HASWELL_CRW_B_GT1,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_B_GT2,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_B_GT3,IRIS_5200 },
{GMA_HASWELL_CRW_E_GT1,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_E_GT2,HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_E_GT3,IRIS_5200 },
{GMA_HASWELL_CRW_M_GT2_PLUS_IG,HD_GRAPHICS }
{GMA_HASWELL_CRW_D_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_D_GT2, HD_GRAPHICS_4600 },
{GMA_HASWELL_CRW_D_GT3, IRIS_5200 },
{GMA_HASWELL_CRW_M_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_M_GT2, HD_GRAPHICS_4600 },
{GMA_HASWELL_CRW_M_GT3, IRIS_5200 },
{GMA_HASWELL_CRW_S_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_S_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_S_GT3, IRIS_5200 },
{GMA_HASWELL_CRW_B_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_B_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_B_GT3, IRIS_5200 },
{GMA_HASWELL_CRW_E_GT1, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_E_GT2, HD_GRAPHICS }, /* ??? */
{GMA_HASWELL_CRW_E_GT3, IRIS_5200 },
{GMA_HASWELL_CRW_M_GT2_PLUS_IG, HD_GRAPHICS }
};
#define GFX_DEVICES_LEN (sizeof(intel_gfx_chipsets) / sizeof(intel_gfx_chipsets[0]))
return desc;
}
/*************************************************************************************
* Converts hexadecimal character string 'key' into a binary property for injection *
* with correct byte order. Base on hex2bin function from device_inject.c *
************************************************************************************/
static int hexkey2devprop(const char *key, uint8_t *prop, int length)
{
char*p;
int i, x;
charbuf[length+1];
int len;
buf[length-1] = '\0';
p = (char *) key;
x = length-1;
len = (length*2)+1;
for (i = 0; i < len; i++) {
buf[0] = *p++;
buf[1] = *p++;
prop[x] = (unsigned char) strtoul(buf, NULL, 16);
x--;
}
return 0;
}
bool setup_gma_devprop(pci_dt_t *gma_dev)
{
char*devicepath = NULL;
volatile uint8_t*regs;
volatile uint8_t*regs;
uint32_tbar[7];
char*model = NULL;
uint8_t BuiltIn =0x00;
uint8_t BuiltIn =0x00;
int len;
const char*value;
uint16_tvendor_id = gma_dev->vendor_id;
uint16_tdevice_id = gma_dev->device_id;
uint8_t ClassFix[4] = { 0x00, 0x00, 0x03, 0x00 };
intn_igs = 0;
intlen;
const char*value;
uint8_t hd3k_kmobile_device_id[4] = { 0x26, 0x01, 0x00 }; // MacMan
uint8_t hd4k_device_id[4] = { 0x62, 0x01, 0x00 }; // MacMan
uint8_t hd4400_mobile_device_id[4] = { 0x26, 0x0A, 0x00 }; // MacMan
uint8_t hd4600_device_id[4] = { 0x12, 0x04, 0x00 }; // MacMan
uint8_t hd4600_mobile_device_id[4] = { 0x16, 0x04, 0x00 }; // MacMan
uint8_t igp_device_id[4] = { 0x00, 0x00, 0x00 }; // MacMan
uint8_t snb_id_3k[4] = { 0x10, 0x00, 0x03, 0x00 }; // MacMan
uint8_t snb_id_3k_mobile[4] = { 0x00, 0x00, 0x01, 0x00 }; // MacMan
uint8_t ig_id_4k[4] = { 0x0A, 0x00, 0x66, 0x01 }; // MacMan
uint8_t ig_id_4k_mobile[4] = { 0x03, 0x00, 0x66, 0x01 }; // MacMan
uint8_t ig_id_4600[4] = { 0x03, 0x00, 0x22, 0x0D }; // MacMan
uint8_t ig_id_4600_mobile[4] = { 0x06, 0x00, 0x26, 0x0A }; // MacMan
uint8_t ig_platform_id[4] = { 0x00, 0x00, 0x00, 0x00 }; // MacMan
devicepath = get_pci_dev_path(gma_dev);
bar[0] = pci_config_read32(gma_dev->dev.addr, 0x10);
case GMA_IRONLAKE_M_G: // 0046
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "hda-gfx",(uint8_t *)"onboard-1", 10);
devprop_add_value(device, "AAPL,os-info",HDx000_os_info, 20);
devprop_add_value(device, "hda-gfx",(uint8_t *)"onboard-1", 10);
devprop_add_value(device, "AAPL,os-info", HDx000_os_info, 20);
break;
/* 27A2, 27AE, 27A6, A001, A011, A012, */
case GMA_I945_GM: // Mobile GMA950 Mobile GMA3150
case GMA_I945_GME:
//case GMA_945GM:
devprop_add_value(device, "class-code", ClassFix, 4);
break;
/* 2772 ,2776, A002 */
case GMA_I945_G: // Desktop GMA950 Desktop GMA3150
//case GMA_82945G:
case GMA_GMA3150_D:
devprop_add_value(device, "class-code", ClassFix, 4);
break;
/* 2A02, 2A12, 2A13, 2A42, 2A43 */
case GMA_I965_GM: // GMAX3100
case GMA_I965_GME:
//case 0x80862A13:
case GMA_GM45_GM:
//case GMA_GM45_GM2:
devprop_add_value(device, "AAPL,HasPanel", GMAX3100_vals[0], 4);
devprop_add_value(device, "AAPL,SelfRefreshSupported",GMAX3100_vals[1], 4);
devprop_add_value(device, "AAPL,aux-power-connected",GMAX3100_vals[2], 4);
devprop_add_value(device, "AAPL,SelfRefreshSupported", GMAX3100_vals[1], 4);
devprop_add_value(device, "AAPL,aux-power-connected", GMAX3100_vals[2], 4);
devprop_add_value(device, "AAPL,backlight-control", GMAX3100_vals[3], 4);
devprop_add_value(device, "AAPL00,blackscreen-preferences",GMAX3100_vals[4], 4);
devprop_add_value(device, "AAPL01,BacklightIntensity",GMAX3100_vals[5], 4);
devprop_add_value(device, "AAPL01,BacklightIntensity", GMAX3100_vals[5], 4);
devprop_add_value(device, "AAPL01,blackscreen-preferences",GMAX3100_vals[6], 4);
devprop_add_value(device, "AAPL01,DataJustify", GMAX3100_vals[7], 4);
devprop_add_value(device, "AAPL01,Depth", GMAX3100_vals[8], 4);
devprop_add_value(device, "AAPL01,Interlace", GMAX3100_vals[12], 4);
devprop_add_value(device, "AAPL01,Inverter", GMAX3100_vals[13], 4);
devprop_add_value(device, "AAPL01,InverterCurrent", GMAX3100_vals[14], 4);
devprop_add_value(device, "AAPL01,InverterCurrency",GMAX3100_vals[15], 4);
devprop_add_value(device, "AAPL01,InverterCurrency", GMAX3100_vals[15], 4);
devprop_add_value(device, "AAPL01,LinkFormat", GMAX3100_vals[16], 4);
devprop_add_value(device, "AAPL01,LinkType", GMAX3100_vals[17], 4);
devprop_add_value(device, "AAPL01,Pipe", GMAX3100_vals[18], 4);
//devprop_add_value(device, "AAPL01,InverterFrequency",GMAX3100_vals[22], 4);
devprop_add_value(device, "class-code", ClassFix, 4);
break;
/* 0106 */
case GMA_SANDYBRIDGE_M_GT1: // HD Graphics 2000 Mobile
devprop_add_value(device, "class-code", ClassFix, 4);
case GMA_SANDYBRIDGE_GT1: // HD Graphics 2000, found in kext
devprop_add_value(device, "built-in",&BuiltIn, 1);
devprop_add_value(device, "class-code",ClassFix, 4);
devprop_add_value(device, "device-id",(uint8_t*)&device_id, sizeof(device_id));
devprop_add_value(device, "hda-gfx",(uint8_t *)"onboard-1", 10);
devprop_add_value(device, "AAPL00,PixelFormat",HD2000_vals[0], 4);
devprop_add_value(device, "AAPL00,T1",HD2000_vals[1], 4);
devprop_add_value(device, "AAPL00,T2",HD2000_vals[2], 4);
devprop_add_value(device, "AAPL00,T3",HD2000_vals[3], 4);
devprop_add_value(device, "AAPL00,T4",HD2000_vals[4], 4);
devprop_add_value(device, "AAPL00,T5",HD2000_vals[5], 4);
devprop_add_value(device, "AAPL00,T6",HD2000_vals[6], 4);
devprop_add_value(device, "AAPL00,T7",HD2000_vals[7], 4);
devprop_add_value(device, "AAPL00,LinkType",HD2000_vals[8], 4);
devprop_add_value(device, "AAPL00,LinkFormat",HD2000_vals[9], 4);
devprop_add_value(device, "AAPL00,DualLink",HD2000_vals[10], 4);
devprop_add_value(device, "AAPL00,Dither",HD2000_vals[11], 4);
devprop_add_value(device, "AAPL00,DataJustify",HD3000_vals[12], 4);
devprop_add_value(device, "graphic-options",HD2000_vals[13], 4);
devprop_add_value(device, "AAPL,tbl-info",HD2000_tbl_info, 18);
devprop_add_value(device, "AAPL,os-info",HD2000_os_info, 20);
devprop_add_value(device, "AAPL,tbl-info",HD2000_tbl_info, 18);
devprop_add_value(device, "AAPL,os-info",HD2000_os_info, 20);
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
verbose("Setting %s for snb-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,snb-platform-id", ig_platform_id, 4);
}
else
{
devprop_add_value(device, "AAPL,snb-platform-id", snb_id_3k, 4);
verbose("Using default snb-platform-id of 00030010\n");
}
break;
/* 0116, 0126 */
case GMA_SANDYBRIDGE_M_GT2: // HD Graphics 3000 Mobile
case GMA_SANDYBRIDGE_M_GT2_PLUS:
devprop_add_value(device, "class-code",ClassFix, 4);
case GMA_SANDYBRIDGE_M_GT1: // HD Graphics 2000 Mobile, found in kext
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "device-id",(uint8_t*)&device_id, sizeof(device_id));
devprop_add_value(device, "hda-gfx",(uint8_t *)"onboard-1", 10);
devprop_add_value(device, "AAPL00,PixelFormat",HD3000_vals[0], 4);
devprop_add_value(device, "AAPL00,T1",HD3000_vals[1], 4);
devprop_add_value(device, "AAPL00,T2",HD3000_vals[2], 4);
devprop_add_value(device, "AAPL00,T3",HD3000_vals[3], 4);
devprop_add_value(device, "AAPL00,T4",HD3000_vals[4], 4);
devprop_add_value(device, "AAPL00,T5",HD3000_vals[5], 4);
devprop_add_value(device, "AAPL00,T6",HD3000_vals[6], 4);
devprop_add_value(device, "AAPL00,T7",HD3000_vals[7], 4);
devprop_add_value(device, "AAPL00,LinkType",HD3000_vals[8], 4);
devprop_add_value(device, "AAPL00,LinkFormat",HD3000_vals[9], 4);
devprop_add_value(device, "AAPL00,DualLink",HD3000_vals[10], 4);
devprop_add_value(device, "AAPL00,Dither",HD3000_vals[11], 4);
devprop_add_value(device, "AAPL00,DataJustify",HD3000_vals[12], 4);
devprop_add_value(device, "graphic-options",HD3000_vals[13], 4);
devprop_add_value(device, "AAPL,tbl-info",HD3000_tbl_info, 18);
devprop_add_value(device, "AAPL,os-info",HD3000_os_info, 20);
devprop_add_value(device, "AAPL,snb-platform-id",HD3000_vals[16], 4);// previusly commented
devprop_add_value(device, "AAPL00,PixelFormat",HD2000_vals[0], 4);
devprop_add_value(device, "AAPL00,T1", HD2000_vals[1], 4);
devprop_add_value(device, "AAPL00,T2", HD2000_vals[2], 4);
devprop_add_value(device, "AAPL00,T3", HD2000_vals[3], 4);
devprop_add_value(device, "AAPL00,T4", HD2000_vals[4], 4);
devprop_add_value(device, "AAPL00,T5", HD2000_vals[5], 4);
devprop_add_value(device, "AAPL00,T6", HD2000_vals[6], 4);
devprop_add_value(device, "AAPL00,T7", HD2000_vals[7], 4);
devprop_add_value(device, "AAPL00,LinkType",HD2000_vals[8], 4);
devprop_add_value(device, "AAPL00,LinkFormat",HD2000_vals[9], 4);
devprop_add_value(device, "AAPL00,DualLink",HD2000_vals[10], 4);
devprop_add_value(device, "AAPL00,Dither",HD2000_vals[11], 4);
devprop_add_value(device, "AAPL00,DataJustify",HD2000_vals[12], 4);
devprop_add_value(device, "graphic-options",HD2000_vals[13], 4);
devprop_add_value(device, "AAPL,tbl-info",HD2000_tbl_info, 18);
devprop_add_value(device, "AAPL,os-info",HD2000_os_info, 20);
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
verbose("Setting %s for snb-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,snb-platform-id", ig_platform_id, 4);
}
else
{
devprop_add_value(device, "AAPL,snb-platform-id", snb_id_3k_mobile, 4);
verbose("Using default snb-platform-id of 00030010\n");
}
break;
/* 0102 */
case GMA_SANDYBRIDGE_GT1: // HD Graphics 2000
case GMA_SANDYBRIDGE_GT2: // HD Graphics 3000
case GMA_SANDYBRIDGE_GT2_PLUS: // HD Graphics 3000
devprop_add_value(device, "built-in",&BuiltIn, 1);
devprop_add_value(device, "class-code",ClassFix, 4);
devprop_add_value(device, "device-id",(uint8_t*)&device_id, sizeof(device_id));
devprop_add_value(device, "hda-gfx",(uint8_t *)"onboard-1", 10);
devprop_add_value(device, "AAPL,tbl-info",HD2000_tbl_info, 18);
devprop_add_value(device, "AAPL,os-info",HD2000_os_info, 20);
devprop_add_value(device, "AAPL,tbl-info",HD3000_tbl_info, 18);
devprop_add_value(device, "AAPL,os-info",HD3000_os_info, 20);
if (getValueForKey(kIGPDeviceID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
verbose("Using %s for unsupported device id injection.\n", value);
hexkey2devprop(value, igp_device_id, 2);
devprop_add_value(device, "device-id",igp_device_id, 4);
}
else
{
devprop_add_value(device, "device-id", hd3k_kmobile_device_id, 4); // MacMan Inject Mobile ID Instead of Patching Kext
verbose("Using default unsupported device id injection of 0126\n");
}
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
verbose("Using %s for snb-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,snb-platform-id", ig_platform_id, 4);
}
else
{
devprop_add_value(device, "AAPL,snb-platform-id", snb_id_3k, 4);
verbose("Using default snb-platform-id of 00030010\n");
}
break;
/* Sandy Bridge */ /* 0112, 0122 */
case GMA_SANDYBRIDGE_GT2: // HD Graphics 3000
case GMA_SANDYBRIDGE_GT2_PLUS:
devprop_add_value(device, "built-in",&BuiltIn, 1);
devprop_add_value(device, "class-code",ClassFix, 4);
device_id = 0x00000126;// Inject a valid mobile GPU device id instead of patching kexts
case GMA_SANDYBRIDGE_M_GT2: // HD Graphics 3000 Mobile, found in kext
case GMA_SANDYBRIDGE_M_GT2_PLUS: // HD Graphics 3000 Mobile, found in kext
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "device-id",(uint8_t*)&device_id, sizeof(device_id));
devprop_add_value(device, "hda-gfx",(uint8_t *)"onboard-1", 10);
devprop_add_value(device, "AAPL,tbl-info",HD3000_tbl_info, 18);
devprop_add_value(device, "AAPL,os-info",HD3000_os_info, 20);
devprop_add_value(device, "AAPL00,PixelFormat",HD3000_vals[0], 4);
devprop_add_value(device, "AAPL00,T1", HD3000_vals[1], 4);
devprop_add_value(device, "AAPL00,T2", HD3000_vals[2], 4);
devprop_add_value(device, "AAPL00,T3", HD3000_vals[3], 4);
devprop_add_value(device, "AAPL00,T4", HD3000_vals[4], 4);
devprop_add_value(device, "AAPL00,T5", HD3000_vals[5], 4);
devprop_add_value(device, "AAPL00,T6", HD3000_vals[6], 4);
devprop_add_value(device, "AAPL00,T7", HD3000_vals[7], 4);
devprop_add_value(device, "AAPL00,LinkType",HD3000_vals[8], 4);
devprop_add_value(device, "AAPL00,LinkFormat",HD3000_vals[9], 4);
devprop_add_value(device, "AAPL00,DualLink",HD3000_vals[10], 4);
devprop_add_value(device, "AAPL00,Dither",HD3000_vals[11], 4);
devprop_add_value(device, "AAPL00,DataJustify",HD3000_vals[12], 4);
devprop_add_value(device, "graphic-options",HD3000_vals[13], 4);
devprop_add_value(device, "AAPL,tbl-info",HD3000_tbl_info, 18);
devprop_add_value(device, "AAPL,os-info",HD3000_os_info, 20);
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
verbose("Setting %s for snb-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,snb-platform-id", ig_platform_id, 4);
}
else
{
devprop_add_value(device, "AAPL,snb-platform-id", snb_id_3k_mobile, 4);
verbose("Using default snb-platform-id of 00010000\n");
}
break;
//
// Supported Ivy Bridge Desktop Device IDs
//
case GMA_IVYBRIDGE_D_GT1: // HD Graphics 2500, found in kext
case GMA_IVYBRIDGE_D_GT2: // HD Graphics 4000, found in kext
// devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "device-id",(uint8_t*)&device_id, sizeof(device_id));
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
verbose("Using %s for ig-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,ig-platform-id", ig_platform_id, 4);
}
else
{
devprop_add_value(device, "AAPL,ig-platform-id", ig_id_4k, 4);
verbose("Using default ig-platform-id of 0166000a\n");
}
break;
//
// Supported Ivy Bridge Mobile Device IDs
//
case GMA_IVYBRIDGE_M_GT1: // HD Graphics 2500 Mobile, found in kext
case GMA_IVYBRIDGE_M_GT2: // HD Graphics 4000 Mobile, found in kext
// devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "device-id",(uint8_t*)&device_id, sizeof(device_id));
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
verbose("Using %s for ig-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,ig-platform-id", ig_platform_id, 4);
}
else
{
devprop_add_value(device, "AAPL,ig-platform-id", ig_id_4k_mobile, 4);
verbose("Using default ig-platform-id of 01660003\n");
}
break;
/* Ivy Bridge */ /* 0152, 0156, 015a, 015e, 0162, 0166, 016a, 0172, 0176 */
case GMA_IVYBRIDGE_D_GT1: // HD Graphics 4000, HD Graphics 4000 Mobile, HD Graphics P4000, HD Graphics 2500 HD, Graphics 2500 Mobile
case GMA_IVYBRIDGE_M_GT1:
case GMA_IVYBRIDGE_S_GT1:
case GMA_IVYBRIDGE_S_GT3: // 015e
case GMA_IVYBRIDGE_D_GT2:
case GMA_IVYBRIDGE_M_GT2:
case GMA_IVYBRIDGE_S_GT2:
case GMA_IVYBRIDGE_S_GT4: // 0172:
case GMA_IVYBRIDGE_S_GT5: // 0176:
if (getValueForKey(kAAPLCustomIG, &value, &len, &bootInfo->chameleonConfig) && len == AAPL_LEN_IVY * 2)
//
// Unsupported Ivy Bridge Desktop Device IDs
//
case GMA_IVYBRIDGE_S_GT1: // HD Graphics 4000
case GMA_IVYBRIDGE_S_GT2: // HD Graphics P4000
case GMA_IVYBRIDGE_S_GT3: // Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
case GMA_IVYBRIDGE_S_GT4: // HD Graphics 2500 // Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
case GMA_IVYBRIDGE_S_GT5: // HD Graphics 2500 // 3rd Gen Core processor Graphics Controller
// devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
if (getValueForKey(kIGPDeviceID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
uint8_t new_aapl0[AAPL_LEN_IVY];
if (hex2bin(value, new_aapl0, AAPL_LEN_IVY) == 0)
{
memcpy(default_aapl_ivy, new_aapl0, AAPL_LEN_IVY);
verbose("Using user supplied AAPL,ig-platform-id\n");
verbose("AAPL,ig-platform-id: %02x%02x%02x%02x\n",
default_aapl_ivy[0], default_aapl_ivy[1], default_aapl_ivy[2], default_aapl_ivy[3]);
}
devprop_add_value(device, "AAPL,ig-platform-id", default_aapl_ivy, AAPL_LEN_IVY);
verbose("Using %s for unsupported device id injection.\n", value);
hexkey2devprop(value, igp_device_id, 2);
devprop_add_value(device, "device-id",igp_device_id, 4);
}
else if (getIntForKey(kIntelCapriFB, &n_igs, &bootInfo->chameleonConfig))
else
{
if ((n_igs >= 0) || (n_igs <= 11))
{
verbose("AAPL,ig-platform-id was set in org.chameleon.Boot.plist with value %d\n", n_igs);
devprop_add_value(device, "AAPL,ig-platform-id", ivy_bridge_ig_vals[n_igs], 4);
}
else
{
verbose("AAPL,ig-platform-id was set in org.chameleon.Boot.plist with bad value please choose a number between 0 and 11.\n");
}
devprop_add_value(device, "device-id", hd4k_device_id, 4); // MacMan Inject Supported ID Instead of Patching Kext
verbose("Using default unsupported device id injection of 0162\n");
}
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig))
{
verbose("Using %s for ig-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,ig-platform-id", ig_platform_id, 4);
}
else
{
uint32_t ig_platform_id;
uint32_t ram = (((getVBEVideoRam() + 512) / 1024) + 512) / 1024;
switch (ram)
{
case 96:
ig_platform_id = 0x01660000; // 96mb Mobile
break;
devprop_add_value(device, "AAPL,ig-platform-id", ig_id_4k, 4);
verbose("Using default ig-platform-id of 0166000a\n");
}
break;
//
// Supported Haswell Desktop Device IDs
//
case GMA_HASWELL_D_GT2: // HD Graphics 4600, found in kext
case GMA_HASWELL_CRW_D_GT3: // HD Graphics 5200 Iris Pro and found in kext
// devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "device-id",(uint8_t*)&device_id, sizeof(device_id));
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig))
{
verbose("Using %s for ig-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,ig-platform-id", ig_platform_id, 4);
}
else
{
devprop_add_value(device, "AAPL,ig-platform-id", ig_id_4600, 4);
verbose("Using default ig-platform-id of 0d220003\n");
}
break;
case 64:
ig_platform_id = 0x01660009; // 64mb Mobile
break;
case 32:
ig_platform_id = 0x01620005; // 32mb Desktop
break;
default:
printf("Please specify 96, 64, or 32MB RAM for the HD4000 in the bios.\n"
"The selected %dMB RAM configuration is not supported for the HD4000.\n", ram);
pause();
return false;// Exit early before the AAPL,ig-platform-id property is set.
break;
}
devprop_add_value(device, "AAPL,ig-platform-id", (uint8_t *)&ig_platform_id, 4);
//
// Supported Haswell Mobile Device IDs
//
case GMA_HASWELL_M_GT1: // HD Graphics Mobile, found in kext
case GMA_HASWELL_M_GT2: // HD Graphics 4600 Mobile, found in kext
case GMA_HASWELL_M_GT3: // HD Graphics 5000 Mobile, found in kext
case GMA_HASWELL_ULT_M_GT2: // HD Graphics 4400 Mobile, found in kext
case GMA_HASWELL_ULT_M_GT3: // HD Graphics 5000 Iris Mobile, found in kext
case GMA_HASWELL_ULT_E_GT2: // HD Graphics 4200 Mobile, found in kext
case GMA_HASWELL_ULT_E_GT3: // HD Graphics 5100 Iris Mobile, found in kext
case GMA_HASWELL_CRW_M_GT3: // HD Graphics 5200 Iris Pro Mobile and found in kext
// devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "device-id",(uint8_t*)&device_id, sizeof(device_id));
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig))
{
verbose("Using %s for ig-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,ig-platform-id", ig_platform_id, 4);
}
devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
else
{
devprop_add_value(device, "AAPL,ig-platform-id", ig_id_4600_mobile, 4);
verbose("Using default ig-platform-id of 0a260006\n");
}
break;
/* Haswell */ // HD Graphics 5000, HD Graphics 5000 Mobile, HD Graphics P5000, HD Graphics 4600, HD Graphics 4600 Mobile
//
// Unsupported Haswell Desktop Device IDs
//
//case 0x80860090:
//case 0x80860091:
//case 0x80860092:
case GMA_HASWELL_D_GT1: // 0402
case GMA_HASWELL_M_GT1: // 0406
case GMA_HASWELL_S_GT1: // 040a
case GMA_HASWELL_D_GT2: // 0412
case GMA_HASWELL_M_GT2: // 0416
case GMA_HASWELL_S_GT2: // 041a
case GMA_HASWELL_E_GT1: // 040e
case GMA_HASWELL_E_GT2: // 041e
case GMA_HASWELL_E_GT3: // 042e
case GMA_HASWELL_D_GT3: // 0422
case GMA_HASWELL_M_GT3: // 0426
case GMA_HASWELL_S_GT3: // 042a
case GMA_HASWELL_ULT_M_GT1: // 0a06
case GMA_HASWELL_ULT_E_GT1: // 0a0e
case GMA_HASWELL_ULT_M_GT2: // 0a16
case GMA_HASWELL_ULT_E_GT2: // 0a1e
case GMA_HASWELL_ULT_D_GT3: // 0a22
case GMA_HASWELL_ULT_M_GT3: // 0a26
case GMA_HASWELL_ULT_S_GT3: // 0a2a
case GMA_HASWELL_ULT_E_GT3: // 0a2e
//case GMA_HASWELL_SDV_D_GT1_IG: // 0c02
//case GMA_HASWELL_SDV_M_GT1_IG: // 0c06
//case GMA_HASWELL_SDV_D_GT2_IG: // 0c12
//case GMA_HASWELL_SDV_M_GT2_IG: // 0c16
//case GMA_HASWELL_SDV_D_GT2_PLUS_IG: // 0c22
//case GMA_HASWELL_SDV_M_GT2_PLUS_IG: // 0c26
case GMA_HASWELL_CRW_D_GT1: // 0d02
case GMA_HASWELL_CRW_D_GT2: // 0d12
case GMA_HASWELL_CRW_D_GT3: // 0d22
case GMA_HASWELL_CRW_M_GT1: // 0d06
case GMA_HASWELL_CRW_M_GT2: // 0d16
case GMA_HASWELL_CRW_M_GT3: // 0d26
case GMA_HASWELL_CRW_S_GT1: // 0d0a
case GMA_HASWELL_CRW_S_GT2: // 0d1a
case GMA_HASWELL_CRW_S_GT3: // 0d2a
case GMA_HASWELL_CRW_B_GT1: // 0d0b
case GMA_HASWELL_CRW_B_GT2: // 0d1b
case GMA_HASWELL_CRW_B_GT3: // 0d2b
case GMA_HASWELL_CRW_E_GT1: // 0d0e
case GMA_HASWELL_CRW_E_GT2: // 0d1e
case GMA_HASWELL_CRW_E_GT3: // 0d2e
case GMA_HASWELL_CRW_M_GT2_PLUS_IG: // 0d36
case GMA_HASWELL_D_GT1: // HD Graphics
case GMA_HASWELL_D_GT3: // HD Graphics 5000
case GMA_HASWELL_S_GT1: // HD Graphics
case GMA_HASWELL_S_GT2: // HD Graphics
case GMA_HASWELL_S_GT3: //
case GMA_HASWELL_B_GT1: //
case GMA_HASWELL_B_GT2: // HD Graphics
case GMA_HASWELL_B_GT3: //
case GMA_HASWELL_E_GT1: //
case GMA_HASWELL_E_GT3: //
case GMA_HASWELL_ULT_D_GT1: //
case GMA_HASWELL_ULT_D_GT2: //
case GMA_HASWELL_ULT_D_GT3: // HD Graphics 5000 Iris
case GMA_HASWELL_ULT_S_GT1: //
case GMA_HASWELL_ULT_S_GT2: //
case GMA_HASWELL_ULT_S_GT3: //
case GMA_HASWELL_ULT_B_GT1: //
case GMA_HASWELL_ULT_B_GT2: //
case GMA_HASWELL_ULT_B_GT3: //
case GMA_HASWELL_ULT_E_GT1: // HD Graphics
//case GMA_HASWELL_SDV_D_GT1_IG: //
//case GMA_HASWELL_SDV_D_GT2_IG: //
//case GMA_HASWELL_SDV_D_GT2_PLUS_IG: //
case GMA_HASWELL_CRW_D_GT1: //
case GMA_HASWELL_CRW_D_GT2: // HD Graphics
case GMA_HASWELL_CRW_S_GT1: //
case GMA_HASWELL_CRW_S_GT2: //
case GMA_HASWELL_CRW_S_GT3: // HD Graphics Iris Pro
case GMA_HASWELL_CRW_B_GT1: //
case GMA_HASWELL_CRW_B_GT2: //
case GMA_HASWELL_CRW_B_GT3: //
case GMA_HASWELL_CRW_E_GT1: //
case GMA_HASWELL_CRW_E_GT2: //
case GMA_HASWELL_CRW_E_GT3: //
// devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
if (getValueForKey(kIGPDeviceID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
verbose("Using %s for unsupported device id injection.\n", value);
hexkey2devprop(value, igp_device_id, 2);
devprop_add_value(device, "device-id",igp_device_id, 4);
}
else
{
devprop_add_value(device, "device-id", hd4600_device_id, 4); // MacMan Inject Supported ID Instead of Patching Kext
verbose("Using default unsupported device id injection of 0412\n");
}
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig))
{
verbose("Using %s for ig-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,ig-platform-id", ig_platform_id, 4);
}
else
{
devprop_add_value(device, "AAPL,ig-platform-id", ig_id_4600, 4);
verbose("Using default ig-platform-id of 0d220003\n");
}
break;
case GMA_HASWELL_E_GT2: // HD Graphics 4400
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
if (getValueForKey(kIGPDeviceID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
verbose("Using %s for unsupported device id injection.\n", value);
hexkey2devprop(value, igp_device_id, 2);
devprop_add_value(device, "device-id",igp_device_id, 4);
}
else
{
devprop_add_value(device, "device-id", hd4400_mobile_device_id, 4); // MacMan Inject Supported ID Instead of Patching Kext
verbose("Using default unsupported device id injection of 0a26\n");
}
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig))
{
verbose("Using %s for ig-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,ig-platform-id", ig_platform_id, 4);
}
else
{
devprop_add_value(device, "AAPL,ig-platform-id", ig_id_4600, 4);
verbose("Using default ig-platform-id of 0d220003\n");
}
break;
if (getValueForKey(kAAPLCustomIG, &value, &len, &bootInfo->chameleonConfig) && len == AAPL_LEN_HSW * 2)
//
// Unsupported Haswell Mobile Device IDs
//
case GMA_HASWELL_ULT_M_GT1: // HD Graphics Mobile
case GMA_HASWELL_CRW_M_GT1: //
case GMA_HASWELL_CRW_M_GT2: // HD Graphics 4600 Mobile
case GMA_HASWELL_CRW_M_GT2_PLUS_IG: //
// devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
if (getValueForKey(kIGPDeviceID, &value, &len, &bootInfo->chameleonConfig)) // MacMan
{
uint8_t new_aapl0[AAPL_LEN_HSW];
if (hex2bin(value, new_aapl0, AAPL_LEN_HSW) == 0)
{
memcpy(default_aapl_haswell, new_aapl0, AAPL_LEN_HSW);
verbose("Using user supplied AAPL,ig-platform-id\n");
verbose("AAPL,ig-platform-id: %02x%02x%02x%02x\n",
default_aapl_haswell[0], default_aapl_haswell[1], default_aapl_haswell[2], default_aapl_haswell[3]);
}
devprop_add_value(device, "AAPL,ig-platform-id", default_aapl_haswell, AAPL_LEN_HSW);
verbose("Using %s for unsupported device id injection.\n", value);
hexkey2devprop(value, igp_device_id, 2);
devprop_add_value(device, "device-id",igp_device_id, 4);
}
else if (getIntForKey(kIntelAzulFB, &n_igs, &bootInfo->chameleonConfig))
else
{
if ((n_igs >= 0) || (n_igs <= 15))
{
verbose("AAPL,ig-platform-id was set in org.chameleon.Boot.plist with value %d\n", n_igs);
devprop_add_value(device, "AAPL,ig-platform-id", haswell_ig_vals[n_igs], 4);
}
else
{
verbose("AAPL,ig-platform-id was set in org.chameleon.Boot.plist with bad value please choose a number between 0 and 15.\n");
}
devprop_add_value(device, "device-id", hd4600_mobile_device_id, 4); // MacMan Inject Supported ID Instead of Patching Kext
verbose("Using default unsupported device id injection of 0416\n");
}
if (getValueForKey(kIGPlatformID, &value, &len, &bootInfo->chameleonConfig))
{
verbose("Using %s for ig-platform-id\n", value);
hexkey2devprop(value, ig_platform_id, 4);
devprop_add_value(device, "AAPL,ig-platform-id", ig_platform_id, 4);
}
else
{
uint32_t ig_platform_id = 0x0000260c; // set the default platform ig
devprop_add_value(device, "AAPL,ig-platform-id", (uint8_t *)&ig_platform_id, 4);
devprop_add_value(device, "AAPL,ig-platform-id", ig_id_4600_mobile, 4);
verbose("Using default ig-platform-id of 0a260006\n");
}
devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "class-code", ClassFix, 4);
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
break;
default:
branches/Chimera/i386/libsaio/gma.h
6060
6161
6262
63
64
6365
6466
6567
......
9193
9294
9395
94
96
9597
9698
9799
......
133135
134136
135137
136
138
137139
138140
139141
140
141
142
142
143
144
143145
144146
145147
......
149151
150152
151153
152
153
154
155
154
155
156
157
156158
157159
158160
......
169171
170172
171173
172
173
174
174
175
176
175177
176
177
178
179
178
179
180
181
180182
181
182
183
184
183185
184
186
185187
186188
187
189
188190
189191
190192
191193
192
193
194
195
194
195
196
197
196198
197199
198200
199201
200202
201203
202
203
204
204
205
206
205207
206208
207209
......
215217
216218
217219
218
219
220
221
220222
221223
222
223
224
225
224226
225227
226
228
227229
228230
229231
......
235237
236238
237239
238
240
#define HD_GRAPHICS_2500 "HD Graphics 2500"
#define HD_GRAPHICS_3000 "HD Graphics 3000"
#define HD_GRAPHICS_4000 "HD Graphics 4000"
#define HD_GRAPHICS_4200 "HD Graphics 4200" // MacMan
#define HD_GRAPHICS_4400 "HD Graphics 4400" // MacMan
#define HD_GRAPHICS_4600 "HD Graphics 4600"
#define HD_GRAPHICS_5000 "HD Graphics 5000"
#define IRIS_5100 "Iris(TM) Graphics 5100"
//#define GMA_038000 GFX_MODEL_CONSTRUCT(INTEL, 2792) // Mobile GMA915
#define GMA_I945_GM GFX_MODEL_CONSTRUCT(INTEL, 0x27A2) // Mobile GMA950
#define GMA_I945_GME GFX_MODEL_CONSTRUCT(INTEL, 0x27AE) // Mobile GMA950
//#define GMA_945GM GFX_MODEL_CONSTRUCT(INTEL, 27A6) // Mobile GMA950
//#define GMA_945GM GFX_MODEL_CONSTRUCT(INTEL, 27A6) // Mobile GMA950
//#define GMA_PINEVIEW_M_HB GFX_MODEL_CONSTRUCT(INTEL, 0xA010)
#define GMA_PINEVIEW_M GFX_MODEL_CONSTRUCT(INTEL, 0xA011) // Mobile GMA3150
#define GMA_GMA3150_M GFX_MODEL_CONSTRUCT(INTEL, 0xA012) // Mobile GMA3150
/* ========== Sandy Bridge ============ */
//#define GMA_SANDYBRIDGE_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0100) /* Desktop */
#define GMA_SANDYBRIDGE_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0102) // HD Graphics 2000
#define GMA_SANDYBRIDGE_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0102) // HD Graphics 2000 and found in kext
//#define GMA_SANDYBRIDGE_M_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0104) /* Mobile */
#define GMA_SANDYBRIDGE_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0112) // HD Graphics 3000
#define GMA_SANDYBRIDGE_GT2_PLUSGFX_MODEL_CONSTRUCT(INTEL, 0x0122) // HD Graphics 3000
#define GMA_SANDYBRIDGE_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0106) // HD Graphics 2000 Mobile
#define GMA_SANDYBRIDGE_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0116) // HD Graphics 3000 Mobile
#define GMA_SANDYBRIDGE_M_GT2_PLUSGFX_MODEL_CONSTRUCT(INTEL, 0x0126) // HD Graphics 3000 Mobile
#define GMA_SANDYBRIDGE_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0106) // HD Graphics 2000 Mobile and found in kext
#define GMA_SANDYBRIDGE_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0116) // HD Graphics 3000 Mobile and found in kext
#define GMA_SANDYBRIDGE_M_GT2_PLUSGFX_MODEL_CONSTRUCT(INTEL, 0x0126) // HD Graphics 3000 Mobile and found in kext
//#define GMA_SANDYBRIDGE_S_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0108) /* Server */
#define GMA_SANDYBRIDGE_S_GT GFX_MODEL_CONSTRUCT(INTEL, 0x010A) // HD Graphics
// 010B // ??
/* ========== Ivy Bridge ============== */
//#define GMA_IVYBRIDGE_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0150) /* Desktop */
//#define GMA_IVYBRIDGE_M_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0154) /* Mobile */
#define GMA_IVYBRIDGE_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0156) // HD Graphics 2500 Mobile
#define GMA_IVYBRIDGE_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0166) // HD Graphics 4000 Mobile
#define GMA_IVYBRIDGE_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0152) // HD Graphics 2500
#define GMA_IVYBRIDGE_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0162) // HD Graphics 4000
#define GMA_IVYBRIDGE_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0156) // HD Graphics 2500 Mobile and found in kext
#define GMA_IVYBRIDGE_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0166) // HD Graphics 4000 Mobile and found in kext
#define GMA_IVYBRIDGE_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0152) // HD Graphics 2500 and found in kext
#define GMA_IVYBRIDGE_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0162) // HD Graphics 4000 and found in kext
//#define GMA_IVYBRIDGE_S_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0158) /* Server */
#define GMA_IVYBRIDGE_S_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x015A) // HD Graphics 4000
#define GMA_IVYBRIDGE_S_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x016A) // HD Graphics P4000
// 0091 // AppleIntelHD5000Graphics.kext
// 0092 // AppleIntelHD5000Graphics.kext
//#define GMA_HASWELL_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0400) /* Desktop */
#define GMA_HASWELL_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0402) //
#define GMA_HASWELL_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0412) // AppleIntelHD5000Graphics.kext
#define GMA_HASWELL_D_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0422) //
#define GMA_HASWELL_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0402) // HD Graphics
#define GMA_HASWELL_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0412) // HD Graphics 4600 and found in kext
#define GMA_HASWELL_D_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0422) // HD Graphics 5000
//#define GMA_HASWELL_M_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0404) /* Mobile */
#define GMA_HASWELL_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0406) // AppleIntelHD5000Graphics.kext
#define GMA_HASWELL_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0416) // AppleIntelHD5000Graphics.kext
#define GMA_HASWELL_M_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0426) // AppleIntelHD5000Graphics.kext
#define GMA_HASWELL_S_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x040A) //
#define GMA_HASWELL_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0406) // HD Graphics Mobile and found in kext
#define GMA_HASWELL_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0416) // HD Graphics 4600 Mobile and found in kext
#define GMA_HASWELL_M_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0426) // HD Graphics 5000 Mobile and found in kext
#define GMA_HASWELL_S_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x040A) // HD Graphics
//#define GMA_HASWELL_S_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0408) /* Server */
#define GMA_HASWELL_S_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x041A) //
#define GMA_HASWELL_S_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x042A) //
#define GMA_HASWELL_S_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x041A) // HD Graphics
#define GMA_HASWELL_S_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x042A)
#define GMA_HASWELL_B_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x040B)
#define GMA_HASWELL_B_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x041B)
#define GMA_HASWELL_B_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x041B) // HD Graphics
#define GMA_HASWELL_B_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x042B)
#define GMA_HASWELL_E_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x040E)
#define GMA_HASWELL_E_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x041E)
#define GMA_HASWELL_E_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x041E) // HD Graphics 4400
#define GMA_HASWELL_E_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x042E)
#define GMA_HASWELL_ULT_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A02)
#define GMA_HASWELL_ULT_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A12)
#define GMA_HASWELL_ULT_D_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A22) //
#define GMA_HASWELL_ULT_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A06) //
#define GMA_HASWELL_ULT_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A16) // AppleIntelHD5000Graphics.kext
#define GMA_HASWELL_ULT_M_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A26) // AppleIntelHD5000Graphics.kext
#define GMA_HASWELL_ULT_D_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A22) // HD Graphics 5000 Iris
#define GMA_HASWELL_ULT_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A06) // HD Graphics
#define GMA_HASWELL_ULT_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A16) // HD Graphics 4400 Mobile and found in kext
#define GMA_HASWELL_ULT_M_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A26) // HD Graphics 5000 Iris Mobile and found in kext
#define GMA_HASWELL_ULT_S_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A0A)
#define GMA_HASWELL_ULT_S_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A1A)
#define GMA_HASWELL_ULT_S_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A2A)
#define GMA_HASWELL_ULT_B_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A0B)
#define GMA_HASWELL_ULT_B_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A1B)
#define GMA_HASWELL_ULT_B_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A2B)
#define GMA_HASWELL_ULT_E_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A0E) //
#define GMA_HASWELL_ULT_E_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A1E) // AppleIntelHD5000Graphics.kext
#define GMA_HASWELL_ULT_E_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A2E) // AppleIntelHD5000Graphics.kext
#define GMA_HASWELL_ULT_E_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A0E) // HD Graphics
#define GMA_HASWELL_ULT_E_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A1E) // HD Graphics 4200 Mobile and found in kext
#define GMA_HASWELL_ULT_E_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A2E) // HD Graphics 5100 Iris Mobile and found in kext
//#define GMA_HASWELL_SDV_D_GT1_IG GFX_MODEL_CONSTRUCT(INTEL, 0C02)
//#define GMA_HASWELL_E_HB GFX_MODEL_CONSTRUCT(INTEL, 0C04)
//#define GMA_HASWELL_SDV_S_GT2_PLUS_IGGFX_MODEL_CONSTRUCT(INTEL, 0x0C2A)
#define GMA_HASWELL_CRW_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0D02)
#define GMA_HASWELL_CRW_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D12) //
#define GMA_HASWELL_CRW_D_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D22) //
#define GMA_HASWELL_CRW_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D12) // HD Graphics
#define GMA_HASWELL_CRW_D_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D22) // HD Graphics 5200 Iris Pro and found in kext
//#define GMA_HASWELL_CRW_D_GT2_PLUS_IGGFX_MODEL_CONSTRUCT(INTEL, 0x0D32)
#define GMA_HASWELL_CRW_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0D06)
#define GMA_HASWELL_CRW_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D16) //
#define GMA_HASWELL_CRW_M_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D26) // AppleIntelHD5000Graphics.kext
#define GMA_HASWELL_CRW_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D16) // HD Graphics 4600 Mobile
#define GMA_HASWELL_CRW_M_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D26) // HD Graphics 5200 Iris Pro Mobile and found in kext
#define GMA_HASWELL_CRW_S_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0D0A)
#define GMA_HASWELL_CRW_S_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D1A)
#define GMA_HASWELL_CRW_S_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D2A)
#define GMA_HASWELL_CRW_S_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D2A) // HD Graphics Iris Pro
#define GMA_HASWELL_CRW_B_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0D0B)
#define GMA_HASWELL_CRW_B_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D1B)
#define GMA_HASWELL_CRW_B_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D2B)
/* END */
#endif /* !__LIBSAIO_GMA_H */
#endif /* !__LIBSAIO_GMA_H */
branches/Chimera/i386/libsaio/nvidia.c
7777
7878
7979
80
80
8181
8282
8383
......
115115
116116
117117
118
118
119119
120120
121121
......
172172
173173
174174
175
176
177
178
179
180
181
182
183
184
185
175
176
177
178
179
180
181
182
183
184
185
186186
187187
188188
189189
190190
191
192
193
194
195
196
197
198
191
192
193
194
195
196
197
198
199199
200200
201201
202
203
204
205
206
207
208
209
210
202
203
204
205
206
207
208
209
210
211211
212212
213213
214
215
216
217
218
219
220
221
214
215
216
217
218
219
220
221
222222
223223
224224
225225
226226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242242
243243
244
245
246
247
248
249
250
251
252
253
254
244
245
246
247
248
249
250
251
252
253
254
255255
256256
257257
258258
259259
260
261
262
263
264
265
260
261
262
263
264
265
266266
267267
268268
269269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284284
285285
286
286
287287
288288
289
290
291
292
289
290
291
292
293293
294
295
294
295
296296
297297
298298
299
300
301
299
300
301
302302
303
304
305
303
304
305
306306
307
307
308308
309309
310310
311311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326326
327327
328328
329329
330330
331
332
333
334
335
331
332
333
334
335
336336
337337
338
339
340
341
338
339
340
341
342342
343
344
345
346
347
348
343
344
345
346
347
348
349349
350
351
352
353
354
355
356
357
358
359
360
361
362
350
351
352
353
354
355
356
357
358
359
360
361
362
363363
364364
365
366
367
368
369
370
371
365
366
367
368
369
370
371
372372
373
374
375
376
373
374
375
376
377377
378
379
378
379
380380
381381
382
383
382
383
384384
385385
386386
387387
388388
389
389
390390
391
392
393
394
395
396
397
398
399
400
401
402
403
391
392
393
394
395
396
397
398
399
400
401
402
403
404404
405405
406406
407407
408
409
410
411
412
408
409
410
411
412
413413
414414
415415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432432
433
433
434434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451451
452452
453453
......
481481
482482
483483
484
485
486
487
488
489
484
485
486
487
488
489
490490
491491
492492
......
498498
499499
500500
501
502
503
504
501
502
503
504
505505
506506
507
508
507
508
509509
510510
511
512
511
512
513513
514
514
515515
516516
517517
......
523523
524524
525525
526
526
527527
528528
529529
530530
531
532
533
531
532
533
534534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566566
567567
568
569
570
568
569
570
571571
572
573
574
575
572
573
574
575
576576
577
578
579
580
581
582
577
578
579
580
581
582
583583
584
585
586
584
585
586
587587
588588
589
589
590590
591
592
591
592
593593
594
594
595595
596596
597597
598598
599599
600600
601
602
603
604
605
606
607
608
609
610
611
612
613
601
602
603
604
605
606
607
608
609
610
611
612
613
614614
615615
616
617
618
619
620
621
616
617
618
619
620
621
622622
623
624
625
626
627
623
624
625
626
627
628628
629629
630
630
631631
632632
633633
......
637637
638638
639639
640
641
642
643
644
640
641
642
643
644
645645
646
647
648
649
650
651
652
653
654
646
647
648
649
650
651
652
653
654
655655
656
657
658
659
660
661
662
663
664
665
666
667
668
656
657
658
659
660
661
662
663
664
665
666
667
668
669669
670
670
671671
672672
673
673
674674
675675
676676
677677
678678
679679
680
681
682
683
680
681
682
683
684684
685
685
686686
687687
688688
......
700700
701701
702702
703
704
705
706
707
703
704
705
706
707
708708
709709
710710
711711
712712
713713
714
715
716
717
718
719
720
714
715
716
717
718
719
720
721721
722
722
723723
724724
725
725
726726
727727
728
729
730
731
732
733
734
735
728
729
730
731
732
733
734
735
736736
737
738
739
740
741
742
737
738
739
740
741
742
743743
744
745
746
747
744
745
746
747
748748
749749
750
750
751751
752752
753753
754754
755755
756756
757
757
758758
759
760
761
762
759
760
761
762
763763
764764
765
766
765
766
767767
768768
769769
......
790790
791791
792792
793
793
794794
795
796
797
798
799
800
801
802
803
804
795
796
797
798
799
800
801
802
803
804
805805
806
807
808
809
810
811
806
807
808
809
810
811
812812
813813
814814
815815
816816
817
818
819
820
817
818
819
820
821821
822
823
824
825
826
827
828
829
822
823
824
825
826
827
828
829
830830
831831
832
833
834
835
836
837
832
833
834
835
836
837
838838
839
839
840840
841
842
843
841
842
843
844844
845845
846846
......
879879
880880
881881
882
883
884
885
886
887
888
889
890
882
883
884
885
886
887
888
889
890
891891
892892
893
893
894894
895
896
897
895
896
897
898898
899899
900900
......
912912
913913
914914
915
915
916916
917917
918
919
920
918
919
920
921921
922922
923
924
923
924
925925
926926
927927
928
929
930
931
932
933
928
929
930
931
932
933
934934
935935
936936
937
938
939
940
941
942
943
944
945
946
947
948
949
937
938
939
940
941
942
943
944
945
946
947
948
949
950950
951951
952
953
954
955
956
957
958
959
960
961
962
963
952
953
954
955
956
957
958
959
960
961
962
963
964964
965965
966966
967967
968968
969969
970
971
972
970
971
972
973973
974
974
975975
976
977
976
977
978978
979979
980
981
980
981
982982
983983
984984
......
994994
995995
996996
997
998
997
998
999999
10001000
10011001
......
10081008
10091009
10101010
1011
1012
1013
1014
1015
1011
1012
1013
1014
1015
10161016
1017
1018
1019
1020
1021
1022
1023
1017
1018
1019
1020
1021
1022
1023
10241024
1025
1025
10261026
1027
1028
1029
1030
1027
1028
1029
1030
10311031
10321032
1033
1034
1035
1036
1037
1038
1039
1040
1033
1034
1035
1036
1037
1038
1039
1040
10411041
1042
1043
1044
1045
1042
1043
1044
1045
10461046
1047
1047
10481048
1049
1050
1051
1052
1053
1049
1050
1051
1052
1053
10541054
10551055
1056
1056
10571057
1058
1059
1060
1061
1062
1058
1059
1060
1061
1062
10631063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
10751075
10761076
1077
1078
1077
1078
10791079
10801080
10811081
1082
1083
1084
1082
1083
1084
10851085
1086
1087
1088
1089
1090
1091
1086
1087
1088
1089
1090
1091
10921092
1093
1093
10941094
1095
1096
1097
1095
1096
1097
10981098
1099
1100
1099
1100
11011101
11021102
11031103
1104
1105
1104
1105
11061106
1107
1107
11081108
1109
1109
11101110
11111111
11121112
......
11141114
11151115
11161116
1117
1118
1119
1117
1118
1119
11201120
11211121
11221122
......
11291129
11301130
11311131
1132
1133
1134
1135
1136
1137
1138
1139
1132
1133
1134
1135
1136
1137
1138
1139
11401140
11411141
1142
1143
1142
1143
11441144
1145
1146
1147
1148
1149
1150
1151
1152
1145
1146
1147
1148
1149
1150
1151
1152
11531153
1154
1155
1156
1157
1158
1154
1155
1156
1157
1158
11591159
11601160
11611161
1162
1163
1164
1165
1166
1167
1168
1169
1162
1163
1164
1165
1166
1167
1168
1169
11701170
11711171
1172
1173
1174
1175
1176
1177
1178
1172
1173
1174
1175
1176
1177
1178
11791179
11801180
11811181
1182
1182
11831183
1184
1185
1184
1185
11861186
1187
1188
1187
1188
11891189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
12021202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
12141214
1215
1215
12161216
12171217
12181218
1219
1220
1221
1222
1219
1220
1221
1222
12231223
1224
1225
1226
1227
1228
1229
1230
1231
1224
1225
1226
1227
1228
1229
1230
1231
12321232
1233
1233
12341234
12351235
1236
1237
1236
1237
12381238
12391239
12401240
12411241
12421242
1243
1244
1245
1246
1247
1248
1249
1250
1243
1244
1245
1246
1247
1248
1249
1250
12511251
12521252
12531253
......
16751675
16761676
16771677
1678
1679
1678
1679
16801680
16811681
16821682
16831683
16841684
16851685
1686
1687
1686
1687
16881688
1689
16891690
16901691
16911692
16921693
1693
1694
1695
16941696
16951697
16961698
......
19721974
19731975
19741976
1977
1978
1979
19751980
19761981
19771982
#define WRITE_LE_SHORT(data) (((data) << 8 & 0xff00) | ((data) >> 8 & 0x00ff ))
#define WRITE_LE_INT(data) (WRITE_LE_SHORT(data) << 16 | WRITE_LE_SHORT(data >> 16))
static bool showGeneric = false;
//static bool showGeneric = false;
char generic_name[128];
extern uint32_t devices_number;
#define NVPM_LEN ( sizeof(default_NVPM) / sizeof(uint8_t) )
static nvidia_pci_info_t nvidia_card_vendors[] = {
{ 0x10190000,"Elitegroup" },
{ 0x10190000,"Elitegroup" },
{ 0x10250000,"Acer" },
{ 0x10280000,"Dell" },
{ 0x10330000,"NEC" },
// 0000 - 0040
{ 0x10DE0000,"Unknown" },
// 0040 - 004F
{ 0x10DE0040,"GeForce 6800 Ultra" },
{ 0x10DE0041,"GeForce 6800" },
{ 0x10DE0042,"GeForce 6800 LE" },
{ 0x10DE0043,"GeForce 6800 XE" },
{ 0x10DE0044,"GeForce 6800 XT" },
{ 0x10DE0045,"GeForce 6800 GT" },
{ 0x10DE0046,"GeForce 6800 GT" },
{ 0x10DE0047,"GeForce 6800 GS" },
{ 0x10DE0048,"GeForce 6800 XT" },
{ 0x10DE004D,"Quadro FX 3400" },
{ 0x10DE004E,"Quadro FX 4000" },
{ 0x10DE0040,"NVIDIA GeForce 6800 Ultra" },
{ 0x10DE0041,"NVIDIA GeForce 6800" },
{ 0x10DE0042,"NVIDIA GeForce 6800 LE" },
{ 0x10DE0043,"NVIDIA GeForce 6800 XE" },
{ 0x10DE0044,"NVIDIA GeForce 6800 XT" },
{ 0x10DE0045,"NVIDIA GeForce 6800 GT" },
{ 0x10DE0046,"NVIDIA GeForce 6800 GT" },
{ 0x10DE0047,"NVIDIA GeForce 6800 GS" },
{ 0x10DE0048,"NVIDIA GeForce 6800 XT" },
{ 0x10DE004D,"NVIDIA Quadro FX 3400" },
{ 0x10DE004E,"NVIDIA Quadro FX 4000" },
// 0050 - 005F
// 0060 - 006F
// 0070 - 007F
// 0080 - 008F
// 0090 - 009F
{ 0x10DE0090,"GeForce 7800 GTX" },
{ 0x10DE0091,"GeForce 7800 GTX" },
{ 0x10DE0092,"GeForce 7800 GT" },
{ 0x10DE0093,"GeForce 7800 GS" },
{ 0x10DE0095,"GeForce 7800 SLI" },
{ 0x10DE0098,"GeForce Go 7800" },
{ 0x10DE0099,"GeForce Go 7800 GTX" },
{ 0x10DE009D,"Quadro FX 4500" },
{ 0x10DE0090,"NVIDIA GeForce 7800 GTX" },
{ 0x10DE0091,"NVIDIA GeForce 7800 GTX" },
{ 0x10DE0092,"NVIDIA GeForce 7800 GT" },
{ 0x10DE0093,"NVIDIA GeForce 7800 GS" },
{ 0x10DE0095,"NVIDIA GeForce 7800 SLI" },
{ 0x10DE0098,"NVIDIA GeForce Go 7800" },
{ 0x10DE0099,"NVIDIA GeForce Go 7800 GTX" },
{ 0x10DE009D,"NVIDIA Quadro FX 4500" },
// 00A0 - 00AF
// 00B0 - 00BF
// 00C0 - 00CF
{ 0x10DE00C0,"GeForce 6800 GS" },
{ 0x10DE00C1,"GeForce 6800" },
{ 0x10DE00C2,"GeForce 6800 LE" },
{ 0x10DE00C3,"GeForce 6800 XT" },
{ 0x10DE00C8,"GeForce Go 6800" },
{ 0x10DE00C9,"GeForce Go 6800 Ultra" },
{ 0x10DE00CC,"Quadro FX Go1400" },
{ 0x10DE00CD,"Quadro FX 3450/4000 SDI" },
{ 0x10DE00CE,"Quadro FX 1400" },
{ 0x10DE00C0,"NVIDIA GeForce 6800 GS" },
{ 0x10DE00C1,"NVIDIA GeForce 6800" },
{ 0x10DE00C2,"NVIDIA GeForce 6800 LE" },
{ 0x10DE00C3,"NVIDIA GeForce 6800 XT" },
{ 0x10DE00C8,"NVIDIA GeForce Go 6800" },
{ 0x10DE00C9,"NVIDIA GeForce Go 6800 Ultra" },
{ 0x10DE00CC,"NVIDIA Quadro FX Go1400" },
{ 0x10DE00CD,"NVIDIA Quadro FX 3450/4000 SDI" },
{ 0x10DE00CE,"NVIDIA Quadro FX 1400" },
// 00D0 - 00DF
// 00E0 - 00EF
// 00F0 - 00FF
{ 0x10DE00F1,"GeForce 6600 GT" },
{ 0x10DE00F2,"GeForce 6600" },
{ 0x10DE00F3,"GeForce 6200" },
{ 0x10DE00F4,"GeForce 6600 LE" },
{ 0x10DE00F5,"GeForce 7800 GS" },
{ 0x10DE00F6,"GeForce 6800 GS/XT" },
{ 0x10DE00F8,"Quadro FX 3400/4400" },
{ 0x10DE00F9,"GeForce 6800 Series GPU" },
{ 0x10DE00F1,"NVIDIA GeForce 6600 GT" },
{ 0x10DE00F2,"NVIDIA GeForce 6600" },
{ 0x10DE00F3,"NVIDIA GeForce 6200" },
{ 0x10DE00F4,"NVIDIA GeForce 6600 LE" },
{ 0x10DE00F5,"NVIDIA GeForce 7800 GS" },
{ 0x10DE00F6,"NVIDIA GeForce 6800 GS/XT" },
{ 0x10DE00F8,"NVIDIA Quadro FX 3400/4400" },
{ 0x10DE00F9,"NVIDIA GeForce 6800 Series GPU" },
// 0100 - 010F
// 0110 - 011F
// 0120 - 012F
// 0130 - 013F
// 0140 - 014F
{ 0x10DE0140,"GeForce 6600 GT" },
{ 0x10DE0141,"GeForce 6600" },
{ 0x10DE0142,"GeForce 6600 LE" },
{ 0x10DE0143,"GeForce 6600 VE" },
{ 0x10DE0144,"GeForce Go 6600" },
{ 0x10DE0145,"GeForce 6610 XL" },
{ 0x10DE0146,"GeForce Go 6600 TE/6200 TE" },
{ 0x10DE0147,"GeForce 6700 XL" },
{ 0x10DE0148,"GeForce Go 6600" },
{ 0x10DE0149,"GeForce Go 6600 GT" },
{ 0x10DE014A,"Quadro NVS 440" },
{ 0x10DE014C,"Quadro FX 550" },
{ 0x10DE014D,"Quadro FX 550" },
{ 0x10DE014E,"Quadro FX 540" },
{ 0x10DE014F,"GeForce 6200" },
{ 0x10DE0140,"NVIDIA GeForce 6600 GT" },
{ 0x10DE0141,"NVIDIA GeForce 6600" },
{ 0x10DE0142,"NVIDIA GeForce 6600 LE" },
{ 0x10DE0143,"NVIDIA GeForce 6600 VE" },
{ 0x10DE0144,"NVIDIA GeForce Go 6600" },
{ 0x10DE0145,"NVIDIA GeForce 6610 XL" },
{ 0x10DE0146,"NVIDIA GeForce Go 6600 TE/6200 TE" },
{ 0x10DE0147,"NVIDIA GeForce 6700 XL" },
{ 0x10DE0148,"NVIDIA GeForce Go 6600" },
{ 0x10DE0149,"NVIDIA GeForce Go 6600 GT" },
{ 0x10DE014A,"NVIDIA Quadro NVS 440" },
{ 0x10DE014C,"NVIDIA Quadro FX 550" },
{ 0x10DE014D,"NVIDIA Quadro FX 550" },
{ 0x10DE014E,"NVIDIA Quadro FX 540" },
{ 0x10DE014F,"NVIDIA GeForce 6200" },
// 0150 - 015F
// 0160 - 016F
{ 0x10DE0160,"GeForce 6500" },
{ 0x10DE0161,"GeForce 6200 TurboCache(TM)" },
{ 0x10DE0162,"GeForce 6200SE TurboCache(TM)" },
{ 0x10DE0163,"GeForce 6200 LE" },
{ 0x10DE0164,"GeForce Go 6200" },
{ 0x10DE0165,"Quadro NVS 285" },
{ 0x10DE0166,"GeForce Go 6400" },
{ 0x10DE0167,"GeForce Go 6200" },
{ 0x10DE0168,"GeForce Go 6400" },
{ 0x10DE0169,"GeForce 6250" },
{ 0x10DE016A,"GeForce 7100 GS" },
{ 0x10DE0160,"NVIDIA GeForce 6500" },
{ 0x10DE0161,"NVIDIA GeForce 6200 TurboCache(TM)" },
{ 0x10DE0162,"NVIDIA GeForce 6200SE TurboCache(TM)" },
{ 0x10DE0163,"NVIDIA GeForce 6200 LE" },
{ 0x10DE0164,"NVIDIA GeForce Go 6200" },
{ 0x10DE0165,"NVIDIA Quadro NVS 285" },
{ 0x10DE0166,"NVIDIA GeForce Go 6400" },
{ 0x10DE0167,"NVIDIA GeForce Go 6200" },
{ 0x10DE0168,"NVIDIA GeForce Go 6400" },
{ 0x10DE0169,"NVIDIA GeForce 6250" },
{ 0x10DE016A,"NVIDIA GeForce 7100 GS" },
{ 0x10DE016C,"NVIDIA NV44GLM" },
{ 0x10DE016D,"NVIDIA NV44GLM" },
// 0170 - 017F
// 0180 - 018F
// 0190 - 019F
{ 0x10DE0191,"GeForce 8800 GTX" },
{ 0x10DE0193,"GeForce 8800 GTS" },
{ 0x10DE0194,"GeForce 8800 Ultra" },
{ 0x10DE0197,"Tesla C870" },
{ 0x10DE019D,"Quadro FX 5600" },
{ 0x10DE019E,"Quadro FX 4600" },
{ 0x10DE0191,"NVIDIA GeForce 8800 GTX" },
{ 0x10DE0193,"NVIDIA GeForce 8800 GTS" },
{ 0x10DE0194,"NVIDIA GeForce 8800 Ultra" },
{ 0x10DE0197,"NVIDIA Tesla C870" },
{ 0x10DE019D,"NVIDIA Quadro FX 5600" },
{ 0x10DE019E,"NVIDIA Quadro FX 4600" },
// 01A0 - 01AF
// 01B0 - 01BF
// 01C0 - 01CF
// 01D0 - 01DF
{ 0x10DE01D0,"GeForce 7350 LE" },
{ 0x10DE01D1,"GeForce 7300 LE" },
{ 0x10DE01D2,"GeForce 7550 LE" },
{ 0x10DE01D3,"GeForce 7300 SE/7200 GS" },
{ 0x10DE01D6,"GeForce Go 7200" },
{ 0x10DE01D7,"GeForce Go 7300" },
{ 0x10DE01D8,"GeForce Go 7400" },
{ 0x10DE01D9,"GeForce Go 7450" },
{ 0x10DE01DA,"Quadro NVS 110M" },
{ 0x10DE01DB,"Quadro NVS 120M" },
{ 0x10DE01DC,"Quadro FX 350M" },
{ 0x10DE01DD,"GeForce 7500 LE" },
{ 0x10DE01DE,"Quadro FX 350" },
{ 0x10DE01DF,"GeForce 7300 GS" },
{ 0x10DE01D0,"NVIDIA GeForce 7350 LE" },
{ 0x10DE01D1,"NVIDIA GeForce 7300 LE" },
{ 0x10DE01D2,"NVIDIA GeForce 7550 LE" },
{ 0x10DE01D3,"NVIDIA GeForce 7300 SE/7200 GS" },
{ 0x10DE01D6,"NVIDIA GeForce Go 7200" },
{ 0x10DE01D7,"NVIDIA GeForce Go 7300" },
{ 0x10DE01D8,"NVIDIA GeForce Go 7400" },
{ 0x10DE01D9,"NVIDIA GeForce Go 7450" },
{ 0x10DE01DA,"NVIDIA Quadro NVS 110M" },
{ 0x10DE01DB,"NVIDIA Quadro NVS 120M" },
{ 0x10DE01DC,"NVIDIA Quadro FX 350M" },
{ 0x10DE01DD,"NVIDIA GeForce 7500 LE" },
{ 0x10DE01DE,"NVIDIA Quadro FX 350" },
{ 0x10DE01DF,"NVIDIA GeForce 7300 GS" },
// 01E0 - 01EF
// 01F0 - 01FF
{ 0x10DE01F0,"GeForce4 MX" },
{ 0x10DE01F0,"NVIDIA GeForce4 MX" },
// 0200 - 020F
// 0210 - 021F
{ 0x10DE0211,"GeForce 6800" },
{ 0x10DE0212,"GeForce 6800 LE" },
{ 0x10DE0215,"GeForce 6800 GT" },
{ 0x10DE0218,"GeForce 6800 XT" },
{ 0x10DE0211,"NVIDIA GeForce 6800" },
{ 0x10DE0212,"NVIDIA GeForce 6800 LE" },
{ 0x10DE0215,"NVIDIA GeForce 6800 GT" },
{ 0x10DE0218,"NVIDIA GeForce 6800 XT" },
// 0220 - 022F
{ 0x10DE0221,"GeForce 6200" },
{ 0x10DE0222,"GeForce 6200 A-LE" },
{ 0x10DE0221,"NVIDIA GeForce 6200" },
{ 0x10DE0222,"NVIDIA GeForce 6200 A-LE" },
{ 0x10DE0228,"NVIDIA NV44M" },
// 0230 - 023F
// 0240 - 024F
{ 0x10DE0240,"GeForce 6150" },
{ 0x10DE0241,"GeForce 6150 LE" },
{ 0x10DE0242,"GeForce 6100" },
{ 0x10DE0240,"NVIDIA GeForce 6150" },
{ 0x10DE0241,"NVIDIA GeForce 6150 LE" },
{ 0x10DE0242,"NVIDIA GeForce 6100" },
{ 0x10DE0243,"NVIDIA C51" },
{ 0x10DE0244,"GeForce Go 6150" },
{ 0x10DE0245,"Quadro NVS 210S / GeForce 6150LE" },
{ 0x10DE0247,"GeForce Go 6100" },
{ 0x10DE0244,"NVIDIA GeForce Go 6150" },
{ 0x10DE0245,"NVIDIA Quadro NVS 210S / GeForce 6150LE" },
{ 0x10DE0247,"NVIDIA GeForce Go 6100" },
// 0250 - 025F
{ 0x10DE025B,"Quadro4 700 XGL" },
{ 0x10DE025B,"NVIDIA Quadro4 700 XGL" },
// 0260 - 026F
// 0270 - 027F
// 0280 - 028F
// 0290 - 029F
{ 0x10DE0290,"GeForce 7900 GTX" },
{ 0x10DE0291,"GeForce 7900 GT/GTO" },
{ 0x10DE0292,"GeForce 7900 GS" },
{ 0x10DE0293,"GeForce 7950 GX2" },
{ 0x10DE0294,"GeForce 7950 GX2" },
{ 0x10DE0295,"GeForce 7950 GT" },
{ 0x10DE0298,"GeForce Go 7900 GS" },
{ 0x10DE0299,"GeForce Go 7900 GTX" },
{ 0x10DE029A,"Quadro FX 2500M" },
{ 0x10DE029B,"Quadro FX 1500M" },
{ 0x10DE029C,"Quadro FX 5500" },
{ 0x10DE029D,"Quadro FX 3500" },
{ 0x10DE029E,"Quadro FX 1500" },
{ 0x10DE029F,"Quadro FX 4500 X2" },
{ 0x10DE0290,"NVIDIA GeForce 7900 GTX" },
{ 0x10DE0291,"NVIDIA GeForce 7900 GT/GTO" },
{ 0x10DE0292,"NVIDIA GeForce 7900 GS" },
{ 0x10DE0293,"NVIDIA GeForce 7950 GX2" },
{ 0x10DE0294,"NVIDIA GeForce 7950 GX2" },
{ 0x10DE0295,"NVIDIA GeForce 7950 GT" },
{ 0x10DE0298,"NVIDIA GeForce Go 7900 GS" },
{ 0x10DE0299,"NVIDIA GeForce Go 7900 GTX" },
{ 0x10DE029A,"NVIDIA Quadro FX 2500M" },
{ 0x10DE029B,"NVIDIA Quadro FX 1500M" },
{ 0x10DE029C,"NVIDIA Quadro FX 5500" },
{ 0x10DE029D,"NVIDIA Quadro FX 3500" },
{ 0x10DE029E,"NVIDIA Quadro FX 1500" },
{ 0x10DE029F,"NVIDIA Quadro FX 4500 X2" },
// 02A0 - 02AF
// 02B0 - 02BF
// 02C0 - 02CF
// 02D0 - 02DF
// 02E0 - 02EF
{ 0x10DE02E0,"GeForce 7600 GT" },
{ 0x10DE02E1,"GeForce 7600 GS" },
{ 0x10DE02E2,"GeForce 7300 GT" },
{ 0x10DE02E3,"GeForce 7900 GS" },
{ 0x10DE02E4,"GeForce 7950 GT" },
{ 0x10DE02E0,"NVIDIA GeForce 7600 GT" },
{ 0x10DE02E1,"NVIDIA GeForce 7600 GS" },
{ 0x10DE02E2,"NVIDIA GeForce 7300 GT" },
{ 0x10DE02E3,"NVIDIA GeForce 7900 GS" },
{ 0x10DE02E4,"NVIDIA GeForce 7950 GT" },
// 02F0 - 02FF
// 0300 - 030F
{ 0x10DE0301,"GeForce FX 5800 Ultra" },
{ 0x10DE0302,"GeForce FX 5800" },
{ 0x10DE0308,"Quadro FX 2000" },
{ 0x10DE0309,"Quadro FX 1000" },
{ 0x10DE0301,"NVIDIA GeForce FX 5800 Ultra" },
{ 0x10DE0302,"NVIDIA GeForce FX 5800" },
{ 0x10DE0308,"NVIDIA Quadro FX 2000" },
{ 0x10DE0309,"NVIDIA Quadro FX 1000" },
// 0310 - 031F
{ 0x10DE0311,"GeForce FX 5600 Ultra" },
{ 0x10DE0312,"GeForce FX 5600" },
{ 0x10DE0314,"GeForce FX 5600XT" },
{ 0x10DE031A,"GeForce FX Go5600" },
{ 0x10DE031B,"GeForce FX Go5650" },
{ 0x10DE031C,"Quadro FX Go700" },
{ 0x10DE0311,"NVIDIA GeForce FX 5600 Ultra" },
{ 0x10DE0312,"NVIDIA GeForce FX 5600" },
{ 0x10DE0314,"NVIDIA GeForce FX 5600XT" },
{ 0x10DE031A,"NVIDIA GeForce FX Go5600" },
{ 0x10DE031B,"NVIDIA GeForce FX Go5650" },
{ 0x10DE031C,"NVIDIA Quadro FX Go700" },
// 0320 - 032F
{ 0x10DE0320,"GeForce FX 5200" },
{ 0x10DE0321,"GeForce FX 5200 Ultra" },
{ 0x10DE0322,"GeForce FX 5200" },
{ 0x10DE0323,"GeForce FX 5200 LE" },
{ 0x10DE0324,"GeForce FX Go5200" },
{ 0x10DE0325,"GeForce FX Go5250" },
{ 0x10DE0326,"GeForce FX 5500" },
{ 0x10DE0328,"GeForce FX Go5200 32M/64M" },
{ 0x10DE0329,"GeForce FX Go5200" },
{ 0x10DE032A,"Quadro NVS 55/280 PCI" },
{ 0x10DE032B,"Quadro FX 500/600 PCI" },
{ 0x10DE032C,"GeForce FX Go53xx Series" },
{ 0x10DE032D,"GeForce FX Go5100" },
{ 0x10DE0320,"NVIDIA GeForce FX 5200" },
{ 0x10DE0321,"NVIDIA GeForce FX 5200 Ultra" },
{ 0x10DE0322,"NVIDIA GeForce FX 5200" },
{ 0x10DE0323,"NVIDIA GeForce FX 5200 LE" },
{ 0x10DE0324,"NVIDIA GeForce FX Go5200" },
{ 0x10DE0325,"NVIDIA GeForce FX Go5250" },
{ 0x10DE0326,"NVIDIA GeForce FX 5500" },
{ 0x10DE0328,"NVIDIA GeForce FX Go5200 32M/64M" },
{ 0x10DE0329,"NVIDIA GeForce FX Go5200" },
{ 0x10DE032A,"NVIDIA Quadro NVS 55/280 PCI" },
{ 0x10DE032B,"NVIDIA Quadro FX 500/600 PCI" },
{ 0x10DE032C,"NVIDIA GeForce FX Go53xx Series" },
{ 0x10DE032D,"NVIDIA GeForce FX Go5100" },
{ 0x10DE032F,"NV34GL" },
// 0330 - 033F
{ 0x10DE0330,"GeForce FX 5900 Ultra" },
{ 0x10DE0331,"GeForce FX 5900" },
{ 0x10DE0332,"GeForce FX 5900XT" },
{ 0x10DE0333,"GeForce FX 5950 Ultra" },
{ 0x10DE0334,"GeForce FX 5900ZT" },
{ 0x10DE0338,"Quadro FX 3000" },
{ 0x10DE033F,"Quadro FX 700" },
{ 0x10DE0330,"NVIDIA GeForce FX 5900 Ultra" },
{ 0x10DE0331,"NVIDIA GeForce FX 5900" },
{ 0x10DE0332,"NVIDIA GeForce FX 5900XT" },
{ 0x10DE0333,"NVIDIA GeForce FX 5950 Ultra" },
{ 0x10DE0334,"NVIDIA GeForce FX 5900ZT" },
{ 0x10DE0338,"NVIDIA Quadro FX 3000" },
{ 0x10DE033F,"NVIDIA Quadro FX 700" },
// 0340 - 034F
{ 0x10DE0341,"GeForce FX 5700 Ultra" },
{ 0x10DE0342,"GeForce FX 5700" },
{ 0x10DE0343,"GeForce FX 5700LE" },
{ 0x10DE0344,"GeForce FX 5700VE" },
{ 0x10DE0341,"NVIDIA GeForce FX 5700 Ultra" },
{ 0x10DE0342,"NVIDIA GeForce FX 5700" },
{ 0x10DE0343,"NVIDIA GeForce FX 5700LE" },
{ 0x10DE0344,"NVIDIA GeForce FX 5700VE" },
{ 0x10DE0345,"NV36.5" },
{ 0x10DE0347,"GeForce FX Go5700" },
{ 0x10DE0348,"GeForce FX Go5700" },
{ 0x10DE0347,"NVIDIA GeForce FX Go5700" },
{ 0x10DE0348,"NVIDIA GeForce FX Go5700" },
{ 0x10DE0349,"NV36M Pro" },
{ 0x10DE034B,"NV36MAP" },
{ 0x10DE034C,"Quadro FX Go1000" },
{ 0x10DE034E,"Quadro FX 1100" },
{ 0x10DE034C,"NVIDIA Quadro FX Go1000" },
{ 0x10DE034E,"NVIDIA Quadro FX 1100" },
{ 0x10DE034F,"NV36GL" },
// 0350 - 035F
// 0360 - 036F
// 0370 - 037F
// 0380 - 038F
{ 0x10DE038B,"GeForce 7650 GS" },
{ 0x10DE038B,"NVIDIA GeForce 7650 GS" },
// 0390 - 039F
{ 0x10DE0390,"GeForce 7650 GS" },
{ 0x10DE0391,"GeForce 7600 GT" },
{ 0x10DE0392,"GeForce 7600 GS" },
{ 0x10DE0393,"GeForce 7300 GT" },
{ 0x10DE0394,"GeForce 7600 LE" },
{ 0x10DE0395,"GeForce 7300 GT" },
{ 0x10DE0397,"GeForce Go 7700" },
{ 0x10DE0398,"GeForce Go 7600" },
{ 0x10DE0399,"GeForce Go 7600 GT"},
{ 0x10DE039A,"Quadro NVS 300M" },
{ 0x10DE039B,"GeForce Go 7900 SE" },
{ 0x10DE039C,"Quadro FX 560M" },
{ 0x10DE039E,"Quadro FX 560" },
{ 0x10DE0390,"NVIDIA GeForce 7650 GS" },
{ 0x10DE0391,"NVIDIA GeForce 7600 GT" },
{ 0x10DE0392,"NVIDIA GeForce 7600 GS" },
{ 0x10DE0393,"NVIDIA GeForce 7300 GT" },
{ 0x10DE0394,"NVIDIA GeForce 7600 LE" },
{ 0x10DE0395,"NVIDIA GeForce 7300 GT" },
{ 0x10DE0397,"NVIDIA GeForce Go 7700" },
{ 0x10DE0398,"NVIDIA GeForce Go 7600" },
{ 0x10DE0399,"NVIDIA GeForce Go 7600 GT"},
{ 0x10DE039A,"NVIDIA Quadro NVS 300M" },
{ 0x10DE039B,"NVIDIA GeForce Go 7900 SE" },
{ 0x10DE039C,"NVIDIA Quadro FX 560M" },
{ 0x10DE039E,"NVIDIA Quadro FX 560" },
// 03A0 - 03AF
// 03B0 - 03BF
// 03C0 - 03CF
// 03D0 - 03DF
{ 0x10DE03D0,"GeForce 6150SE nForce 430" },
{ 0x10DE03D1,"GeForce 6100 nForce 405" },
{ 0x10DE03D2,"GeForce 6100 nForce 400" },
{ 0x10DE03D5,"GeForce 6100 nForce 420" },
{ 0x10DE03D6,"GeForce 7025 / nForce 630a" },
{ 0x10DE03D0,"NVIDIA GeForce 6150SE nForce 430" },
{ 0x10DE03D1,"NVIDIA GeForce 6100 nForce 405" },
{ 0x10DE03D2,"NVIDIA GeForce 6100 nForce 400" },
{ 0x10DE03D5,"NVIDIA GeForce 6100 nForce 420" },
{ 0x10DE03D6,"NVIDIA GeForce 7025 / nForce 630a" },
// 03E0 - 03EF
// 03F0 - 03FF
// 0400 - 040F
{ 0x10DE0400,"GeForce 8600 GTS" },
{ 0x10DE0401,"GeForce 8600 GT" },
{ 0x10DE0402,"GeForce 8600 GT" },
{ 0x10DE0403,"GeForce 8600 GS" },
{ 0x10DE0404,"GeForce 8400 GS" },
{ 0x10DE0405,"GeForce 9500M GS" },
{ 0x10DE0406,"GeForce 8300 GS" },
{ 0x10DE0407,"GeForce 8600M GT" },
{ 0x10DE0408,"GeForce 9650M GS" },
{ 0x10DE0409,"GeForce 8700M GT" },
{ 0x10DE040A,"Quadro FX 370" },
{ 0x10DE040B,"Quadro NVS 320M" },
{ 0x10DE040C,"Quadro FX 570M" },
{ 0x10DE040D,"Quadro FX 1600M" },
{ 0x10DE040E,"Quadro FX 570" },
{ 0x10DE040F,"Quadro FX 1700" },
{ 0x10DE0400,"NVIDIA GeForce 8600 GTS" },
{ 0x10DE0401,"NVIDIA GeForce 8600 GT" },
{ 0x10DE0402,"NVIDIA GeForce 8600 GT" },
{ 0x10DE0403,"NVIDIA GeForce 8600 GS" },
{ 0x10DE0404,"NVIDIA GeForce 8400 GS" },
{ 0x10DE0405,"NVIDIA GeForce 9500M GS" },
{ 0x10DE0406,"NVIDIA GeForce 8300 GS" },
{ 0x10DE0407,"NVIDIA GeForce 8600M GT" },
{ 0x10DE0408,"NVIDIA GeForce 9650M GS" },
{ 0x10DE0409,"NVIDIA GeForce 8700M GT" },
{ 0x10DE040A,"NVIDIA Quadro FX 370" },
{ 0x10DE040B,"NVIDIA Quadro NVS 320M" },
{ 0x10DE040C,"NVIDIA Quadro FX 570M" },
{ 0x10DE040D,"NVIDIA Quadro FX 1600M" },
{ 0x10DE040E,"NVIDIA Quadro FX 570" },
{ 0x10DE040F,"NVIDIA Quadro FX 1700" },
// 0410 - 041F
{ 0x10DE0410,"GeForce GT 330" },
{ 0x10DE0410,"NVIDIA GeForce GT 330" },
// 0420 - 042F
{ 0x10DE0420,"GeForce 8400 SE" },
{ 0x10DE0421,"GeForce 8500 GT" },
{ 0x10DE0422,"GeForce 8400 GS" },
{ 0x10DE0423,"GeForce 8300 GS" },
{ 0x10DE0424,"GeForce 8400 GS" },
{ 0x10DE0425,"GeForce 8600M GS" },
{ 0x10DE0426,"GeForce 8400M GT" },
{ 0x10DE0427,"GeForce 8400M GS" },
{ 0x10DE0428,"GeForce 8400M G" },
{ 0x10DE0429,"Quadro NVS 140M" },
{ 0x10DE042A,"Quadro NVS 130M" },
{ 0x10DE042B,"Quadro NVS 135M" },
{ 0x10DE042C,"GeForce 9400 GT" },
{ 0x10DE042D,"Quadro FX 360M" },
{ 0x10DE042E,"GeForce 9300M G" },
{ 0x10DE042F,"Quadro NVS 290" },
{ 0x10DE0420,"NVIDIA GeForce 8400 SE" },
{ 0x10DE0421,"NVIDIA GeForce 8500 GT" },
{ 0x10DE0422,"NVIDIA GeForce 8400 GS" },
{ 0x10DE0423,"NVIDIA GeForce 8300 GS" },
{ 0x10DE0424,"NVIDIA GeForce 8400 GS" },
{ 0x10DE0425,"NVIDIA GeForce 8600M GS" },
{ 0x10DE0426,"NVIDIA GeForce 8400M GT" },
{ 0x10DE0427,"NVIDIA GeForce 8400M GS" },
{ 0x10DE0428,"NVIDIA GeForce 8400M G" },
{ 0x10DE0429,"NVIDIA Quadro NVS 140M" },
{ 0x10DE042A,"NVIDIA Quadro NVS 130M" },
{ 0x10DE042B,"NVIDIA Quadro NVS 135M" },
{ 0x10DE042C,"NVIDIA GeForce 9400 GT" },
{ 0x10DE042D,"NVIDIA Quadro FX 360M" },
{ 0x10DE042E,"NVIDIA GeForce 9300M G" },
{ 0x10DE042F,"NVIDIA Quadro NVS 290" },
// 0430 - 043F
// 0440 - 044F
// 0450 - 045F
// 0510 - 051F
// 0520 - 052F
// 0530 - 053F
{ 0x10DE0530,"GeForce 7190M / nForce 650M" },
{ 0x10DE0531,"GeForce 7150M / nForce 630M" },
{ 0x10DE0533,"GeForce 7000M / nForce 610M" },
{ 0x10DE053A,"GeForce 7050 PV / nForce 630a" },
{ 0x10DE053B,"GeForce 7050 PV / nForce 630a" },
{ 0x10DE053E,"GeForce 7025 / nForce 630a" },
{ 0x10DE0530,"NVIDIA GeForce 7190M / nForce 650M" },
{ 0x10DE0531,"NVIDIA GeForce 7150M / nForce 630M" },
{ 0x10DE0533,"NVIDIA GeForce 7000M / nForce 610M" },
{ 0x10DE053A,"NVIDIA GeForce 7050 PV / nForce 630a" },
{ 0x10DE053B,"NVIDIA GeForce 7050 PV / nForce 630a" },
{ 0x10DE053E,"NVIDIA GeForce 7025 / nForce 630a" },
// 0540 - 054F
// 0550 - 055F
// 0560 - 056F
// 05C0 - 05CF
// 05D0 - 05DF
// 05E0 - 05EF
{ 0x10DE05E0,"GeForce GTX 295" },
{ 0x10DE05E1,"GeForce GTX 280" },
{ 0x10DE05E2,"GeForce GTX 260" },
{ 0x10DE05E3,"GeForce GTX 285" },
{ 0x10DE05E0,"NVIDIA GeForce GTX 295" },
{ 0x10DE05E1,"NVIDIA GeForce GTX 280" },
{ 0x10DE05E2,"NVIDIA GeForce GTX 260" },
{ 0x10DE05E3,"NVIDIA GeForce GTX 285" },
{ 0x10DE05E4,"NVIDIA GT200" },
{ 0x10DE05E5,"NVIDIA GT200" },
{ 0x10DE05E6,"GeForce GTX 275" },
{ 0x10DE05E7,"nVidia Tesla C1060" },
{ 0x10DE05E6,"NVIDIA GeForce GTX 275" },
{ 0x10DE05E7,"NVIDIA Tesla C1060" },
{ 0x10DE05E8,"NVIDIA GT200" },
{ 0x10DE05E9,"NVIDIA GT200" },
{ 0x10DE05EA,"GeForce GTX 260" },
{ 0x10DE05EB,"GeForce GTX 295" },
{ 0x10DE05EA,"NVIDIA GeForce GTX 260" },
{ 0x10DE05EB,"NVIDIA GeForce GTX 295" },
{ 0x10DE05EC,"NVIDIA GT200" },
{ 0x10DE05ED,"Quadroplex 2200 D2" },
{ 0x10DE05ED,"NVIDIA Quadroplex 2200 D2" },
{ 0x10DE05EE,"NVIDIA GT200" },
{ 0x10DE05EF,"NVIDIA GT200" },
// 05F0 - 05FF
{ 0x10DE05F5,"NVIDIA GT200" },
{ 0x10DE05F6,"NVIDIA GT200" },
{ 0x10DE05F7,"NVIDIA GT200" },
{ 0x10DE05F8,"Quadroplex 2200 S4" },
{ 0x10DE05F8,"NVIDIA Quadroplex 2200 S4" },
{ 0x10DE05F9,"NVIDIA Quadro CX" },
{ 0x10DE05FA,"NVIDIA GT200" },
{ 0x10DE05FB,"NVIDIA GT200" },
{ 0x10DE05FC,"NVIDIA GT200" },
{ 0x10DE05FD,"Quadro FX 5800" },
{ 0x10DE05FE,"Quadro FX 4800" },
{ 0x10DE05FF,"Quadro FX 3800" },
{ 0x10DE05FD,"NVIDIA Quadro FX 5800" },
{ 0x10DE05FE,"NVIDIA Quadro FX 4800" },
{ 0x10DE05FF,"NVIDIA Quadro FX 3800" },
// 0600 - 060F
{ 0x10DE0600,"GeForce 8800 GTS" },
{ 0x10DE0601,"GeForce 9800 GT" },
{ 0x10DE0602,"GeForce 8800 GT" },
{ 0x10DE0603,"GeForce GT 230" },
{ 0x10DE0604,"GeForce 9800 GX2" },
{ 0x10DE0605,"GeForce 9800 GT" },
{ 0x10DE0606,"GeForce 8800 GS" },
{ 0x10DE0607,"GeForce GTS 240" },
{ 0x10DE0608,"GeForce 9800M GTX" },
{ 0x10DE0609,"GeForce 8800M GTS" },
{ 0x10DE060A,"GeForce GTX 280M" },
{ 0x10DE060B,"GeForce 9800M GT" },
{ 0x10DE060C,"GeForce 8800M GTX" },
{ 0x10DE060D,"GeForce 8800 GS" },
{ 0x10DE060F,"GeForce GTX 285M" },
{ 0x10DE0600,"NVIDIA GeForce 8800 GTS" },
{ 0x10DE0601,"NVIDIA GeForce 9800 GT" },
{ 0x10DE0602,"NVIDIA GeForce 8800 GT" },
{ 0x10DE0603,"NVIDIA GeForce GT 230" },
{ 0x10DE0604,"NVIDIA GeForce 9800 GX2" },
{ 0x10DE0605,"NVIDIA GeForce 9800 GT" },
{ 0x10DE0606,"NVIDIA GeForce 8800 GS" },
{ 0x10DE0607,"NVIDIA GeForce GTS 240" },
{ 0x10DE0608,"NVIDIA GeForce 9800M GTX" },
{ 0x10DE0609,"NVIDIA GeForce 8800M GTS" },
{ 0x10DE060A,"NVIDIA GeForce GTX 280M" },
{ 0x10DE060B,"NVIDIA GeForce 9800M GT" },
{ 0x10DE060C,"NVIDIA GeForce 8800M GTX" },
{ 0x10DE060D,"NVIDIA GeForce 8800 GS" },
{ 0x10DE060F,"NVIDIA GeForce GTX 285M" },
// 0610 - 061F
{ 0x10DE0610,"GeForce 9600 GSO" },
{ 0x10DE0611,"GeForce 8800 GT" },
{ 0x10DE0612,"GeForce 9800 GTX" },
{ 0x10DE0613,"GeForce 9800 GTX+" },
{ 0x10DE0614,"GeForce 9800 GT" },
{ 0x10DE0615,"GeForce GTS 250" },
{ 0x10DE0617,"GeForce 9800M GTX" },
{ 0x10DE0618,"GeForce GTX 260M" },
{ 0x10DE0619,"Quadro FX 4700 X2" },
{ 0x10DE061A,"Quadro FX 3700" },
{ 0x10DE061B,"Quadro VX 200" },
{ 0x10DE061C,"Quadro FX 3600M" },
{ 0x10DE061D,"Quadro FX 2800M" },
{ 0x10DE061E,"Quadro FX 3700M" },
{ 0x10DE061F,"Quadro FX 3800M" },
{ 0x10DE0610,"NVIDIA GeForce 9600 GSO" },
{ 0x10DE0611,"NVIDIA GeForce 8800 GT" },
{ 0x10DE0612,"NVIDIA GeForce 9800 GTX" },
{ 0x10DE0613,"NVIDIA GeForce 9800 GTX+" },
{ 0x10DE0614,"NVIDIA GeForce 9800 GT" },
{ 0x10DE0615,"NVIDIA GeForce GTS 250" },
{ 0x10DE0617,"NVIDIA GeForce 9800M GTX" },
{ 0x10DE0618,"NVIDIA GeForce GTX 260M" },
{ 0x10DE0619,"NVIDIA Quadro FX 4700 X2" },
{ 0x10DE061A,"NVIDIA Quadro FX 3700" },
{ 0x10DE061B,"NVIDIA Quadro VX 200" },
{ 0x10DE061C,"NVIDIA Quadro FX 3600M" },
{ 0x10DE061D,"NVIDIA Quadro FX 2800M" },
{ 0x10DE061E,"NVIDIA Quadro FX 3700M" },
{ 0x10DE061F,"NVIDIA Quadro FX 3800M" },
// 0620 - 062F
{ 0x10DE0620,"NVIDIA G94" },
{ 0x10DE0621,"GeForce GT 230" },
{ 0x10DE0622,"GeForce 9600 GT" },
{ 0x10DE0623,"GeForce 9600 GS" },
{ 0x10DE0621,"NVIDIA GeForce GT 230" },
{ 0x10DE0622,"NVIDIA GeForce 9600 GT" },
{ 0x10DE0623,"NVIDIA GeForce 9600 GS" },
{ 0x10DE0624,"NVIDIA G94" },
{ 0x10DE0625,"GeForce 9600 GSO 512"},
{ 0x10DE0626,"GeForce GT 130" },
{ 0x10DE0627,"GeForce GT 140" },
{ 0x10DE0628,"GeForce 9800M GTS" },
{ 0x10DE0625,"NVIDIA GeForce 9600 GSO 512"},
{ 0x10DE0626,"NVIDIA GeForce GT 130" },
{ 0x10DE0627,"NVIDIA GeForce GT 140" },
{ 0x10DE0628,"NVIDIA GeForce 9800M GTS" },
{ 0x10DE0629,"NVIDIA G94" },
{ 0x10DE062A,"GeForce 9700M GTS" },
{ 0x10DE062B,"GeForce 9800M GS" },
{ 0x10DE062C,"GeForce 9800M GTS" },
{ 0x10DE062D,"GeForce 9600 GT" },
{ 0x10DE062E,"GeForce 9600 GT" },
{ 0x10DE062F,"GeForce 9800 S" },
{ 0x10DE062A,"NVIDIA GeForce 9700M GTS" },
{ 0x10DE062B,"NVIDIA GeForce 9800M GS" },
{ 0x10DE062C,"NVIDIA GeForce 9800M GTS" },
{ 0x10DE062D,"NVIDIA GeForce 9600 GT" },
{ 0x10DE062E,"NVIDIA GeForce 9600 GT" },
{ 0x10DE062F,"NVIDIA GeForce 9800 S" },
// 0630 - 063F
{ 0x10DE0630,"GeForce 9700 S" },
{ 0x10DE0631,"GeForce GTS 160M" },
{ 0x10DE0632,"GeForce GTS 150M" },
{ 0x10DE0630,"NVIDIA GeForce 9700 S" },
{ 0x10DE0631,"NVIDIA GeForce GTS 160M" },
{ 0x10DE0632,"NVIDIA GeForce GTS 150M" },
{ 0x10DE0633,"NVIDIA G94" },
{ 0x10DE0634,"NVIDIA G94" },
{ 0x10DE0635,"GeForce 9600 GSO" },
{ 0x10DE0635,"NVIDIA GeForce 9600 GSO" },
{ 0x10DE0636,"NVIDIA G94" },
{ 0x10DE0637,"GeForce 9600 GT" },
{ 0x10DE0638,"Quadro FX 1800" },
{ 0x10DE0637,"NVIDIA GeForce 9600 GT" },
{ 0x10DE0638,"NVIDIA Quadro FX 1800" },
{ 0x10DE0639,"NVIDIA G94" },
{ 0x10DE063A,"Quadro FX 2700M" },
{ 0x10DE063A,"NVIDIA Quadro FX 2700M" },
{ 0x10DE063B,"NVIDIA G94" },
{ 0x10DE063C,"NVIDIA G94" },
{ 0x10DE063D,"NVIDIA G94" },
{ 0x10DE063E,"NVIDIA G94" },
{ 0x10DE063F,"NVIDIA G94" },
// 0640 - 064F
{ 0x10DE0640,"GeForce 9500 GT" },
{ 0x10DE0641,"GeForce 9400 GT" },
{ 0x10DE0642,"GeForce 8400 GS" },
{ 0x10DE0643,"GeForce 9500 GT" },
{ 0x10DE0644,"GeForce 9500 GS" },
{ 0x10DE0645,"GeForce 9500 GS" },
{ 0x10DE0646,"GeForce GT 120" },
{ 0x10DE0647,"GeForce 9600M GT" },
{ 0x10DE0648,"GeForce 9600M GS" },
{ 0x10DE0649,"GeForce 9600M GT" },
{ 0x10DE064A,"GeForce 9700M GT" },
{ 0x10DE064B,"GeForce 9500M G" },
{ 0x10DE064C,"GeForce 9650M GT" },
{ 0x10DE0640,"NVIDIA GeForce 9500 GT" },
{ 0x10DE0641,"NVIDIA GeForce 9400 GT" },
{ 0x10DE0642,"NVIDIA GeForce 8400 GS" },
{ 0x10DE0643,"NVIDIA GeForce 9500 GT" },
{ 0x10DE0644,"NVIDIA GeForce 9500 GS" },
{ 0x10DE0645,"NVIDIA GeForce 9500 GS" },
{ 0x10DE0646,"NVIDIA GeForce GT 120" },
{ 0x10DE0647,"NVIDIA GeForce 9600M GT" },
{ 0x10DE0648,"NVIDIA GeForce 9600M GS" },
{ 0x10DE0649,"NVIDIA GeForce 9600M GT" },
{ 0x10DE064A,"NVIDIA GeForce 9700M GT" },
{ 0x10DE064B,"NVIDIA GeForce 9500M G" },
{ 0x10DE064C,"NVIDIA GeForce 9650M GT" },
// 0650 - 065F
{ 0x10DE0650,"NVIDIA G96-825" },
{ 0x10DE0651,"GeForce G 110M" },
{ 0x10DE0652,"GeForce GT 130M" },
{ 0x10DE0653,"GeForce GT 120M" },
{ 0x10DE0654,"GeForce GT 220M" },
{ 0x10DE0655,"GeForce GT 120" },
{ 0x10DE0656,"GeForce 9650 S" },
{ 0x10DE0651,"NVIDIA GeForce G 110M" },
{ 0x10DE0652,"NVIDIA GeForce GT 130M" },
{ 0x10DE0653,"NVIDIA GeForce GT 120M" },
{ 0x10DE0654,"NVIDIA GeForce GT 220M" },
{ 0x10DE0655,"NVIDIA GeForce GT 120" },
{ 0x10DE0656,"NVIDIA GeForce 9650 S" },
{ 0x10DE0657,"NVIDIA G96" },
{ 0x10DE0658,"Quadro FX 380" },
{ 0x10DE0659,"Quadro FX 580" },
{ 0x10DE065A,"Quadro FX 1700M" },
{ 0x10DE065B,"GeForce 9400 GT" },
{ 0x10DE065C,"Quadro FX 770M" },
{ 0x10DE0658,"NVIDIA Quadro FX 380" },
{ 0x10DE0659,"NVIDIA Quadro FX 580" },
{ 0x10DE065A,"NVIDIA Quadro FX 1700M" },
{ 0x10DE065B,"NVIDIA GeForce 9400 GT" },
{ 0x10DE065C,"NVIDIA Quadro FX 770M" },
{ 0x10DE065D,"NVIDIA G96" },
{ 0x10DE065E,"NVIDIA G96" },
{ 0x10DE065F,"GeForce G210" },
{ 0x10DE065F,"NVIDIA GeForce G210" },
// 0660 - 066F
// 0670 - 067F
// 0680 - 068F
// 06B0 - 06BF
{ 0x10DE06B0,"NVIDIA GT214" },
// 06C0 - 06CF
{ 0x10DE06C0,"GeForce GTX 480" },
{ 0x10DE06C3,"GeForce GTX D12U" },
{ 0x10DE06C4,"GeForce GTX 465" },
{ 0x10DE06CA,"GeForce GTX 480M" },
{ 0x10DE06CD,"GeForce GTX 470" },
{ 0x10DE06C0,"NVIDIA GeForce GTX 480" },
{ 0x10DE06C3,"NVIDIA GeForce GTX D12U" },
{ 0x10DE06C4,"NVIDIA GeForce GTX 465" },
{ 0x10DE06CA,"NVIDIA GeForce GTX 480M" },
{ 0x10DE06CD,"NVIDIA GeForce GTX 470" },
// 06D0 - 06DF
{ 0x10DE06D1,"Tesla C2050" },
{ 0x10DE06D2,"Tesla M2070" },
{ 0x10DE06D8,"Quadro 6000" },
{ 0x10DE06D9,"Quadro 5000" },
{ 0x10DE06DA,"Quadro 5000M" },
{ 0x10DE06DC,"Quadro 6000" },
{ 0x10DE06DD,"Quadro 4000" },
{ 0x10DE06DE,"Tesla M2050" },
{ 0x10DE06DF,"Tesla M2070-Q" },
{ 0x10DE06D1,"NVIDIA Tesla C2050" },
{ 0x10DE06D2,"NVIDIA Tesla M2070" },
{ 0x10DE06D8,"NVIDIA Quadro 6000" },
{ 0x10DE06D9,"NVIDIA Quadro 5000" },
{ 0x10DE06DA,"NVIDIA Quadro 5000M" },
{ 0x10DE06DC,"NVIDIA Quadro 6000" },
{ 0x10DE06DD,"NVIDIA Quadro 4000" },
{ 0x10DE06DE,"NVIDIA Tesla M2050" },
{ 0x10DE06DF,"NVIDIA Tesla M2070-Q" },
// 06E0 - 06EF
{ 0x10DE06E0,"GeForce 9300 GE" },
{ 0x10DE06E1,"GeForce 9300 GS" },
{ 0x10DE06E2,"GeForce 8400" },
{ 0x10DE06E3,"GeForce 8400 SE" },
{ 0x10DE06E4,"GeForce 8400 GS" },
{ 0x10DE06E5,"GeForce 9300M GS" },
{ 0x10DE06E6,"GeForce G100" },
{ 0x10DE06E7,"GeForce 9300 SE" },
{ 0x10DE06E8,"GeForce 9200M GE" },
{ 0x10DE06E9,"GeForce 9300M GS" },
{ 0x10DE06EA,"Quadro NVS 150M" },
{ 0x10DE06EB,"Quadro NVS 160M" },
{ 0x10DE06EC,"GeForce G 105M" },
{ 0x10DE06E0,"NVIDIA GeForce 9300 GE" },
{ 0x10DE06E1,"NVIDIA GeForce 9300 GS" },
{ 0x10DE06E2,"NVIDIA GeForce 8400" },
{ 0x10DE06E3,"NVIDIA GeForce 8400 SE" },
{ 0x10DE06E4,"NVIDIA GeForce 8400 GS" },
{ 0x10DE06E5,"NVIDIA GeForce 9300M GS" },
{ 0x10DE06E6,"NVIDIA GeForce G100" },
{ 0x10DE06E7,"NVIDIA GeForce 9300 SE" },
{ 0x10DE06E8,"NVIDIA GeForce 9200M GE" },
{ 0x10DE06E9,"NVIDIA GeForce 9300M GS" },
{ 0x10DE06EA,"NVIDIA Quadro NVS 150M" },
{ 0x10DE06EB,"NVIDIA Quadro NVS 160M" },
{ 0x10DE06EC,"NVIDIA GeForce G 105M" },
{ 0x10DE06ED,"NVIDIA G98" },
{ 0x10DE06EF,"GeForce G 103M" },
{ 0x10DE06EF,"NVIDIA GeForce G 103M" },
// 06F0 - 06FF
{ 0x10DE06F0,"NVIDIA G98" },
{ 0x10DE06F1,"GeForce G105M" },
{ 0x10DE06F1,"NVIDIA GeForce G105M" },
{ 0x10DE06F2,"NVIDIA G98" },
{ 0x10DE06F3,"NVIDIA G98" },
{ 0x10DE06F4,"NVIDIA G98" },
{ 0x10DE06F5,"NVIDIA G98" },
{ 0x10DE06F6,"NVIDIA G98" },
{ 0x10DE06F7,"NVIDIA G98" },
{ 0x10DE06F8,"Quadro NVS 420" },
{ 0x10DE06F9,"Quadro FX 370 LP" },
{ 0x10DE06FA,"Quadro NVS 450" },
{ 0x10DE06FB,"Quadro FX 370M" },
{ 0x10DE06F8,"NVIDIA Quadro NVS 420" },
{ 0x10DE06F9,"NVIDIA Quadro FX 370 LP" },
{ 0x10DE06FA,"NVIDIA Quadro NVS 450" },
{ 0x10DE06FB,"NVIDIA Quadro FX 370M" },
{ 0x10DE06FC,"NVIDIA G98" },
{ 0x10DE06FD,"Quadro NVS 295" },
{ 0x10DE06FD,"NVIDIA Quadro NVS 295" },
{ 0x10DE06FE,"NVIDIA G98" },
{ 0x10DE06FF,"HICx16 + Graphics" },
// 0700 - 070F
// 07C0 - 07CF
// 07D0 - 07DF
// 07E0 - 07EF
{ 0x10DE07E0,"GeForce 7150 / nForce 630i" },
{ 0x10DE07E1,"GeForce 7100 / nForce 630i" },
{ 0x10DE07E2,"GeForce 7050 / nForce 630i" },
{ 0x10DE07E3,"GeForce 7050 / nForce 610i" },
{ 0x10DE07E5,"GeForce 7050 / nForce 620i" },
{ 0x10DE07E0,"NVIDIA GeForce 7150 / nForce 630i" },
{ 0x10DE07E1,"NVIDIA GeForce 7100 / nForce 630i" },
{ 0x10DE07E2,"NVIDIA GeForce 7050 / nForce 630i" },
{ 0x10DE07E3,"NVIDIA GeForce 7050 / nForce 610i" },
{ 0x10DE07E5,"NVIDIA GeForce 7050 / nForce 620i" },
// 07F0 - 07FF
// 0800 - 080F
// 0810 - 081F
// 0820 - 082F
// 0830 - 083F
// 0840 - 084F
{ 0x10DE0840,"GeForce 8200M" },
{ 0x10DE0844,"GeForce 9100M G" },
{ 0x10DE0845,"GeForce 8200M G" },
{ 0x10DE0846,"GeForce 9200" },
{ 0x10DE0847,"GeForce 9100" },
{ 0x10DE0848,"GeForce 8300" },
{ 0x10DE0849,"GeForce 8200" },
{ 0x10DE0840,"NVIDIA GeForce 8200M" },
{ 0x10DE0844,"NVIDIA GeForce 9100M G" },
{ 0x10DE0845,"NVIDIA GeForce 8200M G" },
{ 0x10DE0846,"NVIDIA GeForce 9200" },
{ 0x10DE0847,"NVIDIA GeForce 9100" },
{ 0x10DE0848,"NVIDIA GeForce 8300" },
{ 0x10DE0849,"NVIDIA GeForce 8200" },
{ 0x10DE084A,"nForce 730a" },
{ 0x10DE084B,"GeForce 9200" },
{ 0x10DE084B,"NVIDIA GeForce 9200" },
{ 0x10DE084C,"nForce 980a/780a SLI" },
{ 0x10DE084D,"nForce 750a SLI" },
{ 0x10DE084F,"GeForce 8100 / nForce 720a" },
{ 0x10DE084F,"NVIDIA GeForce 8100 / nForce 720a" },
// 0850 - 085F
// 0860 - 086F
{ 0x10DE0860,"GeForce 9300" },
{ 0x10DE0861,"GeForce 9400" },
{ 0x10DE0862,"GeForce 9400M G" },
{ 0x10DE0863,"GeForce 9400M" },
{ 0x10DE0864,"GeForce 9300" },
{ 0x10DE0865,"GeForce 9300" },
{ 0x10DE0866,"GeForce 9400M G" },
{ 0x10DE0867,"GeForce 9400" },
{ 0x10DE0860,"NVIDIA GeForce 9300" },
{ 0x10DE0861,"NVIDIA GeForce 9400" },
{ 0x10DE0862,"NVIDIA GeForce 9400M G" },
{ 0x10DE0863,"NVIDIA GeForce 9400M" },
{ 0x10DE0864,"NVIDIA GeForce 9300" },
{ 0x10DE0865,"NVIDIA GeForce 9300" },
{ 0x10DE0866,"NVIDIA GeForce 9400M G" },
{ 0x10DE0867,"NVIDIA GeForce 9400" },
{ 0x10DE0868,"nForce 760i SLI" },
{ 0x10DE0869,"GeForce 9400" },
{ 0x10DE086A,"GeForce 9400" },
{ 0x10DE086C,"GeForce 9300 / nForce 730i" },
{ 0x10DE086D,"GeForce 9200" },
{ 0x10DE086E,"GeForce 9100M G" },
{ 0x10DE086F,"GeForce 8200M G" },
{ 0x10DE0869,"NVIDIA GeForce 9400" },
{ 0x10DE086A,"NVIDIA GeForce 9400" },
{ 0x10DE086C,"NVIDIA GeForce 9300 / nForce 730i" },
{ 0x10DE086D,"NVIDIA GeForce 9200" },
{ 0x10DE086E,"NVIDIA GeForce 9100M G" },
{ 0x10DE086F,"NVIDIA GeForce 8200M G" },
// 0870 - 087F
{ 0x10DE0870,"GeForce 9400M" },
{ 0x10DE0871,"GeForce 9200" },
{ 0x10DE0872,"GeForce G102M" },
{ 0x10DE0873,"GeForce G205M" },
{ 0x10DE0870,"NVIDIA GeForce 9400M" },
{ 0x10DE0871,"NVIDIA GeForce 9200" },
{ 0x10DE0872,"NVIDIA GeForce G102M" },
{ 0x10DE0873,"NVIDIA GeForce G205M" },
{ 0x10DE0874,"ION 9300M" },
{ 0x10DE0876,"ION 9400M" },
{ 0x10DE087A,"GeForce 9400" },
{ 0x10DE087A,"NVIDIA GeForce 9400" },
{ 0x10DE087D,"ION 9400M" },
{ 0x10DE087E,"ION LE" },
{ 0x10DE087F,"ION LE" }, // Tesla M2070-Q ??
// 0880 - 088F
// 0890 - 089F
// 08A0 - 08AF
{ 0x10DE08A0,"GeForce 320M" },
{ 0x10DE08A0,"NVIDIA GeForce 320M" },
{ 0x10DE08A1,"MCP89-MZT" },
{ 0x10DE08A2,"GeForce 320M" },
{ 0x10DE08A3,"GeForce 320M" },
{ 0x10DE08A4,"GeForce 320M" },
{ 0x10DE08A5,"GeForce 320M" },
{ 0x10DE08A2,"NVIDIA GeForce 320M" },
{ 0x10DE08A3,"NVIDIA GeForce 320M" },
{ 0x10DE08A4,"NVIDIA GeForce 320M" },
{ 0x10DE08A5,"NVIDIA GeForce 320M" },
// 08B0 - 08BF
{ 0x10DE08B0,"MCP83 MMD" },
{ 0x10DE08B1,"GeForce 300M" },
{ 0x10DE08B2,"GeForce 300M" }, // MCP83-MJ
{ 0x10DE08B1,"NVIDIA GeForce 300M" },
{ 0x10DE08B2,"NVIDIA GeForce 300M" }, // MCP83-MJ
{ 0x10DE08B3,"MCP89 MM9" },
// 08C0 - 08CF
// 08D0 - 08DF
// 0A10 - 0A1F
// { 0x10DE0A10,"NVIDIA GT212" },
// 0A20 - 0A2F
{ 0x10DE0A20,"GeForce GT 220" },
{ 0x10DE0A20,"NVIDIA GeForce GT 220" },
{ 0x10DE0A21,"D10M2-20" },
{ 0x10DE0A22,"GeForce 315" },
{ 0x10DE0A23,"GeForce 210" },
{ 0x10DE0A26,"GeForce 405" },
{ 0x10DE0A27,"GeForce 405" },
{ 0x10DE0A28,"GeForce GT 230" },
{ 0x10DE0A29,"GeForce GT 330M" },
{ 0x10DE0A2A,"GeForce GT 230M" },
{ 0x10DE0A2B,"GeForce GT 330M" },
{ 0x10DE0A2C,"NVS 5100M" },
{ 0x10DE0A2D,"GeForce GT 320M" },
{ 0x10DE0A22,"NVIDIA GeForce 315" },
{ 0x10DE0A23,"NVIDIA GeForce 210" },
{ 0x10DE0A26,"NVIDIA GeForce 405" },
{ 0x10DE0A27,"NVIDIA GeForce 405" },
{ 0x10DE0A28,"NVIDIA GeForce GT 230" },
{ 0x10DE0A29,"NVIDIA GeForce GT 330M" },
{ 0x10DE0A2A,"NVIDIA GeForce GT 230M" },
{ 0x10DE0A2B,"NVIDIA GeForce GT 330M" },
{ 0x10DE0A2C,"NVIDIA NVS 5100M" },
{ 0x10DE0A2D,"NVIDIA GeForce GT 320M" },
// 0A30 - 0A3F
{ 0x10DE0A30,"GeForce GT 330M" },
{ 0x10DE0A32,"GeForce GT 415" },
{ 0x10DE0A34,"GeForce GT 240M" },
{ 0x10DE0A35,"GeForce GT 325M" },
{ 0x10DE0A38,"Quadro 400" },
{ 0x10DE0A3C,"Quadro FX 880M" },
{ 0x10DE0A30,"NVIDIA GeForce GT 330M" },
{ 0x10DE0A32,"NVIDIA GeForce GT 415" },
{ 0x10DE0A34,"NVIDIA GeForce GT 240M" },
{ 0x10DE0A35,"NVIDIA GeForce GT 325M" },
{ 0x10DE0A38,"NVIDIA Quadro 400" },
{ 0x10DE0A3C,"NVIDIA Quadro FX 880M" },
{ 0x10DE0A3D,"N10P-ES" },
{ 0x10DE0A3F,"GT216-INT" },
// 0A40 - 0A4F
// 0A50 - 0A5F
// 0A60 - 0A6F
{ 0x10DE0A60,"GeForce G210" },
{ 0x10DE0A61,"NVS 2100" },
{ 0x10DE0A62,"GeForce 205" },
{ 0x10DE0A63,"GeForce 310" },
{ 0x10DE0A60,"NVIDIA GeForce G210" },
{ 0x10DE0A61,"NVIDIA NVS 2100" },
{ 0x10DE0A62,"NVIDIA GeForce 205" },
{ 0x10DE0A63,"NVIDIA GeForce 310" },
{ 0x10DE0A64,"ION" },
{ 0x10DE0A65,"GeForce 210" },
{ 0x10DE0A66,"GeForce 310" },
{ 0x10DE0A67,"GeForce 315" },
{ 0x10DE0A68,"GeForce G105M" },
{ 0x10DE0A69,"GeForce G105M" },
{ 0x10DE0A6A,"NVS 2100M" },
{ 0x10DE0A6C,"NVS 3100M" },
{ 0x10DE0A6E,"GeForce 305M" },
{ 0x10DE0A65,"NVIDIA GeForce 210" },
{ 0x10DE0A66,"NVIDIA GeForce 310" },
{ 0x10DE0A67,"NVIDIA GeForce 315" },
{ 0x10DE0A68,"NVIDIA GeForce G105M" },
{ 0x10DE0A69,"NVIDIA GeForce G105M" },
{ 0x10DE0A6A,"NVIDIA NVS 2100M" },
{ 0x10DE0A6C,"NVIDIA NVS 3100M" },
{ 0x10DE0A6E,"NVIDIA GeForce 305M" },
{ 0x10DE0A6F,"ION" },
// 0A70 - 0A7F
{ 0x10DE0A70,"GeForce 310M" },
{ 0x10DE0A71,"GeForce 305M" },
{ 0x10DE0A72,"GeForce 310M" },
{ 0x10DE0A73,"GeForce 305M" },
{ 0x10DE0A74,"GeForce G210M" },
{ 0x10DE0A75,"GeForce G310M" },
{ 0x10DE0A70,"NVIDIA GeForce 310M" },
{ 0x10DE0A71,"NVIDIA GeForce 305M" },
{ 0x10DE0A72,"NVIDIA GeForce 310M" },
{ 0x10DE0A73,"NVIDIA GeForce 305M" },
{ 0x10DE0A74,"NVIDIA GeForce G210M" },
{ 0x10DE0A75,"NVIDIA GeForce G310M" },
{ 0x10DE0A76,"ION" },
{ 0x10DE0A78,"Quadro FX 380 LP" },
{ 0x10DE0A78,"NVIDIA Quadro FX 380 LP" },
// { 0x10DE0A79,"N12M-NS-S" },
{ 0x10DE0A7A,"GeForce 315M" },
{ 0x10DE0A7B,"GeForce 505" },
{ 0x10DE0A7C,"Quadro FX 380M" },
{ 0x10DE0A7A,"NVIDIA GeForce 315M" },
{ 0x10DE0A7B,"NVIDIA GeForce 505" },
{ 0x10DE0A7C,"NVIDIA Quadro FX 380M" },
{ 0x10DE0A7D,"N11M-ES" }, //SUBIDS
{ 0x10DE0A7E,"GT218-INT-S" },
{ 0x10DE0A7F,"GT218-INT-B" },
// 0C80 - 0C8F
// 0C90 - 0C9F
// 0CA0 - 0CAF
{ 0x10DE0CA0,"GeForce GT 330 " },
{ 0x10DE0CA2,"GeForce GT 320" },
{ 0x10DE0CA3,"GeForce GT 240" },
{ 0x10DE0CA4,"GeForce GT 340" },
{ 0x10DE0CA5,"GeForce GT 220" },
{ 0x10DE0CA7,"GeForce GT 330" },
{ 0x10DE0CA8,"GeForce GTS 260M" },
{ 0x10DE0CA9,"GeForce GTS 250M" },
{ 0x10DE0CAC,"GeForce GT 220" },
{ 0x10DE0CA0,"NVIDIA GeForce GT 330 " },
{ 0x10DE0CA2,"NVIDIA GeForce GT 320" },
{ 0x10DE0CA3,"NVIDIA GeForce GT 240" },
{ 0x10DE0CA4,"NVIDIA GeForce GT 340" },
{ 0x10DE0CA5,"NVIDIA GeForce GT 220" },
{ 0x10DE0CA7,"NVIDIA GeForce GT 330" },
{ 0x10DE0CA8,"NVIDIA GeForce GTS 260M" },
{ 0x10DE0CA9,"NVIDIA GeForce GTS 250M" },
{ 0x10DE0CAC,"NVIDIA GeForce GT 220" },
{ 0x10DE0CAD,"N10E-ES" }, // SUBIDS
{ 0x10DE0CAE,"GT215-INT" },
{ 0x10DE0CAF,"GeForce GT 335M" },
{ 0x10DE0CAF,"NVIDIA GeForce GT 335M" },
// 0CB0 - 0CBF
{ 0x10DE0CB0,"GeForce GTS 350M" },
{ 0x10DE0CB1,"GeForce GTS 360M" },
{ 0x10DE0CBC,"Quadro FX 1800M" },
{ 0x10DE0CB0,"NVIDIA GeForce GTS 350M" },
{ 0x10DE0CB1,"NVIDIA GeForce GTS 360M" },
{ 0x10DE0CBC,"NVIDIA Quadro FX 1800M" },
// 0CC0 - 0CCF
// 0CD0 - 0CDF
// 0CE0 - 0CEF
// 0DA0 - 0DAF
// 0DB0 - 0DBF
// 0DC0 - 0DCF
{ 0x10DE0DC0,"GeForce GT 440" },
{ 0x10DE0DC0,"NVIDIA GeForce GT 440" },
// { 0x10DE0DC1,"D12-P1-35" },
// { 0x10DE0DC2,"D12-P1-35" },
{ 0x10DE0DC4,"GeForce GTS 450" },
{ 0x10DE0DC5,"GeForce GTS 450" },
{ 0x10DE0DC6,"GeForce GTS 450" },
{ 0x10DE0DC4,"NVIDIA GeForce GTS 450" },
{ 0x10DE0DC5,"NVIDIA GeForce GTS 450" },
{ 0x10DE0DC6,"NVIDIA GeForce GTS 450" },
// { 0x10DE0DCA,"GF10x" },
// { 0x10DE0DCC,"N12E-GS" },
{ 0x10DE0DCD,"GeForce GT 555M" },
{ 0x10DE0DCE,"GeForce GT 555M" },
{ 0x10DE0DCD,"NVIDIA GeForce GT 555M" },
{ 0x10DE0DCE,"NVIDIA GeForce GT 555M" },
// { 0x10DE0DCF,"N12P-GT-B" },
// 0DD0 - 0DDF
// { 0x10DE0DD0,"N11E-GT" },
{ 0x10DE0DD1,"GeForce GTX 460M" },
{ 0x10DE0DD2,"GeForce GT 445M" },
{ 0x10DE0DD3,"GeForce GT 435M" },
{ 0x10DE0DD6,"GeForce GT 550M" },
{ 0x10DE0DD8,"Quadro 2000" },
{ 0x10DE0DDA,"Quadro 2000M" },
{ 0x10DE0DD1,"NVIDIA GeForce GTX 460M" },
{ 0x10DE0DD2,"NVIDIA GeForce GT 445M" },
{ 0x10DE0DD3,"NVIDIA GeForce GT 435M" },
{ 0x10DE0DD6,"NVIDIA GeForce GT 550M" },
{ 0x10DE0DD8,"NVIDIA Quadro 2000" },
{ 0x10DE0DDA,"NVIDIA Quadro 2000M" },
{ 0x10DE0DDE,"GF106-ES" },
// { 0x10DE0DDF,"GF106-INT" },
// 0DE0 - 0DEF
{ 0x10DE0DE0,"GeForce GT 440" },
{ 0x10DE0DE1,"GeForce GT 430" },
{ 0x10DE0DE2,"GeForce GT 420" },
{ 0x10DE0DE3,"GeForce GT 635M" },
{ 0x10DE0DE4,"GeForce GT 520" },
{ 0x10DE0DE5,"GeForce GT 530" },
{ 0x10DE0DE8,"GeForce GT 620M" },
{ 0x10DE0DE9,"GeForce GT 630M" },
{ 0x10DE0DEA,"GeForce GT 610M" },
{ 0x10DE0DEB,"GeForce GT 555M" },
{ 0x10DE0DEC,"GeForce GT 525M" },
{ 0x10DE0DED,"GeForce GT 520M" },
{ 0x10DE0DEE,"GeForce GT 415M" },
{ 0x10DE0DE0,"NVIDIA GeForce GT 440" },
{ 0x10DE0DE1,"NVIDIA GeForce GT 430" },
{ 0x10DE0DE2,"NVIDIA GeForce GT 420" },
{ 0x10DE0DE3,"NVIDIA GeForce GT 635M" },
{ 0x10DE0DE4,"NVIDIA GeForce GT 520" },
{ 0x10DE0DE5,"NVIDIA GeForce GT 530" },
{ 0x10DE0DE8,"NVIDIA GeForce GT 620M" },
{ 0x10DE0DE9,"NVIDIA GeForce GT 630M" },
{ 0x10DE0DEA,"NVIDIA GeForce GT 610M" },
{ 0x10DE0DEB,"NVIDIA GeForce GT 555M" },
{ 0x10DE0DEC,"NVIDIA GeForce GT 525M" },
{ 0x10DE0DED,"NVIDIA GeForce GT 520M" },
{ 0x10DE0DEE,"NVIDIA GeForce GT 415M" },
{ 0x10DE0DEF,"N13P-NS1-A1" },
// 0DF0 - 0DFF
{ 0x10DE0DF0,"GeForce GT 425M" },
{ 0x10DE0DF1,"GeForce GT 420M" },
{ 0x10DE0DF2,"GeForce GT 435M" },
{ 0x10DE0DF3,"GeForce GT 420M" },
{ 0x10DE0DF4,"GeForce GT 540M" },
{ 0x10DE0DF5,"GeForce GT 525M" },
{ 0x10DE0DF6,"GeForce GT 550M" },
{ 0x10DE0DF7,"GeForce GT 520M" },
{ 0x10DE0DF8,"Quadro 600" },
{ 0x10DE0DF9,"Quadro 500M" },
{ 0x10DE0DFA,"Quadro 1000M" },
{ 0x10DE0DFC,"NVS 5200M" },
{ 0x10DE0DF0,"NVIDIA GeForce GT 425M" },
{ 0x10DE0DF1,"NVIDIA GeForce GT 420M" },
{ 0x10DE0DF2,"NVIDIA GeForce GT 435M" },
{ 0x10DE0DF3,"NVIDIA GeForce GT 420M" },
{ 0x10DE0DF4,"NVIDIA GeForce GT 540M" },
{ 0x10DE0DF5,"NVIDIA GeForce GT 525M" },
{ 0x10DE0DF6,"NVIDIA GeForce GT 550M" },
{ 0x10DE0DF7,"NVIDIA GeForce GT 520M" },
{ 0x10DE0DF8,"NVIDIA Quadro 600" },
{ 0x10DE0DF9,"NVIDIA Quadro 500M" },
{ 0x10DE0DFA,"NVIDIA Quadro 1000M" },
{ 0x10DE0DFC,"NVIDIA NVS 5200M" },
{ 0x10DE0DFE,"GF108 ES" },
// { 0x10DE0DFF,"GF108 INT" },
// 0E00 - 0E0F
// 0E10 - 0E1F
// 0E20 - 0E2F
{ 0x10DE0E21,"D12U-25" },
{ 0x10DE0E22,"GeForce GTX 460" },
{ 0x10DE0E23,"GeForce GTX 460 SE" },
{ 0x10DE0E24,"GeForce GTX 460" },
{ 0x10DE0E22,"NVIDIA GeForce GTX 460" },
{ 0x10DE0E23,"NVIDIA GeForce GTX 460 SE" },
{ 0x10DE0E24,"NVIDIA GeForce GTX 460" },
// { 0x10DE0E25,"D12U-50" },
{ 0x10DE0E28,"GeForce GTX 460" },
{ 0x10DE0E28,"NVIDIA GeForce GTX 460" },
// 0E30 - 0E3F
{ 0x10DE0E30,"GeForce GTX 470M" },
{ 0x10DE0E31,"GeForce GTX 485M" },
{ 0x10DE0E30,"NVIDIA GeForce GTX 470M" },
{ 0x10DE0E31,"NVIDIA GeForce GTX 485M" },
// { 0x10DE0E32,"N12E-GT" },
{ 0x10DE0E38,"GF104GL" },
{ 0x10DE0E3A,"Quadro 3000M" },
{ 0x10DE0E3B,"Quadro 4000M" },
{ 0x10DE0E3A,"NVIDIA Quadro 3000M" },
{ 0x10DE0E3B,"NVIDIA Quadro 4000M" },
// { 0x10DE0E3E,"GF104-ES" },
// { 0x10DE0E3F,"GF104-INT" },
// 0E40 - 0E4F
// 0EE0 - 0EEF
// 0EF0 - 0EFF
// 0F00 - 0F0F
{ 0x10DE0F00,"GeForce GT 630" },
{ 0x10DE0F01,"GeForce GT 620" },
{ 0x10DE0F00,"NVIDIA GeForce GT 630" },
{ 0x10DE0F01,"NVIDIA GeForce GT 620" },
// 0F10 - 0F1F
// 0F20 - 0F2F
// 0F30 - 0F3F
// 0FA0 - 0FAF
// 0FB0 - 0FBF
// 0FC0 - 0FCF
{ 0x10DE0FC0,"GeForce GT 640" },
{ 0x10DE0FC1,"GeForce GT 640" },
{ 0x10DE0FC2,"GeForce GT 630" },
{ 0x10DE0FC6,"GeForce GTX 650" },
{ 0x10DE0FCD,"GeForce GT 755M" },
{ 0x10DE0FC0,"NVIDIA GeForce GT 640" },
{ 0x10DE0FC1,"NVIDIA GeForce GT 640" },
{ 0x10DE0FC2,"NVIDIA GeForce GT 630" },
{ 0x10DE0FC6,"NVIDIA GeForce GTX 650" },
{ 0x10DE0FCD,"NVIDIA GeForce GT 755M" },
// 0FD0 - 0FDF
{ 0x10DE0FD1,"GeForce GT 650M" },
{ 0x10DE0FD2,"GeForce GT 640M" },
{ 0x10DE0FD3,"GeForce GT 640M LE" },
{ 0x10DE0FD4,"GeForce GTX 660M" },
{ 0x10DE0FD5,"GeForce GT 650M" },
{ 0x10DE0FD8,"GeForce GT 640M" },
{ 0x10DE0FD9,"GeForce GT 645M" },
{ 0x10DE0FD1,"NVIDIA GeForce GT 650M" },
{ 0x10DE0FD2,"NVIDIA GeForce GT 640M" },
{ 0x10DE0FD3,"NVIDIA GeForce GT 640M LE" },
{ 0x10DE0FD4,"NVIDIA GeForce GTX 660M" },
{ 0x10DE0FD5,"NVIDIA GeForce GT 650M" },
{ 0x10DE0FD8,"NVIDIA GeForce GT 640M" },
{ 0x10DE0FD9,"NVIDIA GeForce GT 645M" },
{ 0x10DE0FDB,"GK107-ESP-A1" },
{ 0x10DE0FDF,"GeForce GT 740M" },
{ 0x10DE0FDF,"NVIDIA GeForce GT 740M" },
// 0FE0 - 0FEF
{ 0x10DE0FE0,"GeForce GTX 660M" },
{ 0x10DE0FE1,"GeForce GT 730M" },
{ 0x10DE0FE3,"GeForce GT 745M" },
{ 0x10DE0FE4,"GeForce GT 750M" },
{ 0x10DE0FE0,"NVIDIA GeForce GTX 660M" },
{ 0x10DE0FE1,"NVIDIA GeForce GT 730M" },
{ 0x10DE0FE3,"NVIDIA GeForce GT 745M" },
{ 0x10DE0FE4,"NVIDIA GeForce GT 750M" },
// 0FF0 - 0FFF
{ 0x10DE0FF2,"VGX K1" },
{ 0x10DE0FF8,"Quadro K500M" },
{ 0x10DE0FF9,"Quadro K2000D" },
{ 0x10DE0FFA,"Quadro K600" },
{ 0x10DE0FFB,"Quadro K2000M" },
{ 0x10DE0FFC,"Quadro K1000M" },
{ 0x10DE0FFD,"NVS 510" },
{ 0x10DE0FFE,"Quadro K2000" },
{ 0x10DE0FFF,"Quadro 410" },
{ 0x10DE0FF8,"NVIDIA Quadro K500M" },
{ 0x10DE0FF9,"NVIDIA Quadro K2000D" },
{ 0x10DE0FFA,"NVIDIA Quadro K600" },
{ 0x10DE0FFB,"NVIDIA Quadro K2000M" },
{ 0x10DE0FFC,"NVIDIA Quadro K1000M" },
{ 0x10DE0FFD,"NVIDIA NVS 510" },
{ 0x10DE0FFE,"NVIDIA Quadro K2000" },
{ 0x10DE0FFF,"NVIDIA Quadro 410" },
// 1000 - 100F
{ 0x10DE1003,"GeForce GTX Titan LE" },
{ 0x10DE1004,"GeForce GTX 780" },
{ 0x10DE1005,"GeForce GTX Titan" },
{ 0x10DE100A,"GeForce GTX 780 Ti" },
{ 0x10DE1003,"NVIDIA GeForce GTX Titan LE" },
{ 0x10DE1004,"NVIDIA GeForce GTX 780" },
{ 0x10DE1005,"NVIDIA GeForce GTX Titan" },
{ 0x10DE100A,"NVIDIA GeForce GTX 780 Ti" },
// 1010 - 101F
{ 0x10DE101F,"Tesla K20" },
{ 0x10DE101F,"NVIDIA Tesla K20" },
// 1020 - 102F
{ 0x10DE1020,"Tesla K20X" },
{ 0x10DE1021,"Tesla K20Xm" },
{ 0x10DE1022,"Tesla K20c" },
{ 0x10DE1026,"Tesla K20s" },
{ 0x10DE1028,"Tesla K20m" },
{ 0x10DE1020,"NVIDIA Tesla K20X" },
{ 0x10DE1021,"NVIDIA Tesla K20Xm" },
{ 0x10DE1022,"NVIDIA Tesla K20c" },
{ 0x10DE1026,"NVIDIA Tesla K20s" },
{ 0x10DE1028,"NVIDIA Tesla K20m" },
// 1030 - 103F
// 1040 - 104F
{ 0x10DE1040,"GeForce GT 520" },
{ 0x10DE1040,"NVIDIA GeForce GT 520" },
// { 0x10DE1041,"D13M1-45" },
{ 0x10DE1042,"GeForce 510" },
{ 0x10DE1048,"GeForce 605" },
{ 0x10DE1049,"GeForce GT 620" },
{ 0x10DE104A,"GeForce GT 610" },
{ 0x10DE104B,"GeForce GT 625 (OEM)" },
{ 0x10DE1042,"NVIDIA GeForce 510" },
{ 0x10DE1048,"NVIDIA GeForce 605" },
{ 0x10DE1049,"NVIDIA GeForce GT 620" },
{ 0x10DE104A,"NVIDIA GeForce GT 610" },
{ 0x10DE104B,"NVIDIA GeForce GT 625 (OEM)" },
// 1050 - 105F
{ 0x10DE1050,"GeForce GT 520M" },
{ 0x10DE1051,"GeForce GT 520MX" },
{ 0x10DE1052,"GeForce GT 520M" },
{ 0x10DE1054,"GeForce GT 410M" },
{ 0x10DE1055,"GeForce 410M" },
{ 0x10DE1056,"Quadro NVS 4200M" },
{ 0x10DE1057,"Quadro NVS 4200M" },
{ 0x10DE1058,"GeForce GT 610M" },
{ 0x10DE1059,"GeForce 610M" },
{ 0x10DE105A,"GeForce 610M" },
{ 0x10DE105B,"GeForce 705A" },
{ 0x10DE1050,"NVIDIA GeForce GT 520M" },
{ 0x10DE1051,"NVIDIA GeForce GT 520MX" },
{ 0x10DE1052,"NVIDIA GeForce GT 520M" },
{ 0x10DE1054,"NVIDIA GeForce GT 410M" },
{ 0x10DE1055,"NVIDIA GeForce 410M" },
{ 0x10DE1056,"NVIDIA Quadro NVS 4200M" },
{ 0x10DE1057,"NVIDIA Quadro NVS 4200M" },
{ 0x10DE1058,"NVIDIA GeForce GT 610M" },
{ 0x10DE1059,"NVIDIA GeForce 610M" },
{ 0x10DE105A,"NVIDIA GeForce 610M" },
{ 0x10DE105B,"NVIDIA GeForce 705A" },
// 1060 - 106F
// 1070 - 107F
{ 0x10DE107C,"Quadro NVS 315" },
{ 0x10DE107D,"Quadro NVS 310" },
{ 0x10DE107C,"NVIDIA Quadro NVS 315" },
{ 0x10DE107D,"NVIDIA Quadro NVS 310" },
// { 0x10DE107E,"GF119-INT" },
{ 0x10DE107F,"GF119-ES" },
// 1080 - 108F
{ 0x10DE1080,"GeForce GTX 580" },
{ 0x10DE1081,"GeForce GTX 570" },
{ 0x10DE1082,"GeForce GTX 560 Ti" },
{ 0x10DE1080,"NVIDIA GeForce GTX 580" },
{ 0x10DE1081,"NVIDIA GeForce GTX 570" },
{ 0x10DE1082,"NVIDIA GeForce GTX 560 Ti" },
{ 0x10DE1083,"D13U" },
{ 0x10DE1084,"GeForce GTX 560" },
{ 0x10DE1086,"GeForce GTX 570 HD" },
{ 0x10DE1087,"GeForce GTX 560 Ti-448" },
{ 0x10DE1088,"GeForce GTX 590" },
{ 0x10DE1089,"GeForce GTX 580" },
{ 0x10DE108B,"GeForce GTX 590" },
{ 0x10DE1084,"NVIDIA GeForce GTX 560" },
{ 0x10DE1086,"NVIDIA GeForce GTX 570 HD" },
{ 0x10DE1087,"NVIDIA GeForce GTX 560 Ti-448" },
{ 0x10DE1088,"NVIDIA GeForce GTX 590" },
{ 0x10DE1089,"NVIDIA GeForce GTX 580" },
{ 0x10DE108B,"NVIDIA GeForce GTX 590" },
// { 0x10DE108C,"D13U" },
{ 0x10DE108E,"Tesla C2090" },
{ 0x10DE108E,"NVIDIA Tesla C2090" },
// 1090 - 109F
{ 0x10DE1091,"Tesla M2090" }, // X2090
{ 0x10DE1094,"Tesla M2075" },
{ 0x10DE1096,"Tesla C2075" },
{ 0x10DE1091,"NVIDIA Tesla M2090" }, // X2090
{ 0x10DE1094,"NVIDIA Tesla M2075" },
{ 0x10DE1096,"NVIDIA Tesla C2075" },
{ 0x10DE1098,"D13U" },
{ 0x10DE109A,"Quadro 5010M" },
{ 0x10DE109B,"Quadro 7000" },
{ 0x10DE109A,"NVIDIA Quadro 5010M" },
{ 0x10DE109B,"NVIDIA Quadro 7000" },
// 10A0 - 10AF
// 10B0 - 10BF
// 10C0 - 10CF
{ 0x10DE10C0,"GeForce 9300 GS" },
{ 0x10DE10C3,"GeForce 8400 GS" },
{ 0x10DE10C0,"NVIDIA GeForce 9300 GS" },
{ 0x10DE10C3,"NVIDIA GeForce 8400 GS" },
{ 0x10DE10C4,"ION" },
{ 0x10DE10C5,"GeForce 405" },
{ 0x10DE10C5,"NVIDIA GeForce 405" },
// 10D0 - 10DF
{ 0x10DE10D8,"Quadro NVS 300" },
{ 0x10DE10D8,"NVIDIA Quadro NVS 300" },
// 10E0 - 10EF
// 10F0 - 10FF
// 1100 - 110F
// 1120 - 112F
// 1130 - 113F
// 1140 - 114F
{ 0x10DE1140,"GeForce GT 610M" },
{ 0x10DE1141,"GeForce 610M" },
{ 0x10DE1142,"GeForce 620M" },
{ 0x10DE1140,"NVIDIA GeForce GT 610M" },
{ 0x10DE1141,"NVIDIA GeForce 610M" },
{ 0x10DE1142,"NVIDIA GeForce 620M" },
// { 0x10DE1143,"N13P-GV" },
// { 0x10DE1144,"GF117" },
// { 0x10DE1145,"GF117" },
// 1160 - 116F
// 1170 - 117F
// 1180 - 118F
{ 0x10DE1180,"GeForce GTX 680" },
{ 0x10DE1182,"GeForce GTX 760 Ti" },
{ 0x10DE1183,"GeForce GTX 660 Ti" },
{ 0x10DE1184,"GeForce GTX 770" },
{ 0x10DE1185,"GeForce GTX 660" },
{ 0x10DE1187,"GeForce GTX 760" },
{ 0x10DE1188,"GeForce GTX 690" },
{ 0x10DE1189,"GeForce GTX 670" },
{ 0x10DE1180,"NVIDIA GeForce GTX 680" },
{ 0x10DE1182,"NVIDIA GeForce GTX 760 Ti" },
{ 0x10DE1183,"NVIDIA GeForce GTX 660 Ti" },
{ 0x10DE1184,"NVIDIA GeForce GTX 770" },
{ 0x10DE1185,"NVIDIA GeForce GTX 660" },
{ 0x10DE1187,"NVIDIA GeForce GTX 760" },
{ 0x10DE1188,"NVIDIA GeForce GTX 690" },
{ 0x10DE1189,"NVIDIA GeForce GTX 670" },
{ 0x10DE118A,"GRID K520" },
{ 0x10DE118B,"GRID K200" }, // GRID K2 GeForce USM
{ 0x10DE118E,"GeForce GTX 760 (192-bit)" },
{ 0x10DE118F,"Tesla K10" },
{ 0x10DE118E,"NVIDIA GeForce GTX 760 (192-bit)" },
{ 0x10DE118F,"NVIDIA Tesla K10" },
// 1190 - 119F
{ 0x10DE1192,"GeForce GK104" },
{ 0x10DE1193,"GeForce GTX 760 Ti" },
{ 0x10DE1198,"GeForce GTX 880M" },
{ 0x10DE1199,"GeForce GTX 870M" },
{ 0x10DE119a,"GeForce GTX 860M" },
{ 0x10DE119d,"GeForce GTX 775M" }, // Mac Edition
{ 0x10DE119e,"GeForce GTX 780M" }, // Mac Edition
{ 0x10DE119F,"GeForce GTX 780M" },
{ 0x10DE1192,"NVIDIA GeForce GK104" },
{ 0x10DE1193,"NVIDIA GeForce GTX 760 Ti" },
{ 0x10DE1198,"NVIDIA GeForce GTX 880M" },
{ 0x10DE1199,"NVIDIA GeForce GTX 870M" },
{ 0x10DE119a,"NVIDIA GeForce GTX 860M" },
{ 0x10DE119d,"NVIDIA GeForce GTX 775M" }, // Mac Edition
{ 0x10DE119e,"NVIDIA GeForce GTX 780M" }, // Mac Edition
{ 0x10DE119F,"NVIDIA GeForce GTX 780M" },
// 11A0 - 11AF
{ 0x10DE11A0,"GeForce GTX 680M" },
{ 0x10DE11A1,"GeForce GTX 670MX" },
{ 0x10DE11A2,"GeForce GTX 675MX" }, // Mac Edition
{ 0x10DE11A3,"GeForce GTX 680MX" },
{ 0x10DE11A7,"GeForce GTX 675MX" },
{ 0x10DE11A0,"NVIDIA GeForce GTX 680M" },
{ 0x10DE11A1,"NVIDIA GeForce GTX 670MX" },
{ 0x10DE11A2,"NVIDIA GeForce GTX 675MX" }, // Mac Edition
{ 0x10DE11A3,"NVIDIA GeForce GTX 680MX" },
{ 0x10DE11A7,"NVIDIA GeForce GTX 675MX" },
// 11B0 - 11BF
{ 0x10DE11B0,"GRID K240Q" }, // K260Q vGPU
{ 0x10DE11B1,"GRID K2 Tesla USM" },
{ 0x10DE11B6,"Quadro K3100M" },
{ 0x10DE11B7,"Quadro K4100M" },
{ 0x10DE11B8,"Quadro K5100M" },
{ 0x10DE11BA,"Quadro K5000" },
{ 0x10DE11BB,"Quadro 4100" },
{ 0x10DE11BC,"Quadro K5000M" },
{ 0x10DE11BD,"Quadro K4000M" },
{ 0x10DE11BE,"Quadro K3000M" },
{ 0x10DE11B6,"NVIDIA Quadro K3100M" },
{ 0x10DE11B7,"NVIDIA Quadro K4100M" },
{ 0x10DE11B8,"NVIDIA Quadro K5100M" },
{ 0x10DE11BA,"NVIDIA Quadro K5000" },
{ 0x10DE11BB,"NVIDIA Quadro 4100" },
{ 0x10DE11BC,"NVIDIA Quadro K5000M" },
{ 0x10DE11BD,"NVIDIA Quadro K4000M" },
{ 0x10DE11BE,"NVIDIA Quadro K3000M" },
{ 0x10DE11BF,"VGX K2" },
// 11C0 - 11CF
{ 0x10DE11C0,"GeForce GTX 660" },
{ 0x10DE11C2,"GeForce GTX 650 Ti BOOST" },
{ 0x10DE11C3,"GeForce GTX 650 Ti" },
{ 0x10DE11C4,"GeForce GTX 645" },
{ 0x10DE11C6,"GeForce GTX 650 Ti" },
{ 0x10DE11C7,"GeForce GTX 750 Ti" },
{ 0x10DE11C8,"GeForce GTX 650 OEM" },
{ 0x10DE11C0,"NVIDIA GeForce GTX 660" },
{ 0x10DE11C2,"NVIDIA GeForce GTX 650 Ti BOOST" },
{ 0x10DE11C3,"NVIDIA GeForce GTX 650 Ti" },
{ 0x10DE11C4,"NVIDIA GeForce GTX 645" },
{ 0x10DE11C6,"NVIDIA GeForce GTX 650 Ti" },
{ 0x10DE11C7,"NVIDIA GeForce GTX 750 Ti" },
{ 0x10DE11C8,"NVIDIA GeForce GTX 650 OEM" },
// 11D0 - 11DF
{ 0x10DE11D0,"GK106-INT353" },
// 11E0 - 11EF
{ 0x10DE11E0,"GeForce GTX 770M" },
{ 0x10DE11E0,"NVIDIA GeForce GTX 770M" },
{ 0x10DE11E1,"N14E-GE-B-A1" },
{ 0x10DE11E2,"GeForce GTX 765M" },
{ 0x10DE11E3,"GeForce GTX 760M" },
{ 0x10DE11E2,"NVIDIA GeForce GTX 765M" },
{ 0x10DE11E3,"NVIDIA GeForce GTX 760M" },
// 11F0 - 11FF
{ 0x10DE11FA,"Quadro K4000" },
{ 0x10DE11FC,"Quadro 2100M" },
{ 0x10DE11FA,"NVIDIA Quadro K4000" },
{ 0x10DE11FC,"NVIDIA Quadro 2100M" },
// 1200 - 120F
{ 0x10DE1200,"GeForce GTX 560 Ti" },
{ 0x10DE1201,"GeForce GTX 560" },
{ 0x10DE1202,"GeForce GTX 560 Ti" },
{ 0x10DE1203,"GeForce GTX 460 SE v2" },
{ 0x10DE1205,"GeForce GTX 460 v2" },
{ 0x10DE1206,"GeForce GTX 555" },
{ 0x10DE1207,"GeForce GT 645" },
{ 0x10DE1208,"GeForce GTX 560 SE" },
{ 0x10DE1210,"GeForce GTX 570M" },
{ 0x10DE1211,"GeForce GTX 580M" },
{ 0x10DE1212,"GeForce GTX 675M" },
{ 0x10DE1213,"GeForce GTX 670M" },
{ 0x10DE1200,"NVIDIA GeForce GTX 560 Ti" },
{ 0x10DE1201,"NVIDIA GeForce GTX 560" },
{ 0x10DE1202,"NVIDIA GeForce GTX 560 Ti" },
{ 0x10DE1203,"NVIDIA GeForce GTX 460 SE v2" },
{ 0x10DE1205,"NVIDIA GeForce GTX 460 v2" },
{ 0x10DE1206,"NVIDIA GeForce GTX 555" },
{ 0x10DE1207,"NVIDIA GeForce GT 645" },
{ 0x10DE1208,"NVIDIA GeForce GTX 560 SE" },
{ 0x10DE1210,"NVIDIA GeForce GTX 570M" },
{ 0x10DE1211,"NVIDIA GeForce GTX 580M" },
{ 0x10DE1212,"NVIDIA GeForce GTX 675M" },
{ 0x10DE1213,"NVIDIA GeForce GTX 670M" },
//{ 0x10DE121F,"GF114-INT" },
{ 0x10DE1240,"GeForce GT 620M" },
{ 0x10DE1241,"GeForce GT 545" },
{ 0x10DE1243,"GeForce GT 545" },
{ 0x10DE1244,"GeForce GTX 550 Ti" },
{ 0x10DE1245,"GeForce GTS 450" },
{ 0x10DE1246,"GeForce GT 550M" },
{ 0x10DE1247,"GeForce GT 555M" },
{ 0x10DE1248,"GeForce GT 555M" },
{ 0x10DE1249,"GeForce GTS 450" },
{ 0x10DE124B,"GeForce GT 640" },
{ 0x10DE124D,"GeForce GT 555M" },
{ 0x10DE1240,"NVIDIA GeForce GT 620M" },
{ 0x10DE1241,"NVIDIA GeForce GT 545" },
{ 0x10DE1243,"NVIDIA GeForce GT 545" },
{ 0x10DE1244,"NVIDIA GeForce GTX 550 Ti" },
{ 0x10DE1245,"NVIDIA GeForce GTS 450" },
{ 0x10DE1246,"NVIDIA GeForce GT 550M" },
{ 0x10DE1247,"NVIDIA GeForce GT 555M" },
{ 0x10DE1248,"NVIDIA GeForce GT 555M" },
{ 0x10DE1249,"NVIDIA GeForce GTS 450" },
{ 0x10DE124B,"NVIDIA GeForce GT 640" },
{ 0x10DE124D,"NVIDIA GeForce GT 555M" },
{ 0x10DE1250,"GF116-INT" },
{ 0x10DE1251,"GeForce GTX 560M" },
{ 0x10DE1251,"NVIDIA GeForce GTX 560M" },
// 1260 - 126F
// 1270 - 127F
// 1280 - 128F
{ 0x10DE1280,"GeForce GT 635" },
{ 0x10DE1281,"GeForce GT 710" },
{ 0x10DE1282,"GeForce GT 640" },
{ 0x10DE1284,"GeForce GT 630" },
{ 0x10DE1280,"NVIDIA GeForce GT 635" },
{ 0x10DE1281,"NVIDIA GeForce GT 710" },
{ 0x10DE1282,"NVIDIA GeForce GT 640" },
{ 0x10DE1284,"NVIDIA GeForce GT 630" },
// 1290 - 129F
{ 0x10DE1290,"GeForce GT 730M" },
{ 0x10DE1291,"GeForce GT 735M" },
{ 0x10DE1292,"GeForce GT 740M" },
{ 0x10DE1293,"GeForce GT 730M" },
{ 0x10DE1294,"GeForce GT 740M" },
{ 0x10DE1295,"GeForce GT 710M" },
{ 0x10DE1296,"GeForce 825M" }, // GK208M
{ 0x10DE1298,"GeForce GT 720M" },
{ 0x10DE1290,"NVIDIA GeForce GT 730M" },
{ 0x10DE1291,"NVIDIA GeForce GT 735M" },
{ 0x10DE1292,"NVIDIA GeForce GT 740M" },
{ 0x10DE1293,"NVIDIA GeForce GT 730M" },
{ 0x10DE1294,"NVIDIA GeForce GT 740M" },
{ 0x10DE1295,"NVIDIA GeForce GT 710M" },
{ 0x10DE1296,"NVIDIA GeForce 825M" }, // GK208M
{ 0x10DE1298,"NVIDIA GeForce GT 720M" },
// 12A0 - 12AF
//{ 0x10DE12A0,"GeForce GT ???" },
//{ 0x10DE12A0,"NVIDIA GeForce GT ???" },
{ 0x10DE12AF,"GK208-INT" },
{ 0x10DE12B0,"GK208-CS-Q" },
{ 0x10DE12B9,"Quadro K610M" },
{ 0x10DE12BA,"Quadro K510M" },
{ 0x10DE12B9,"NVIDIA Quadro K610M" },
{ 0x10DE12BA,"NVIDIA Quadro K510M" },
// 12B0 - 12BF
// 12C0 - 12CF
// 12D0 - 12DF
// 12E0 - 12EF
// 12F0 - 12FF
{ 0x10DE1340,"GeForce 830M" },
{ 0x10DE1341,"GeForce 840M" },
{ 0x10DE1380,"GeForce GTX 750 Ti" },
{ 0x10DE1381,"GeForce GTX 750" },
{ 0x10DE1390,"GeForce 845M" },
{ 0x10DE1391,"GeForce GTX 850M" },
{ 0x10DE1392,"GeForce GTX 860M" },
{ 0x10DE1393,"GeForce 840M" }
{ 0x10DE1340,"NVIDIA GeForce 830M" },
{ 0x10DE1341,"NVIDIA GeForce 840M" },
{ 0x10DE1380,"NVIDIA GeForce GTX 750 Ti" },
{ 0x10DE1381,"NVIDIA GeForce GTX 750" },
{ 0x10DE1390,"NVIDIA GeForce 845M" },
{ 0x10DE1391,"NVIDIA GeForce GTX 850M" },
{ 0x10DE1392,"NVIDIA GeForce GTX 860M" },
{ 0x10DE1393,"NVIDIA GeForce 840M" }
};
static nvidia_card_info_t nvidia_card_exceptions[] = {
}
//ErmaC added selector for Chameleon "old" style in System Profiler
if (getBoolForKey(kNvidiaGeneric, &showGeneric, &bootInfo->chameleonConfig)) {
verbose("\tNvidiaGeneric = Yes\n");
//if (getBoolForKey(kNvidiaGeneric, &showGeneric, &bootInfo->chameleonConfig)) {
//verbose("\tNvidiaGeneric = Yes\n");
for (i = 1; i < (sizeof(nvidia_card_generic) / sizeof(nvidia_card_generic[0])); i++) {
if (nvidia_card_generic[i].device == device_id) {
return nvidia_card_generic[i].name;
}
}
return nvidia_card_generic[0].name;
}
//return nvidia_card_generic[0].name;
//}
// Then check the exceptions table
if (subsys_id) {
for (i = 0; i < (sizeof(nvidia_card_exceptions) / sizeof(nvidia_card_exceptions[0])); i++) {
if ((nvidia_card_exceptions[i].device == device_id) && (nvidia_card_exceptions[i].subdev == subsys_id)){
return nvidia_card_exceptions[i].name;
//return nvidia_card_exceptions[i].name;
return nvidia_card_generic[i].name;
break;
}
}
}
}
verbose("---------------------------------------------\n");
verbose("------------ NVIDIA DEVICE INFO --------------\n");
verbose("---------------------------------------------\n");
verbose("%s %dMB NV%02x [%04x:%04x]-[%04x:%04x] :: %s device number: %d\n",
model, (uint32_t)(videoRam / 1024 / 1024),
(REG32(0) >> 20) & 0x1ff, nvda_dev->vendor_id, nvda_dev->device_id,
branches/Chimera/i386/libsaio/ati.c
145145
146146
147147
148
149
150
151
152
148
149
150
151
152
153153
154
155
156
157
158
159
160
154
155
156
157
158
159
160
161161
162
163
164
165
162
163
164
165
166166
167
168
169
170
171
172
167
168
169
170
171
172
173173
174
175
176
177
178
179
180
181
182
174
175
176
177
178
179
180
181
182
183183
184
185
186
187
184
185
186
187
188188
189
190
191
192
193
189
190
191
192
193
194194
195
196
197
195
196
197
198198
199
199
200200
201201
202202
203203
204204
205205
206
207
206
207
208208
209209
210210
......
218218
219219
220220
221
222
221
222
223223
224224
225225
226226
227
227
228228
229229
230230
......
235235
236236
237237
238
239
240
238
239
240
241241
242
243
244
245
246
247
248
242
243
244
245
246
247
248
249249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275275
276
277
278
279
280
276
277
278
279
280
281281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298298
299299
300300
......
309309
310310
311311
312
313
314
312
313
314
315315
316
316
317317
318318
319
319
320320
321321
322322
323323
324
324
325325
326
327
328
326
327
328
329329
330330
331331
......
345345
346346
347347
348
349
350
348
349
350
351351
352
353
354
355
356
357
358
359
360
361
352
353
354
355
356
357
358
359
360
361
362362
363
364
365
366
363
364
365
366
367367
368
368
369369
370
371
372
373
374
370
371
372
373
374
375375
376
377
376
377
378378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396396
397
398
399
400
401
397
398
399
400
401
402402
403
404
405
406
407
408
409
410
411
412
413
414
403
404
405
406
407
408
409
410
411
412
413
414
415415
416416
417
418
419
420
421
422
423
417
418
419
420
421
422
423
424424
425
426
427
428
429
425
426
427
428
429
430430
431
432
433
434
435
431
432
433
434
435
436436
437
438
439
437
438
439
440440
441
442
443
444
445
446
447
448
449
450
451
452
441
442
443
444
445
446
447
448
449
450
451
452
453453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494494
495
496
497
498
499
500
501
502
503
504
495
496
497
498
499
500
501
502
503
504
505505
506
507
508
509
510
511
506
507
508
509
510
511
512512
513
514
515
516
517
513
514
515
516
517
518518
519
520
521
522
519
520
521
522
523523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548548
549
550
551
549
550
551
552552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573573
574
575
576
577
578
579
574
575
576
577
578
579
580580
581
582
583
584
585
586
581
582
583
584
585
586
587587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640640
641
642
643
644
645
646
641
642
643
644
645
646
647647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714714
715715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730730
731
732
733
734
735
736
737
738
739
740
741
731
732
733
734
735
736
737
738
739
740
741
742742
743
744
745
743
744
745
746746
747
748
749
750
751
752
753
754
755
756
757
747
748
749
750
751
752
753
754
755
756
757
758758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794794
795
796
797
798
795
796
797
798
799799
800
801
802
803
804
805
806
807
800
801
802
803
804
805
806
807
808808
809
810
811
812
813
814
815
809
810
811
812
813
814
815
816816
817
818
819
820
821
822
823
824
825
826
827
828
829
817
818
819
820
821
822
823
824
825
826
827
828
829
830830
831
832
833
834
831
832
833
834
835835
836
837
838
839
836
837
838
839
840840
841
842
843
844
845
846
847
848
849
850
841
842
843
844
845
846
847
848
849
850
851851
852
853
854
855
856
857
852
853
854
855
856
857
858858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875875
876876
877877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924924
925
926
927
928
929
930
931
932
925
926
927
928
929
930
931
932
933933
934
935
936
937
938
939
940
941
942
943
944
945
946
934
935
936
937
938
939
940
941
942
943
944
945
946
947947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965965
966
967
968
969
970
971
966
967
968
969
970
971
972972
973
974
975
976
977
978
979
980
981
982
983
973
974
975
976
977
978
979
980
981
982
983
984984
985
986
987
985
986
987
988988
989
990
989
990
991991
992
993
994
995
996
992
993
994
995
996
997997
998
998
999999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
10691069
10701070
10711071
1072
1073
1074
1072
1073
1074
10751075
1076
1077
1078
1079
1080
1076
1077
1078
1079
1080
10811081
1082
1082
10831083
1084
1084
10851085
1086
1086
10871087
1088
1089
1090
1091
1088
1089
1090
1091
10921092
1093
1093
10941094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
11071107
1108
1109
1108
1109
11101110
1111
1112
1113
1114
1115
1116
1117
1118
1111
1112
1113
1114
1115
1116
1117
1118
11191119
1120
1121
1122
1123
1124
1125
1126
1120
1121
1122
1123
1124
1125
1126
11271127
1128
1129
1130
1128
1129
1130
11311131
1132
1133
1132
1133
11341134
1135
1136
1137
1135
1136
1137
11381138
1139
1140
1141
1139
1140
1141
11421142
1143
1144
1145
1146
1143
1144
1145
1146
11471147
1148
1148
11491149
1150
1150
11511151
1152
1152
11531153
1154
1154
11551155
1156
1156
11571157
1158
1159
1160
1161
1162
1158
1159
1160
1161
1162
11631163
1164
1165
1166
1164
1165
1166
11671167
1168
1169
1168
1169
11701170
1171
1171
11721172
1173
1174
1175
1173
1174
1175
11761176
1177
1177
11781178
1179
1179
11801180
1181
1181
11821182
1183
1184
1183
1184
11851185
1186
1186
11871187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
12011206
1202
1203
1204
1205
1207
1208
1209
12061210
1207
1208
1209
1211
1212
12101213
1211
1212
1214
1215
12131216
1214
1215
1217
12161218
1217
1219
12181220
1219
1220
12211221
1222
1222
12231223
12241224
12251225
......
12291229
12301230
12311231
1232
1233
1234
1235
1236
1237
1238
1239
1232
1233
1234
1235
1236
1237
1238
1239
12401240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
12521252
1253
1254
1253
1254
12551255
1256
1257
1256
1257
12581258
1259
1260
1259
1260
12611261
1262
1262
12631263
1264
1265
1266
1267
1268
1269
1270
1271
1264
1265
1266
1267
1268
1269
1270
1271
12721272
1273
1274
1275
1276
1273
1274
1275
1276
12771277
1278
1279
1280
1281
1282
1283
1284
1285
1278
1279
1280
1281
1282
1283
1284
1285
12861286
1287
1288
1287
1288
12891289
1290
1291
1292
1293
1294
1295
1296
1290
1291
1292
1293
1294
1295
1296
12971297
1298
1299
1300
1298
1299
1300
13011301
1302
1303
1302
1303
13041304
1305
1306
1307
1308
1309
1310
1305
1306
1307
1308
1309
1310
13111311
1312
1312
13131313
1314
1314
13151315
1316
1317
1318
1316
1317
1318
13191319
1320
1320
13211321
1322
1323
1324
1325
1326
1322
1323
1324
1325
1326
13271327
13281328
1329
1329
13301330
1331
1331
13321332
1333
1333
13341334
1335
1335
13361336
1337
1338
1337
1338
13391339
1340
1340
13411341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
13521352
13531353
13541354
1355
1355
13561356
1357
1357
13581358
1359
1359
13601360
1361
1362
1361
1362
13631363
1364
13651364
1366
1367
13681365
1369
1366
1367
13701368
1371
1369
13721370
1373
1374
1375
1376
1377
1378
1379
1380
1381
1371
13821372
1383
1373
1374
1375
1376
1377
1378
1379
1380
1381
13841382
1385
1383
13861384
1387
1385
13881386
1389
1390
1387
13911388
1392
1389
1390
13931391
1394
1395
1396
1397
1398
1399
1400
1401
1402
1392
14031393
1404
1405
1406
1407
1408
1409
1410
1411
1412
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
14131413
1414
1415
1416
1417
1414
1415
1416
1417
14181418
14191419
1420
14211420
1422
1423
1421
14241422
1425
1426
1423
1424
14271425
1428
1426
1427
14291428
1430
1431
1429
14321430
1433
1434
1431
1432
14351433
1434
1435
14361436
1437
1437
14381438
14391439
14401440
14411441
14421442
1443
1444
1443
1444
14451445
14461446
14471447
1448
1449
1450
1451
1452
1448
1449
1450
1451
1452
14531453
1454
1455
1456
1454
1455
1456
14571457
1458
1458
14591459
1460
1461
14601462
1461
1462
1463
14641463
14651464
14661465
1467
1468
1466
1467
14691468
1470
1471
1469
1470
14721471
1473
1472
14741473
1475
1474
14761475
1477
1476
14781477
1479
14801478
1481
1482
14831479
1484
1485
1480
1481
14861482
1487
1488
1483
1484
1485
1486
1487
14891488
1490
1489
14911490
1492
1491
14931492
1494
1495
1496
1497
1493
1494
1495
1496
14981497
14991498
15001499
1501
1502
1503
1500
1501
1502
15041503
1505
1506
1504
1505
15071506
15081507
15091508
1510
1509
15111510
15121511
1513
1512
15141513
15151514
15161515
15171516
15181517
15191518
1520
1519
15211520
1521
15221522
1523
1524
15251523
15261524
15271525
15281526
15291527
1530
1528
15311529
15321530
15331531
......
15351533
15361534
15371535
1538
1536
15391537
1540
1538
15411539
15421540
15431541
......
15461544
15471545
15481546
1549
1547
15501548
15511549
15521550
1553
1551
15541552
15551553
1556
1554
15571555
15581556
15591557
1560
1558
15611559
1562
1563
1564
1560
1561
1562
15651563
1566
1567
1568
1569
1564
1565
1566
1567
15701568
1571
1572
1573
1574
1575
1576
1577
1569
1570
1571
1572
1573
1574
1575
15781576
1579
1577
15801578
1581
1579
15821580
1583
1581
15841582
1585
1586
1583
1584
15871585
1588
1589
1590
1586
1587
1588
15911589
1592
1590
15931591
1594
1592
15951593
1596
1594
15971595
1598
1599
1600
1601
1602
1596
1597
1598
1599
1600
16031601
1604
1605
1606
1607
1602
1603
1604
1605
16081606
1609
1607
16101608
16111609
16121610
......
22292227
22302228
22312229
2232
2230
22332231
22342232
22352233
2236
2234
22372235
22382236
22392237
......
22732271
22742272
22752273
2276
2274
22772275
22782276
22792277
22802278
2281
2279
22822280
22832281
22842282
......
22872285
22882286
22892287
2290
2288
22912289
22922290
22932291
......
23002298
23012299
23022300
2303
2301
23042302
23052303
23062304
......
23592357
23602358
23612359
2362
2360
23632361
23642362
23652363
23662364
2365
23672366
23682367
23692368
// Cards are grouped by device id and vendor id then sorted by subsystem id to make it easier to add new cards
//
{ 0x9400,0x01611043, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull},
{ 0x9400,0x021E1043, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull},
{ 0x9400,0x25521002, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull},
{ 0x9400,0x30001002, CHIP_FAMILY_R600,"ATI Radeon HD 2900 PRO", kNull},
{ 0x9400,0x31421002, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull},
{ 0x9400,0x01611043, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull },
{ 0x9400,0x021E1043, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull },
{ 0x9400,0x25521002, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull },
{ 0x9400,0x30001002, CHIP_FAMILY_R600,"ATI Radeon HD 2900 PRO", kNull },
{ 0x9400,0x31421002, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull },
{ 0x9440,0x05021002, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9440,0x0851174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9440,0x114A174B, CHIP_FAMILY_RV770,"Sapphire Radeon HD4870 Vapor-X", kCardinal},
{ 0x9440,0x24401682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9440,0x24411682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9440,0x24441682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9440,0x24451682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9440,0x05021002, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot },
{ 0x9440,0x0851174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot },
{ 0x9440,0x114A174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kCardinal },
{ 0x9440,0x24401682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot },
{ 0x9440,0x24411682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot },
{ 0x9440,0x24441682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot },
{ 0x9440,0x24451682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot },
{ 0x9441,0x02601043, CHIP_FAMILY_RV770,"ASUS EAH4870x2", kMotmot},
{ 0x9441,0x02841043, CHIP_FAMILY_RV770,"ASUS EAH4870x2", kMotmot},
{ 0x9441,0x24401682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot},
{ 0x9441,0x25421002, CHIP_FAMILY_RV770,"PowerColor HD 4870 X2", kMotmot},
{ 0x9441,0x02601043, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot },
{ 0x9441,0x02841043, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot },
{ 0x9441,0x24401682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot },
{ 0x9441,0x25421002, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot },
{ 0x9442,0x05021002, CHIP_FAMILY_RV770,"MSI R4850-T2D512", kMotmot},
{ 0x9442,0x080110B0, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x9442,0x24701682, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x9442,0x24711682, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x9442,0xE104174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x9442,0xE810174B, CHIP_FAMILY_RV770,"Sapphire HD 4850", kMotmot},
{ 0x9442,0x05021002, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x9442,0x080110B0, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x9442,0x24701682, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x9442,0x24711682, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x9442,0xE104174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x9442,0xE810174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944A,0x02A21028, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001043, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001458, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001462, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001545, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001682, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x3000174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001787, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x300017AF, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x02A21028, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944A,0x30001043, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944A,0x30001458, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944A,0x30001462, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944A,0x30001545, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944A,0x30001682, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944A,0x3000174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944A,0x30001787, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944A,0x300017AF, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot },
{ 0x944C,0x05021002, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot},
{ 0x944C,0x20031787, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot},
{ 0x944C,0x24801682, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot},
{ 0x944C,0x24811682, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot},
{ 0x944C,0x05021002, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot },
{ 0x944C,0x20031787, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot },
{ 0x944C,0x24801682, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot },
{ 0x944C,0x24811682, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot },
{ 0x944E,0x30001787, CHIP_FAMILY_RV770,"ATI Radeon HD 4730", kMotmot},
{ 0x944E,0x30101787, CHIP_FAMILY_RV770,"ATI Radeon HD 4810", kMotmot},
{ 0x944E,0x31001787, CHIP_FAMILY_RV770,"ATI Radeon HD 4820", kMotmot},
{ 0x944E,0x3260174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4810", kMotmot},
{ 0x944E,0x3261174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4810", kMotmot},
{ 0x944E,0x30001787, CHIP_FAMILY_RV770,"ATI Radeon HD 4730", kMotmot },
{ 0x944E,0x30101787, CHIP_FAMILY_RV770,"ATI Radeon HD 4810", kMotmot },
{ 0x944E,0x31001787, CHIP_FAMILY_RV770,"ATI Radeon HD 4820", kMotmot },
{ 0x944E,0x3260174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4810", kMotmot },
{ 0x944E,0x3261174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4810", kMotmot },
{ 0x9460,0x27021682, CHIP_FAMILY_RV770,"ATI Radeon HD 4890", kMotmot},
{ 0x9460,0xE115174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4890", kMotmot},
{ 0x9460,0xE118174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4890", kMotmot},
{ 0x9460,0x27021682, CHIP_FAMILY_RV770,"ATI Radeon HD 4890", kMotmot },
{ 0x9460,0xE115174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4890", kMotmot },
{ 0x9460,0xE118174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4890", kMotmot },
{ 0x9480,0x01211025, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff},
{ 0x9480,0x01211025, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff },
{ 0x9480,0x03111025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kPeregrine},
{ 0x9480,0x03121025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kPeregrine},
{ 0x9480,0x031C1025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kPeregrine},
{ 0x9480,0x031D1025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kPeregrine},
{ 0x9480,0x036C1025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kPeregrine},
{ 0x9480,0x036D1025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kPeregrine},
{ 0x9480,0x3628103C, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff},
{ 0x9480,0x9035104D, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff},
{ 0x9480,0x3628103C, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff },
{ 0x9480,0x9035104D, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff },
{ 0x9480,0xFD001179, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kPeregrine},
{ 0x9480,0xFDD01179, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kPeregrine},
{ 0x9480,0xFD121179, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kPeregrine},
{ 0x9480,0xFFA01179, CHIP_FAMILY_RV730,"ATI Radeon HD 4600M", kPeregrine},
{ 0x9480,0xFFA21179, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kPeregrine},
{ 0x9490,0x20031787, CHIP_FAMILY_RV730,"ATI Radeon HD 4670", kFlicker},
{ 0x9490,0x25421028, CHIP_FAMILY_RV730,"ATI Radeon HD 4670", kFlicker},
{ 0x9490,0x20031787, CHIP_FAMILY_RV730,"ATI Radeon HD 4670", kFlicker },
{ 0x9490,0x25421028, CHIP_FAMILY_RV730,"ATI Radeon HD 4670", kFlicker },
{ 0x9490,0x30501787, CHIP_FAMILY_RV730,"ATI Radeon HD 4710", kPeregrine},
{ 0x9490,0x300017AF, CHIP_FAMILY_RV730,"ATI Radeon HD 4710", kPeregrine},
{ 0x9490,0x4710174B, CHIP_FAMILY_RV730,"ATI Radeon HD 4710", kPeregrine},
{ 0x9498,0x10001043, CHIP_FAMILY_RV730,"ASUS EAHG4670", kPeregrine},
{ 0x9498,0x10001043, CHIP_FAMILY_RV730,"ATI Radeon HD 4670", kPeregrine},
{ 0x9498,0x20091787, CHIP_FAMILY_RV730,"ATI Radeon HD 4650", kPeregrine},
{ 0x9498,0x21CF1458, CHIP_FAMILY_RV730,"ATI Radeon HD 4600", kPeregrine},
{ 0x9498,0x24511682, CHIP_FAMILY_RV730,"ATI Radeon HD 4650", kPeregrine},
{ 0x9498,0x30501787, CHIP_FAMILY_RV730,"ATI Radeon HD 4700", kPeregrine},
{ 0x9498,0x31001787, CHIP_FAMILY_RV730,"ATI Radeon HD 4720", kPeregrine},
{ 0x94B3,0x0D001002, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker},
{ 0x94B3,0x1170174B, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker},
{ 0x94B3,0x29001682, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker},
{ 0x94B3,0x0D001002, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker },
{ 0x94B3,0x1170174B, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker },
{ 0x94B3,0x29001682, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker },
{ 0x94C1,0x0D021002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull},
{ 0x94C1,0x10021002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull},
{ 0x94C1,0x0D021028, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull},
{ 0x94C1,0x21741458, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull},
{ 0x94C1,0x10331462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull},
{ 0x94C1,0x10401462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull},
{ 0x94C1,0x11101462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull},
{ 0x94C1,0x0D021002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull },
{ 0x94C1,0x10021002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C1,0x0D021028, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull },
{ 0x94C1,0x21741458, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull },
{ 0x94C1,0x10331462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull },
{ 0x94C1,0x10401462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull },
{ 0x94C1,0x11101462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull },
{ 0x94C3,0x03421002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x01011A93, CHIP_FAMILY_RV610,"Qimonda Radeon HD 2400 PRO",kNull},
{ 0x94C3,0x03021028, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x03421002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x04021028, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x10321462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x10411462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400", kNull},
{ 0x94C3,0x11041462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400", kNull},
{ 0x94C3,0x11051462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400", kNull},
{ 0x94C3,0x203817AF, CHIP_FAMILY_RV610,"ATI Radeon HD 2400", kNull},
{ 0x94C3,0x216A1458, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x21721458, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x2247148C, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 LE", kNull},
{ 0x94C3,0x22471787, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 LE", kNull},
{ 0x94C3,0x30001025, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kNull},
{ 0x94C3,0x30001458, CHIP_FAMILY_RV610,"ATI Radeon HD 3410", kNull},
{ 0x94C3,0x30001462, CHIP_FAMILY_RV610,"ATI Radeon HD 3410", kNull},
{ 0x94C3,0x3000148C, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kNull},
{ 0x94C3,0x30001642, CHIP_FAMILY_RV610,"ATI Radeon HD 3410", kNull},
{ 0x94C3,0x3000174B, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kNull},
{ 0x94C3,0x30001787, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kNull},
{ 0x94C3,0x37161642, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x94C31002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0xE370174B, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0xE400174B, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x03421002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0x01011A93, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0x03021028, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0x03421002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0x04021028, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0x10321462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0x10411462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400", kNull },
{ 0x94C3,0x11041462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400", kNull },
{ 0x94C3,0x11051462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400", kNull },
{ 0x94C3,0x203817AF, CHIP_FAMILY_RV610,"ATI Radeon HD 2400", kNull },
{ 0x94C3,0x216A1458, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0x21721458, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0x2247148C, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 LE", kNull },
{ 0x94C3,0x22471787, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 LE", kNull },
{ 0x94C3,0x30001025, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kNull },
{ 0x94C3,0x30001458, CHIP_FAMILY_RV610,"ATI Radeon HD 3410", kNull },
{ 0x94C3,0x30001462, CHIP_FAMILY_RV610,"ATI Radeon HD 3410", kNull },
{ 0x94C3,0x3000148C, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kNull },
{ 0x94C3,0x30001642, CHIP_FAMILY_RV610,"ATI Radeon HD 3410", kNull },
{ 0x94C3,0x3000174B, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kNull },
{ 0x94C3,0x30001787, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kNull },
{ 0x94C3,0x37161642, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0x94C31002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0xE370174B, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x94C3,0xE400174B, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Pro", kNull },
{ 0x9501,0x25421002, CHIP_FAMILY_RV670,"ATI Radeon HD 3870", kNull},
{ 0x9501,0x30001002, CHIP_FAMILY_RV670,"ATI Radeon HD 3690", kNull},
{ 0x9501,0x3000174B, CHIP_FAMILY_RV670,"Sapphire Radeon HD 3690", kNull},
{ 0x9501,0x30001787, CHIP_FAMILY_RV670,"ATI Radeon HD 3690", kNull},
{ 0x9501,0x4750174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull},
{ 0x9501,0x25421002, CHIP_FAMILY_RV670,"ATI Radeon HD 3870", kNull },
{ 0x9501,0x30001002, CHIP_FAMILY_RV670,"ATI Radeon HD 3690", kNull },
{ 0x9501,0x3000174B, CHIP_FAMILY_RV670,"ATI Radeon HD 3690", kNull },
{ 0x9501,0x30001787, CHIP_FAMILY_RV670,"ATI Radeon HD 3690", kNull },
{ 0x9501,0x4750174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull },
{ 0x9505,0x024A1043, CHIP_FAMILY_RV670,"ASUS MA 3850", kNull},
{ 0x9505,0x25421002, CHIP_FAMILY_RV670,"ATI Radeon HD 3850", kNull},
{ 0x9505,0x30001002, CHIP_FAMILY_RV630,"ATI Radeon HD 3690", kNull},
{ 0x9505,0x3000148C, CHIP_FAMILY_RV670,"ATI Radeon HD 3850", kNull},
{ 0x9505,0x3000174B, CHIP_FAMILY_RV670,"Sapphire Radeon HD 3690", kNull},
{ 0x9505,0x30001787, CHIP_FAMILY_RV630,"ATI Radeon HD 3690", kNull},
{ 0x9505,0x30011043, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull},
{ 0x9505,0x3001148C, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull},
{ 0x9505,0x3001174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull},
{ 0x9505,0x3002148C, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull},
{ 0x9505,0x3003148C, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull},
{ 0x9505,0x3004148C, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull},
{ 0x9505,0x3010174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull},
{ 0x9505,0x301017AF, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull},
{ 0x9505,0x4730174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull},
{ 0x9505,0xE630174B, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kNull},
{ 0x9505,0x024A1043, CHIP_FAMILY_RV670,"ATI Radeon HD 3850", kNull },
{ 0x9505,0x25421002, CHIP_FAMILY_RV670,"ATI Radeon HD 3850", kNull },
{ 0x9505,0x30001002, CHIP_FAMILY_RV630,"ATI Radeon HD 3690", kNull },
{ 0x9505,0x3000148C, CHIP_FAMILY_RV670,"ATI Radeon HD 3850", kNull },
{ 0x9505,0x3000174B, CHIP_FAMILY_RV670,"ATI Radeon HD 3690", kNull },
{ 0x9505,0x30001787, CHIP_FAMILY_RV630,"ATI Radeon HD 3690", kNull },
{ 0x9505,0x30011043, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull },
{ 0x9505,0x3001148C, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull },
{ 0x9505,0x3001174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull },
{ 0x9505,0x3002148C, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull },
{ 0x9505,0x3003148C, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull },
{ 0x9505,0x3004148C, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull },
{ 0x9505,0x3010174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull },
{ 0x9505,0x301017AF, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull },
{ 0x9505,0x4730174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull },
{ 0x9505,0xE630174B, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kNull },
{ 0x9540,0x30501787, CHIP_FAMILY_RV710,"ATI Radeon HD 4590", kPeregrine},
{ 0x9540,0x4590174B, CHIP_FAMILY_RV710,"ATI Radeon HD 4590", kPeregrine},
{ 0x954F,0x30901682, CHIP_FAMILY_RV710,"XFX Radeon HD 4570", kPeregrine},
{ 0x954F,0x31001787, CHIP_FAMILY_RV710,"ATI Radeon HD 4520", kPeregrine},
{ 0x954F,0x4450174B, CHIP_FAMILY_RV710,"ATI Radeon HD 4450", kPeregrine},
{ 0x954F,0x4570174B, CHIP_FAMILY_RV710,"Sapphire Radeon HD 4570", kPeregrine},
{ 0x954F,0x66661043, CHIP_FAMILY_RV710,"ASUS EAH4550", kPeregrine},
{ 0x954F,0xE990174B, CHIP_FAMILY_RV710,"Sapphire Radeon HD 4350", kPeregrine},
{ 0x954F,0x4570174B, CHIP_FAMILY_RV710,"ATI Radeon HD 4570", kPeregrine},
{ 0x954F,0x66661043, CHIP_FAMILY_RV710,"ATI Radeon HD 4550", kPeregrine},
{ 0x954F,0xE990174B, CHIP_FAMILY_RV710,"ATI Radeon HD 4350", kPeregrine},
{ 0x9552,0x04341028, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4330", kShrike},
{ 0x9552,0x04341028, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4330", kShrike },
{ 0x9552,0x21AC1458, CHIP_FAMILY_RV710,"ATI Radeon HD 4300/4500", kPeregrine},
{ 0x9552,0x21ED1458, CHIP_FAMILY_RV710,"ATI Radeon HD 4300/4500", kPeregrine},
{ 0x9552,0x308B103C, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4330", kShrike},
{ 0x9552,0x308B103C, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4330", kShrike },
{ 0x9552,0x3000148C, CHIP_FAMILY_RV710,"ATI Radeon HD 4300/4500", kPeregrine},
{ 0x9552,0x3000174B, CHIP_FAMILY_RV710,"ATI Radeon HD 4300/4500", kPeregrine},
{ 0x9552,0x30001787, CHIP_FAMILY_RV710,"ATI Radeon HD 4300/4500", kPeregrine},
{ 0x9552,0x300017AF, CHIP_FAMILY_RV710,"ATI Radeon HD 4300/4500", kPeregrine},
{ 0x9552,0x44721545, CHIP_FAMILY_RV710,"VisionTek Radeon 4350", kPeregrine},
{ 0x9552,0x44721545, CHIP_FAMILY_RV710,"ATI Radeon HD 4350", kPeregrine},
{ 0x9553,0x18751043, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4570",kShrike},
{ 0x9553,0x1B321043, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4570",kShrike},
{ 0x9553,0x215B17AA, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4530/4570",kShrike},
{ 0x9553,0x18751043, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4570",kShrike },
{ 0x9553,0x1B321043, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4570",kShrike },
{ 0x9553,0x215B17AA, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4530/4570",kShrike },
{ 0x9553,0x3092174B, CHIP_FAMILY_RV710,"ATI Radeon HD 4300/4500 Series",kPeregrine},
{ 0x9553,0x39291642, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4570",kPeregrine},
{ 0x9553,0xFD001179, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 5145",kPeregrine},
{ 0x9553,0xFFA21179, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4500",kPeregrine},
{ 0x9553,0xFFC01179, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4500",kPeregrine},
{ 0x9555,0x29241682, CHIP_FAMILY_RV710,"ATI Radeon HD 4550", kNull},
{ 0x9555,0x24651682, CHIP_FAMILY_RV710,"ATI Radeon HD4300/HD4500", kNull},
{ 0x9555,0x3711174B, CHIP_FAMILY_RV710,"ATI Radeon HD4300/HD4500", kNull},
{ 0x9555,0x29241682, CHIP_FAMILY_RV710,"ATI Radeon HD 4550", kNull },
{ 0x9555,0x24651682, CHIP_FAMILY_RV710,"ATI Radeon HD4300/HD4500", kNull },
{ 0x9555,0x3711174B, CHIP_FAMILY_RV710,"ATI Radeon HD4300/HD4500", kNull },
{ 0x9581,0x011F1025, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull},
{ 0x9581,0x0562107B, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull},
{ 0x9581,0x15621043, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull},
{ 0x9581,0x3000148C, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull},
{ 0x9581,0x30C5103C, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull},
{ 0x9581,0x3C2D17AA, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull},
{ 0x9581,0x63F61462, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull},
{ 0x9581,0x95811002, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull},
{ 0x9581,0xFF001179, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull},
{ 0x9581,0xFF011179, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull},
{ 0x9581,0x011F1025, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull },
{ 0x9581,0x0562107B, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull },
{ 0x9581,0x15621043, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull },
{ 0x9581,0x3000148C, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull },
{ 0x9581,0x30C5103C, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull },
{ 0x9581,0x3C2D17AA, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull },
{ 0x9581,0x63F61462, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull },
{ 0x9581,0x95811002, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull },
{ 0x9581,0xFF001179, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull },
{ 0x9581,0xFF011179, CHIP_FAMILY_RV630,"ATI Radeon HD 2600", kNull },
{ 0x9583,0x0083106B, CHIP_FAMILY_RV630,"ATI Mobility Radeon HD 2600 XT",kNull},
{ 0x9583,0x11071734, CHIP_FAMILY_RV630,"ATI Mobility Radeon HD 2600 XT",kNull},
{ 0x9583,0x3000148C, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull},
{ 0x9583,0x30D4103C, CHIP_FAMILY_RV630,"ATI Mobility Radeon HD 2600 XT",kNull},
{ 0x9583,0x0083106B, CHIP_FAMILY_RV630,"ATI Mobility Radeon HD 2600 XT",kNull },
{ 0x9583,0x11071734, CHIP_FAMILY_RV630,"ATI Mobility Radeon HD 2600 XT",kNull },
{ 0x9583,0x3000148C, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull },
{ 0x9583,0x30D4103C, CHIP_FAMILY_RV630,"ATI Mobility Radeon HD 2600 XT",kNull },
{ 0x9588,0x01021A93, CHIP_FAMILY_RV630,"Qimonda Radeon HD 2600 XT",kNull},
{ 0x9588,0x01021A93, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT", kNull },
{ 0x9589,0x01001A93, CHIP_FAMILY_RV630,"Qimonda Radeon HD 2600 PRO",kNull},
{ 0x9589,0x0E41174B, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull},
{ 0x9589,0x30001462, CHIP_FAMILY_RV630,"ATI Radeon HD 3610", kNull},
{ 0x9589,0x30001642, CHIP_FAMILY_RV630,"ATI Radeon HD 3610", kNull},
{ 0x9589,0x30001787, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull},
{ 0x9589,0x01001A93, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 Pro", kNull },
{ 0x9589,0x0E41174B, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull },
{ 0x9589,0x30001462, CHIP_FAMILY_RV630,"ATI Radeon HD 3610", kNull },
{ 0x9589,0x30001642, CHIP_FAMILY_RV630,"ATI Radeon HD 3610", kNull },
{ 0x9589,0x30001787, CHIP_FAMILY_RV630,"ATI Radeon HD 3600", kNull },
{ 0x9591,0x15453992, CHIP_FAMILY_RV635,"ATI Radeon HD 3600", kNull},
{ 0x9591,0x2303148C, CHIP_FAMILY_RV635,"VisionTek Radeon HD 2600/3600 Series", kNull},
{ 0x9591,0x15453992, CHIP_FAMILY_RV635,"ATI Radeon HD 3600", kNull },
{ 0x9591,0x2303148C, CHIP_FAMILY_RV635,"ATI Radeon HD 2600/3600 Series", kNull },
{ 0x9598,0xB3831002, CHIP_FAMILY_RV635,"ATI All-in-Wonder HD", kNull},
{ 0x9598,0x30001043, CHIP_FAMILY_RV635,"ATI Radeon HD 3730", kNull},
{ 0x9598,0x3000148C, CHIP_FAMILY_RV635,"ATI Radeon HD 3730", kNull},
{ 0x9598,0x30001545, CHIP_FAMILY_RV635,"VisionTek Radeon HD 2600 XT",kNull},
{ 0x9598,0x3000174B, CHIP_FAMILY_RV635,"Sapphire Radeon HD 3730", kNull},
{ 0x9598,0x30011043, CHIP_FAMILY_RV635,"ATI Radeon HD 4570", kNull},
{ 0x9598,0x3001148C, CHIP_FAMILY_RV635,"ATI Radeon HD 4580", kNull},
{ 0x9598,0x3031148C, CHIP_FAMILY_RV635,"ATI Radeon HD 4570", kNull},
{ 0x9598,0x30011545, CHIP_FAMILY_RV635,"VisionTek Radeon HD 2600 Pro",kNull},
{ 0x9598,0x3001174B, CHIP_FAMILY_RV635,"Sapphire Radeon HD 3750", kNull},
{ 0x9598,0x300117AF, CHIP_FAMILY_RV635,"ATI Radeon HD 3750", kNull},
{ 0x9598,0x301017AF, CHIP_FAMILY_RV635,"ATI Radeon HD 4570", kNull},
{ 0x9598,0x301117AF, CHIP_FAMILY_RV635,"ATI Radeon HD 4580", kNull},
{ 0x9598,0x30501787, CHIP_FAMILY_RV635,"ATI Radeon HD 4610", kNull},
{ 0x9598,0x4570174B, CHIP_FAMILY_RV635,"ATI Radeon HD 4570", kNull},
{ 0x9598,0x4580174B, CHIP_FAMILY_RV635,"ATI Radeon HD 4580", kNull},
{ 0x9598,0x4610174B, CHIP_FAMILY_RV635,"ATI Radeon HD 4610", kNull},
{ 0x9598,0xB3831002, CHIP_FAMILY_RV635,"ATI All-in-Wonder HD", kNull },
{ 0x9598,0x30001043, CHIP_FAMILY_RV635,"ATI Radeon HD 3730", kNull },
{ 0x9598,0x3000148C, CHIP_FAMILY_RV635,"ATI Radeon HD 3730", kNull },
{ 0x9598,0x30001545, CHIP_FAMILY_RV635,"ATI Radeon HD 2600 XT", kNull },
{ 0x9598,0x3000174B, CHIP_FAMILY_RV635,"ATI Radeon HD 3730", kNull },
{ 0x9598,0x30011043, CHIP_FAMILY_RV635,"ATI Radeon HD 4570", kNull },
{ 0x9598,0x3001148C, CHIP_FAMILY_RV635,"ATI Radeon HD 4580", kNull },
{ 0x9598,0x3031148C, CHIP_FAMILY_RV635,"ATI Radeon HD 4570", kNull },
{ 0x9598,0x30011545, CHIP_FAMILY_RV635,"ATI Radeon HD 2600 Pro", kNull },
{ 0x9598,0x3001174B, CHIP_FAMILY_RV635,"ATI Radeon HD 3750", kNull },
{ 0x9598,0x300117AF, CHIP_FAMILY_RV635,"ATI Radeon HD 3750", kNull },
{ 0x9598,0x301017AF, CHIP_FAMILY_RV635,"ATI Radeon HD 4570", kNull },
{ 0x9598,0x301117AF, CHIP_FAMILY_RV635,"ATI Radeon HD 4580", kNull },
{ 0x9598,0x30501787, CHIP_FAMILY_RV635,"ATI Radeon HD 4610", kNull },
{ 0x9598,0x4570174B, CHIP_FAMILY_RV635,"ATI Radeon HD 4570", kNull },
{ 0x9598,0x4580174B, CHIP_FAMILY_RV635,"ATI Radeon HD 4580", kNull },
{ 0x9598,0x4610174B, CHIP_FAMILY_RV635,"ATI Radeon HD 4610", kNull },
{ 0x95C0,0x3000148C, CHIP_FAMILY_RV620,"ATI Radeon HD 3550", kNull},
{ 0x95C0,0x3000174B, CHIP_FAMILY_RV620,"Sapphire Radeon HD 3550", kNull},
{ 0x95C0,0x3002174B, CHIP_FAMILY_RV620,"ATI Radeon HD 3570", kNull},
{ 0x95C0,0x3020174B, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull},
{ 0x95C0,0xE3901745, CHIP_FAMILY_RV620,"ATI Radeon HD 3550", kNull},
{ 0x95C0,0x3000148C, CHIP_FAMILY_RV620,"ATI Radeon HD 3550", kNull },
{ 0x95C0,0x3000174B, CHIP_FAMILY_RV620,"ATI Radeon HD 3550", kNull },
{ 0x95C0,0x3002174B, CHIP_FAMILY_RV620,"ATI Radeon HD 3570", kNull },
{ 0x95C0,0x3020174B, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull },
{ 0x95C0,0xE3901745, CHIP_FAMILY_RV620,"ATI Radeon HD 3550", kNull },
{ 0x95C5,0x01041A93, CHIP_FAMILY_RV620,"Qimonda Radeon HD 3450", kNull},
{ 0x95C5,0x01051A93, CHIP_FAMILY_RV620,"Qimonda Radeon HD 3450", kNull},
{ 0x95C5,0x3000148C, CHIP_FAMILY_RV620,"ATI Radeon HD 3450", kNull},
{ 0x95C5,0x3001148C, CHIP_FAMILY_RV620,"ATI Radeon HD 3550", kNull},
{ 0x95C5,0x3002148C, CHIP_FAMILY_RV620,"ATI Radeon HD 4230", kNull},
{ 0x95C5,0x3003148C, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull},
{ 0x95C5,0x3010174B, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull},
{ 0x95C5,0x301017AF, CHIP_FAMILY_RV620,"ATI Radeon HD 4230", kNull},
{ 0x95C5,0x3032148C, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull},
{ 0x95C5,0x3033148C, CHIP_FAMILY_RV620,"ATI Radeon HD 4230", kNull},
{ 0x95C5,0x30501787, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull},
{ 0x95C5,0x4250174B, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull},
{ 0x95C5,0x01041A93, CHIP_FAMILY_RV620,"ATI Radeon HD 3450", kNull },
{ 0x95C5,0x01051A93, CHIP_FAMILY_RV620,"ATI Radeon HD 3450", kNull },
{ 0x95C5,0x3000148C, CHIP_FAMILY_RV620,"ATI Radeon HD 3450", kNull },
{ 0x95C5,0x3001148C, CHIP_FAMILY_RV620,"ATI Radeon HD 3550", kNull },
{ 0x95C5,0x3002148C, CHIP_FAMILY_RV620,"ATI Radeon HD 4230", kNull },
{ 0x95C5,0x3003148C, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull },
{ 0x95C5,0x3010174B, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull },
{ 0x95C5,0x301017AF, CHIP_FAMILY_RV620,"ATI Radeon HD 4230", kNull },
{ 0x95C5,0x3032148C, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull },
{ 0x95C5,0x3033148C, CHIP_FAMILY_RV620,"ATI Radeon HD 4230", kNull },
{ 0x95C5,0x30501787, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull },
{ 0x95C5,0x4250174B, CHIP_FAMILY_RV620,"ATI Radeon HD 4250", kNull },
/* Evergreen */
{ 0x6898,0x00D0106B, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kLangur},
{ 0x6898,0x032E1043, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kUakari},
{ 0x6898,0x038C1043, CHIP_FAMILY_CYPRESS,"ASUS 5870 Eyefinity 6", kNull},
{ 0x6898,0x0B001002, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kZonalis},
{ 0x6898,0x21E51458, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kUakari},
{ 0x6898,0x29611682, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kUakari},
{ 0x6898,0xE140174B, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kUakari},
{ 0x6898,0x00D0106B, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kLangur },
{ 0x6898,0x032E1043, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kUakari },
{ 0x6898,0x038C1043, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kNull },
{ 0x6898,0x0B001002, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kZonalis },
{ 0x6898,0x21E51458, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kUakari },
{ 0x6898,0x29611682, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kUakari },
{ 0x6898,0xE140174B, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870", kUakari },
{ 0x6899,0x200A1787, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850", kUakari},
{ 0x6899,0x21E41458, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850", kUakari},
{ 0x6899,0x22901787, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850", kUakari},
{ 0x6899,0xE140174B, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850", kUakari},
{ 0x6899,0xE174174B, CHIP_FAMILY_CYPRESS,"ATI Sapphire Radeon HD 5850", kUakari},
{ 0x6899,0x200A1787, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850", kUakari },
{ 0x6899,0x21E41458, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850", kUakari },
{ 0x6899,0x22901787, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850", kUakari },
{ 0x6899,0xE140174B, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850", kUakari },
{ 0x6899,0xE174174B, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850", kUakari },
{ 0x689C,0x034A1043, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5970", kUakari},
{ 0x689C,0x03521043, CHIP_FAMILY_HEMLOCK,"ASUS ARES", kUakari},
{ 0x689C,0x039E1043, CHIP_FAMILY_HEMLOCK,"ASUS EAH5870", kUakari},
{ 0x689C,0x25421002, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5970", kUakari},
{ 0x689C,0x30201682, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5970", kUakari},
{ 0x689C,0x034A1043, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5970", kUakari },
{ 0x689C,0x03521043, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5870", kUakari },
{ 0x689C,0x039E1043, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5870", kUakari },
{ 0x689C,0x25421002, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5970", kUakari },
{ 0x689C,0x30201682, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5970", kUakari },
{ 0x68A0,0x03081025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5830",kNomascus},
{ 0x68A0,0x030A1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5830",kNomascus},
{ 0x68A0,0x043A1028, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5870",kNomascus},
{ 0x68A0,0x03081025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5830",kNomascus },
{ 0x68A0,0x030A1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5830",kNomascus },
{ 0x68A0,0x043A1028, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5870",kNomascus },
{ 0x68A1,0x03081025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x030A1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x03671025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x03681025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x038B1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x038C1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x042E1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x042F1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x144D103C, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kNomascus},
{ 0x68A1,0x1522103C, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x22411462, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x39961462, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68A1,0x03081025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x030A1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x03671025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x03681025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x038B1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x038C1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x042E1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x042F1025, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x144D103C, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kNomascus },
{ 0x68A1,0x1522103C, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x22411462, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A1,0x39961462, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5850",kHoolock },
{ 0x68A8,0x04421025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x04511025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x048F1028, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6870M", kHoolock},
{ 0x68A8,0x04901028, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6870M", kHoolock},
{ 0x68A8,0x04B91028, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6870M", kHoolock},
{ 0x68A8,0x04BA1028, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6870M", kHoolock},
{ 0x68A8,0x050A1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x050B1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x050C1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x050E1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x050F1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x05131025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x05141025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x05151025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x05161025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x05251025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x05261025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x056D1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x159B103C, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0xC0AD144D, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari},
{ 0x68A8,0x04421025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x04511025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x048F1028, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6870M", kHoolock },
{ 0x68A8,0x04901028, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6870M", kHoolock },
{ 0x68A8,0x04B91028, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6870M", kHoolock },
{ 0x68A8,0x04BA1028, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6870M", kHoolock },
{ 0x68A8,0x050A1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x050B1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x050C1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x050E1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x050F1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x05131025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x05141025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x05151025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x05161025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x05251025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x05261025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x056D1025, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0x159B103C, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68A8,0xC0AD144D, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6850M", kUakari },
{ 0x68B8,0x00CF106B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kHoolock},
{ 0x68B8,0x0044144D, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6770", kVervet},
{ 0x68B8,0x1482174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x200A1787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x200B1787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x21D71458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x21F61458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x22881787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x25431002, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x25431458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x29901682, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x29911682, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x30001002, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6700", kVervet},
{ 0x68B8,0x6880103C, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0x6881103C, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6770", kVervet},
{ 0x68B8,0xE144174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kHoolock},
{ 0x68B8,0xE147174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0xE160174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet},
{ 0x68B8,0xEA60174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6770", kVervet},
{ 0x68B8,0x00CF106B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kHoolock },
{ 0x68B8,0x0044144D, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6770", kVervet },
{ 0x68B8,0x1482174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x200A1787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x200B1787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x21D71458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x21F61458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x22881787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x25431002, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x25431458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x29901682, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x29911682, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x30001002, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6700", kVervet },
{ 0x68B8,0x6880103C, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0x6881103C, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6770", kVervet },
{ 0x68B8,0xE144174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kHoolock },
{ 0x68B8,0xE147174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0xE160174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770", kVervet },
{ 0x68B8,0xEA60174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6770", kVervet },
{ 0x68BA,0x03FE1043, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0x1482174B, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0x174B1482, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0x200A1787, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0x21421462, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0x25431458, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0x31501682, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0x31521682, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0x31531682, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0xE144174B, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet},
{ 0x68BA,0x03FE1043, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BA,0x1482174B, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BA,0x174B1482, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BA,0x200A1787, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BA,0x21421462, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BA,0x25431458, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BA,0x31501682, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BA,0x31521682, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BA,0x31531682, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BA,0xE144174B, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6770", kVervet },
{ 0x68BE,0x200A1787, CHIP_FAMILY_JUNIPER,"HIS ATI 5750", kVervet},
{ 0x68BE,0x22881787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5750", kVervet},
{ 0x68BE,0x3000148C, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kNull},
{ 0x68BE,0x3000174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kNull},
{ 0x68BE,0x300017AF, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kNull},
{ 0x68BE,0x39821642, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kNull},
{ 0x68BE,0x200A1787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5750", kVervet },
{ 0x68BE,0x22881787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5750", kVervet },
{ 0x68BE,0x3000148C, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kNull },
{ 0x68BE,0x3000174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kNull },
{ 0x68BE,0x300017AF, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kNull },
{ 0x68BE,0x39821642, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kNull },
{ 0x68BF,0x220E1458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kVervet},
{ 0x68BF,0x3000148C, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kVervet},
{ 0x68BF,0x31401682, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kVervet},
{ 0x68BF,0x6750174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kVervet},
{ 0x68BF,0xE144174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kHoolock},
{ 0x68BF,0x220E1458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kVervet },
{ 0x68BF,0x3000148C, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kVervet },
{ 0x68BF,0x31401682, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kVervet },
{ 0x68BF,0x6750174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kVervet },
{ 0x68BF,0xE144174B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750", kHoolock },
{ 0x68C0,0x1594103C, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6570M", kNull},
{ 0x68C0,0x392717AA, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5730",kNull},
{ 0x68C0,0x395217AA, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5730",kNull},
{ 0x68C0,0x84721043, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5000",kNull},
{ 0x68C0,0x1594103C, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6570M", kNull },
{ 0x68C0,0x392717AA, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5730",kNull },
{ 0x68C0,0x395217AA, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5730",kNull },
{ 0x68C0,0x84721043, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5000",kNull },
{ 0x68C1,0x02051025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x02961025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x030A1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x033D1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x033E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull},
{ 0x68C1,0x03471025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x03561025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x03581025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x035A1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x035C1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x03641025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x036D1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull},
{ 0x68C1,0x03791025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x037E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x03821025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull},
{ 0x68C1,0x04121025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull},
{ 0x68C1,0x042E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull},
{ 0x68C1,0x042F1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull},
{ 0x68C1,0x9071104D, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur},
{ 0x68C1,0x1449103C, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur},
{ 0x68C1,0xFD001179, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur},
{ 0x68C1,0xFD121179, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur},
{ 0x68C1,0xFD501179, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur},
{ 0x68C1,0xFDD01179, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur},
{ 0x68C1,0x02051025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x02961025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x030A1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x033D1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x033E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull },
{ 0x68C1,0x03471025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x03561025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x03581025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x035A1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x035C1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x03641025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x036D1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull },
{ 0x68C1,0x03791025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x037E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x03821025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull },
{ 0x68C1,0x04121025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull },
{ 0x68C1,0x042E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull },
{ 0x68C1,0x042F1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull },
{ 0x68C1,0x9071104D, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur },
{ 0x68C1,0x1449103C, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur },
{ 0x68C1,0xFD001179, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur },
{ 0x68C1,0xFD121179, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur },
{ 0x68C1,0xFD501179, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur },
{ 0x68C1,0xFDD01179, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur },
{ 0x68C8,0x2306103C, CHIP_FAMILY_REDWOOD,"ATI FirePro V4800 (FireGL)",kNull},
{ 0x68C8,0x240A1002, CHIP_FAMILY_REDWOOD,"ATI FirePro V4800 (FireGL)",kNull},
{ 0x68C8,0x240A1028, CHIP_FAMILY_REDWOOD,"ATI FirePro V4800 (FireGL)",kNull},
{ 0x68C8,0x2306103C, CHIP_FAMILY_REDWOOD,"ATI FirePro V4800 (FireGL)",kNull },
{ 0x68C8,0x240A1002, CHIP_FAMILY_REDWOOD,"ATI FirePro V4800 (FireGL)",kNull },
{ 0x68C8,0x240A1028, CHIP_FAMILY_REDWOOD,"ATI FirePro V4800 (FireGL)",kNull },
{ 0x68D8,0x03561043, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kBaboon},
{ 0x68D8,0x03C01043, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kNull},
{ 0x68D8,0x20091787, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kNull},
{ 0x68D8,0x200B1787, CHIP_FAMILY_REDWOOD,"HIS ATI HD5670 XT Redwood ICEQ", kBaboon}, // catalinz
{ 0x68D8,0x21D91458, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kBaboon},
{ 0x68D8,0x21F41458, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kNull},
{ 0x68D8,0x22051462, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull},
{ 0x68D8,0x22941787, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull},
{ 0x68D8,0x30001787, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5730", kNull},
{ 0x68D8,0x301017AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5730", kNull},
{ 0x68D8,0x301117AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull},
{ 0x68D8,0x30601682, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull},
{ 0x68D8,0x30651682, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull},
{ 0x68D8,0x56701545, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull},
{ 0x68D8,0x5690174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull},
{ 0x68D8,0x5730174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5730", kNull},
{ 0x68D8,0x68E01028, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kBaboon},
{ 0x68D8,0xE151174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kEulemur},
{ 0x68D8,0xE155174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kNull},
{ 0x68D8,0xE166174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kUakari},
{ 0x68D8,0x03561043, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kBaboon },
{ 0x68D8,0x03C01043, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kNull },
{ 0x68D8,0x20091787, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kNull },
{ 0x68D8,0x200B1787, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kBaboon }, // catalinz
{ 0x68D8,0x21D91458, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kBaboon },
{ 0x68D8,0x21F41458, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kNull },
{ 0x68D8,0x22051462, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull },
{ 0x68D8,0x22941787, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull },
{ 0x68D8,0x30001787, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5730", kNull },
{ 0x68D8,0x301017AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5730", kNull },
{ 0x68D8,0x301117AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull },
{ 0x68D8,0x30601682, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull },
{ 0x68D8,0x30651682, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull },
{ 0x68D8,0x56701545, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull },
{ 0x68D8,0x5690174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5690", kNull },
{ 0x68D8,0x5730174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5730", kNull },
{ 0x68D8,0x68E01028, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kBaboon },
{ 0x68D8,0xE151174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kEulemur },
{ 0x68D8,0xE155174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kNull },
{ 0x68D8,0xE166174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670", kUakari },
{ 0x68D9,0x03CE1043, CHIP_FAMILY_REDWOOD,"ASUS EAH5550 series", kNull},
{ 0x68D9,0x22401462, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5570", kNull},
{ 0x68D9,0x3000148C, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6510", kNull},
{ 0x68D9,0x3000174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6510", kNull},
{ 0x68D9,0x301017AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5630", kNull},
{ 0x68D9,0x39691642, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5570", kNull},
{ 0x68D9,0x03CE1043, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5550", kNull },
{ 0x68D9,0x22401462, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5570", kNull },
{ 0x68D9,0x3000148C, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6510", kNull },
{ 0x68D9,0x3000174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6510", kNull },
{ 0x68D9,0x301017AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5630", kNull },
{ 0x68D9,0x39691642, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5570", kNull },
{ 0x68DA,0x3000148C, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6390", kNull},
{ 0x68DA,0x3000174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6390", kNull},
{ 0x68DA,0x30001787, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5630", kNull},
{ 0x68DA,0x300017AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6390", kNull},
{ 0x68DA,0x301017AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5630", kNull},
{ 0x68DA,0x5630174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5630", kNull},
{ 0x68DA,0x3000148C, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6390", kNull },
{ 0x68DA,0x3000174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6390", kNull },
{ 0x68DA,0x30001787, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5630", kNull },
{ 0x68DA,0x300017AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 6390", kNull },
{ 0x68DA,0x301017AF, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5630", kNull },
{ 0x68DA,0x5630174B, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5630", kNull },
{ 0x68E0,0x02931025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x03581025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x03591025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x035C1025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x035D1025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x036D1025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kLangur },
{ 0x68E0,0x04471028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x04561028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x04831025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x1433103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x1441103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x144A103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x1BF21043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kNull },
{ 0x68E0,0x848F1043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kNull },
{ 0x68E0,0xFD001179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0xFD121179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0xFD501179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0xFD921179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0xFDD01179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E0,0x02931025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x03581025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x03591025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x035C1025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x035D1025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x036D1025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kLangur },
{ 0x68E0,0x04471028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x04561028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x04831025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x1433103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x1441103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x144A103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0x1BF21043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kNull },
{ 0x68E0,0x848F1043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kNull },
{ 0x68E0,0xFD001179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0xFD121179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0xFD501179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0xFD921179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E0,0xFDD01179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E1,0x04661028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x10021B61, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450M", kEulemur},
{ 0x68E1,0x10501462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x1426103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x142A103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 545vM", kEulemur},
{ 0x68E1,0x14E110CF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5400M", kEulemur},
{ 0x68E1,0x21D81458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x21E21458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x21F11458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x22021458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x23421462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x23431462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x25481458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5400M Series", kEulemur},
{ 0x68E1,0x254A1458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5000M Series", kEulemur},
{ 0x68E1,0x30001043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x3000148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x30001682, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x3000174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68E1,0x30001787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur}, // 5430M ???
{ 0x68E1,0x300017AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x3001148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x301417AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kEulemur},
{ 0x68E1,0x3002148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x3003148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450M", kEulemur},
{ 0x68E1,0x54501545, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x5470174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur},
{ 0x68E1,0x60001092, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x60001682, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x6000174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x6230174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kEulemur},
{ 0x68E1,0x6350174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kEulemur},
{ 0x68E1,0xFDD01179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur},
{ 0x68E1,0x04661028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x10021B61, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450M", kEulemur },
{ 0x68E1,0x10501462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x1426103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x142A103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 545vM", kEulemur },
{ 0x68E1,0x14E110CF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5400M", kEulemur },
{ 0x68E1,0x21D81458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x21E21458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x21F11458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x22021458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x23421462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x23431462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x25481458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5400M Series", kEulemur },
{ 0x68E1,0x254A1458, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5000M Series", kEulemur },
{ 0x68E1,0x30001043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x3000148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x30001682, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x3000174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68E1,0x30001787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur }, // 5430M ???
{ 0x68E1,0x300017AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x3001148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x301417AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kEulemur },
{ 0x68E1,0x3002148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x3003148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450M", kEulemur },
{ 0x68E1,0x54501545, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x5470174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470M", kEulemur },
{ 0x68E1,0x60001092, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x60001682, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x6000174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E1,0x6230174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kEulemur },
{ 0x68E1,0x6350174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kEulemur },
{ 0x68E1,0xFDD01179, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M", kEulemur },
{ 0x68E4,0x04821025, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull},
{ 0x68E4,0x1426103C, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull},
{ 0x68E4,0x1C921043, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull},
{ 0x68E4,0x397917AA, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull},
{ 0x68E4,0x397F17AA, CHIP_FAMILY_CEDAR,"AMD Radeon HD 7370M", kNull},
{ 0x68E4,0x84A01043, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull},
{ 0x68E4,0x04821025, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull },
{ 0x68E4,0x1426103C, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull },
{ 0x68E4,0x1C921043, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull },
{ 0x68E4,0x397917AA, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull },
{ 0x68E4,0x397F17AA, CHIP_FAMILY_CEDAR,"AMD Radeon HD 7370M", kNull },
{ 0x68E4,0x84A01043, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull },
{ 0x68F9,0x00011019, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x00021019, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x00191019, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x010E1002, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x010E1028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x03741043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x03CA1043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x05181025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x05191025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x174B3000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6230", kNull},
{ 0x68F9,0x174B6250, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull},
{ 0x68F9,0x174B6290, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6290", kNull},
{ 0x68F9,0x174BE164, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x20091787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x21261028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x2126103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x21301462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x21311462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x21331462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kEulemur},
{ 0x68F9,0x21801462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x21811462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x21821462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x21831462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x22911787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x22301462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x22311462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x23401462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x24951462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x2AAC103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x2AEC103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x30001787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull},
{ 0x68F9,0x300017AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull},
{ 0x68F9,0x3001148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull},
{ 0x68F9,0x30011787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5530", kNull},
{ 0x68F9,0x3002148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6290", kNull},
{ 0x68F9,0x30021787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490", kNull},
{ 0x68F9,0x300217AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6290", kNull},
{ 0x68F9,0x3003148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6230", kNull},
{ 0x68F9,0x301117AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull},
{ 0x68F9,0x301217AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490", kNull},
{ 0x68F9,0x301317AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull},
{ 0x68F9,0x301417AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x30321682, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450",kEulemur},
{ 0x68F9,0x303A1682, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450",kEulemur},
{ 0x68F9,0x3580103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x360217AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x360317AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x360F17AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x361917AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x39831642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x39841642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x39871642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x3987174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x39971462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x3A051642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x3B311642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350A", kNull},
{ 0x68F9,0x5470174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull},
{ 0x68F9,0x5490174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490", kNull},
{ 0x68F9,0x5530174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5530", kNull},
{ 0x68F9,0x6230174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6230", kNull},
{ 0x68F9,0x6350174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x7350148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 7350", kNull},
{ 0x68F9,0xE127174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0xE145174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0xE153174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0xE164174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x00011019, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x00021019, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x00191019, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x010E1002, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x010E1028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x03741043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x03CA1043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x05181025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x05191025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x174B3000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6230", kNull },
{ 0x68F9,0x174B6250, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull },
{ 0x68F9,0x174B6290, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6290", kNull },
{ 0x68F9,0x174BE164, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x20091787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x21261028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x2126103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x21301462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x21311462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x21331462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kEulemur },
{ 0x68F9,0x21801462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x21811462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x21821462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x21831462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x22911787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x22301462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x22311462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x23401462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x24951462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x2AAC103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x2AEC103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x30001787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull },
{ 0x68F9,0x300017AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull },
{ 0x68F9,0x3001148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull },
{ 0x68F9,0x30011787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5530", kNull },
{ 0x68F9,0x3002148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6290", kNull },
{ 0x68F9,0x30021787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490", kNull },
{ 0x68F9,0x300217AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6290", kNull },
{ 0x68F9,0x3003148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6230", kNull },
{ 0x68F9,0x301117AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull },
{ 0x68F9,0x301217AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490", kNull },
{ 0x68F9,0x301317AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull },
{ 0x68F9,0x301417AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x30321682, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x303A1682, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x3580103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x360217AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x360317AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x360F17AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x361917AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x39831642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x39841642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x39871642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x3987174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x39971462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0x3A051642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull },
{ 0x68F9,0x3B311642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350A", kNull },
{ 0x68F9,0x5470174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull },
{ 0x68F9,0x5490174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490", kNull },
{ 0x68F9,0x5530174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5530", kNull },
{ 0x68F9,0x6230174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6230", kNull },
{ 0x68F9,0x6350174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull },
{ 0x68F9,0x7350148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 7350", kNull },
{ 0x68F9,0xE127174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0xE145174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0xE153174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
{ 0x68F9,0xE164174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur },
/* Northen Islands */
{ 0x6718,0x03B81043, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0x03BC1043, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0x0B001002, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0x20101458, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0x20101787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0x22001458, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0x22011458, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0x23061787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba}, // HIS
{ 0x6718,0x23701462, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba}, // MSI
{ 0x6718,0x24701462, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba}, // MSI
{ 0x6718,0x31301682, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0x67181002, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0xE182174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0xE203174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba},
{ 0x6718,0x03B81043, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0x03BC1043, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0x0B001002, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0x20101458, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0x20101787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0x22001458, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0x22011458, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0x23061787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba }, // HIS
{ 0x6718,0x23701462, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba }, // MSI
{ 0x6718,0x24701462, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba }, // MSI
{ 0x6718,0x31301682, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0x67181002, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0xE182174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6718,0xE203174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970", kGibba },
{ 0x6719,0x03BE1043, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x03D41043, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x0B001002, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x186B174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x20101787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x21FD1458, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x23071787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x24611462, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x31211682, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x31221682, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0xE189174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba},
{ 0x6719,0x03BE1043, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0x03D41043, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0x0B001002, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0x186B174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0x20101787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0x21FD1458, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0x23071787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0x24611462, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0x31211682, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0x31221682, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
{ 0x6719,0xE189174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950", kGibba },
//{ 0x671D,0x0B2A1002, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990", kNull},
//{ 0x671D,0x1B2A1002, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990", kNull},
//{ 0x671D,0x31601682, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990", kNull},
//{ 0x671D,0x0B2A1002, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990", kNull },
//{ 0x671D,0x1B2A1002, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990", kNull },
//{ 0x671D,0x31601682, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990", kNull },
{ 0x6720,0x048F1028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea},
{ 0x6720,0x04901028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea},
{ 0x6720,0x04A41028, CHIP_FAMILY_BARTS,"AMD FirePro M8900M", kElodea},
{ 0x6720,0x04B91028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea},
{ 0x6720,0x04BA1028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea},
{ 0x6720,0x51021558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea},
{ 0x6720,0x51041558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6990M", kElodea},
{ 0x6720,0x71001558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea},
{ 0x6720,0x72001558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea},
{ 0x6720,0x72011558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6990M", kElodea},
{ 0x6720,0xC0AD144D, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea},
{ 0x6720,0x048F1028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea },
{ 0x6720,0x04901028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea },
{ 0x6720,0x04A41028, CHIP_FAMILY_BARTS,"AMD FirePro M8900M", kElodea },
{ 0x6720,0x04B91028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea },
{ 0x6720,0x04BA1028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea },
{ 0x6720,0x51021558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea },
{ 0x6720,0x51041558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6990M", kElodea },
{ 0x6720,0x71001558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea },
{ 0x6720,0x72001558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea },
{ 0x6720,0x72011558, CHIP_FAMILY_BARTS,"AMD Radeon HD 6990M", kElodea },
{ 0x6720,0xC0AD144D, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970M", kElodea },
{ 0x6738,0x00D01002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x03AE1043, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x03C61043, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x174B174B, CHIP_FAMILY_BARTS,"Sapphire Radeon HD6870", kBulrushes}, // ?? kDuckweed ??
{ 0x6738,0x20101787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x21FA1002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x21FA1458, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x23051787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x25101462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x31031682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x31041682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x31071682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x31081682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed}, // ?? kJuncus ??
{ 0x6738,0x67381002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0xE178174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed},
{ 0x6738,0x00D01002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x03AE1043, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x03C61043, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x174B174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kBulrushes }, // ?? kDuckweed ??
{ 0x6738,0x20101787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x21FA1002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x21FA1458, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x23051787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x25101462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x31031682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x31041682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x31071682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0x31081682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed }, // ?? kJuncus ??
{ 0x6738,0x67381002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6738,0xE178174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870", kDuckweed },
{ 0x6739,0x03B41043, CHIP_FAMILY_BARTS,"ASUS EAH6850 DirectCU", kDuckweed},
{ 0x6739,0x174B174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x200F1787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x21F81458, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kBulrushes},
{ 0x6739,0x23041787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x24001462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x24411462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x25201462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x30001787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x31101682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x31131682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x31141682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x31161682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x31171682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x67391002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0xAA881002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0xE174174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0xE177174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0xE183174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x03B41043, CHIP_FAMILY_BARTS,"ATI Radeon HD 6850", kDuckweed },
{ 0x6739,0x174B174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x200F1787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x21F81458, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kBulrushes },
{ 0x6739,0x23041787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x24001462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x24411462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x25201462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x30001787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x31101682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x31131682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x31141682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x31161682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x31171682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0x67391002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0xAA881002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0xE174174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0xE177174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x6739,0xE183174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed },
{ 0x673E,0x174B174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790", kNull},
{ 0x673E,0x23101787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790", kNull},
{ 0x673E,0x31701682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790", kNull},
{ 0x673E,0x31721682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790", kNull},
{ 0x673E,0x174B174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790", kNull },
{ 0x673E,0x23101787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790", kNull },
{ 0x673E,0x31701682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790", kNull },
{ 0x673E,0x31721682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790", kNull },
{ 0x6740,0x04A31028, CHIP_FAMILY_TURKS,"Dell HD 6770M", kNull}, // ??
{ 0x6740,0x1D121043, CHIP_FAMILY_TURKS,"AMD Radeon HD 6730M", kNull},
{ 0x6740,0x1631103C, CHIP_FAMILY_TURKS,"AMD FirePro M5950", kNull},
{ 0x6740,0x1657103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull},
{ 0x6740,0x165A103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull},
{ 0x6740,0x3388103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull},
{ 0x6740,0x3389103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull}, // ?? kHydrilla ??
{ 0x6740,0x6740106B, CHIP_FAMILY_TURKS,"Apple HD 6770M", kNull}, // ??
{ 0x6740,0x04A31028, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull }, // ??
{ 0x6740,0x1D121043, CHIP_FAMILY_TURKS,"AMD Radeon HD 6730M", kNull },
{ 0x6740,0x1631103C, CHIP_FAMILY_TURKS,"AMD FirePro M5950", kNull },
{ 0x6740,0x1657103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull },
{ 0x6740,0x165A103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull },
{ 0x6740,0x3388103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull },
{ 0x6740,0x3389103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull }, // ?? kHydrilla ??
{ 0x6740,0x6740106B, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M", kNull }, // ??
{ 0x6741,0x050E1025, CHIP_FAMILY_TURKS,"AMD Radeon HD 6650M", kNull},
{ 0x6741,0x050F1025, CHIP_FAMILY_TURKS,"AMD Radeon HD 6650M", kNull},
{ 0x6741,0x05131025, CHIP_FAMILY_TURKS,"AMD Radeon HD 6650M", kNull},
{ 0x6741,0x1646103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6750M", kNull},
{ 0x6741,0x1688103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 7690M", kNull},
{ 0x6741,0x358D103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6630M/6650M/6750M", kNull},
{ 0x6741,0x9080104D, CHIP_FAMILY_TURKS,"AMD Radeon HD 6630M", kNull},
{ 0x6741,0x050E1025, CHIP_FAMILY_TURKS,"AMD Radeon HD 6650M", kNull },
{ 0x6741,0x050F1025, CHIP_FAMILY_TURKS,"AMD Radeon HD 6650M", kNull },
{ 0x6741,0x05131025, CHIP_FAMILY_TURKS,"AMD Radeon HD 6650M", kNull },
{ 0x6741,0x1646103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6750M", kNull },
{ 0x6741,0x1688103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 7690M", kNull },
{ 0x6741,0x358D103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6630M/6650M/6750M", kNull },
{ 0x6741,0x9080104D, CHIP_FAMILY_TURKS,"AMD Radeon HD 6630M", kNull },
{ 0x6758,0x00121028, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0x0B0E1002, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kPithecia},
{ 0x6758,0x0B0E1028, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0x20121787, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kPithecia},
{ 0x6758,0x20141787, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0x22051458, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0x31811682, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0x31831682, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0x67581002, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0x6882103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0xE181174B, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0xE1941746, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes},
{ 0x6758,0xE194174B, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kMangabey},
{ 0x6758,0x00121028, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0x0B0E1002, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kPithecia },
{ 0x6758,0x0B0E1028, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0x20121787, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kPithecia },
{ 0x6758,0x20141787, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0x22051458, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0x31811682, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0x31831682, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0x67581002, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0x6882103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0xE181174B, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0xE1941746, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kBulrushes },
{ 0x6758,0xE194174B, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670", kMangabey },
{ 0x6759,0x20121787, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570", kPithecia},
{ 0x6759,0x31951682, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570", kGibba},
{ 0x6759,0x32801682, CHIP_FAMILY_TURKS,"AMD Radeon HD 7570", kPithecia},
{ 0x6759,0xE193174B, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570", kPithecia},
{ 0x6759,0x20121787, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570", kPithecia },
{ 0x6759,0x31951682, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570", kGibba },
{ 0x6759,0x32801682, CHIP_FAMILY_TURKS,"AMD Radeon HD 7570", kPithecia },
{ 0x6759,0xE193174B, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570", kPithecia },
{ 0x675F,0x23141787, CHIP_FAMILY_TURKS,"AMD Radeon HD 5570", kNull},
{ 0x675F,0x254B1458, CHIP_FAMILY_TURKS,"AMD Radeon HD 5570", kNull},
{ 0x675F,0x6510148C, CHIP_FAMILY_TURKS,"AMD Radeon HD 5570", kNull},
{ 0x675F,0x6510174B, CHIP_FAMILY_TURKS,"AMD Radeon HD 5570", kNull},
{ 0x675F,0x23141787, CHIP_FAMILY_TURKS,"AMD Radeon HD 5570", kNull },
{ 0x675F,0x254B1458, CHIP_FAMILY_TURKS,"AMD Radeon HD 5570", kNull },
{ 0x675F,0x6510148C, CHIP_FAMILY_TURKS,"AMD Radeon HD 5570", kNull },
{ 0x675F,0x6510174B, CHIP_FAMILY_TURKS,"AMD Radeon HD 5570", kNull },
{ 0x6760,0x00031179, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea},
{ 0x6760,0x04C11028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea},
{ 0x6760,0x04CA1028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea},
{ 0x6760,0x04CC1028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea},
{ 0x6760,0x101C1043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea},
{ 0x6760,0x165A103C, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M", kIpomoea},
{ 0x6760,0x167D103C, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M", kIpomoea},
{ 0x6760,0x1CB21043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M", kIpomoea},
{ 0x6760,0x20011043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M", kIpomoea},
{ 0x6760,0x85171043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7470M", kNull},
{ 0x6760,0x00031179, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea },
{ 0x6760,0x04C11028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea },
{ 0x6760,0x04CA1028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea },
{ 0x6760,0x04CC1028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea },
{ 0x6760,0x101C1043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450M", kIpomoea },
{ 0x6760,0x165A103C, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M", kIpomoea },
{ 0x6760,0x167D103C, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M", kIpomoea },
{ 0x6760,0x1CB21043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M", kIpomoea },
{ 0x6760,0x20011043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M", kIpomoea },
{ 0x6760,0x85171043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7470M", kNull },
{ 0x6778,0x00241019, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7470", kBulrushes}, // Elitegroup
{ 0x6778,0x00271019, CHIP_FAMILY_CAICOS,"AMD Radeon HD 8470", kBulrushes}, // Elitegroup
{ 0x6778,0x21201028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7470", kBulrushes}, // Dell
{ 0x6778,0xB4911462, CHIP_FAMILY_CAICOS,"AMD Radeon HD 8470", kBulrushes}, // MSi
{ 0x6778,0xB4921462, CHIP_FAMILY_CAICOS,"AMD Radeon HD 8470", kBulrushes}, // MSi
{ 0x6778,0xB4931462, CHIP_FAMILY_CAICOS,"AMD Radeon HD 8470", kBulrushes}, // MSi
{ 0x6778,0x00241019, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7470", kBulrushes }, // Elitegroup
{ 0x6778,0x00271019, CHIP_FAMILY_CAICOS,"AMD Radeon HD 8470", kBulrushes }, // Elitegroup
{ 0x6778,0x21201028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7470", kBulrushes }, // Dell
{ 0x6778,0xB4911462, CHIP_FAMILY_CAICOS,"AMD Radeon HD 8470", kBulrushes }, // MSi
{ 0x6778,0xB4921462, CHIP_FAMILY_CAICOS,"AMD Radeon HD 8470", kBulrushes }, // MSi
{ 0x6778,0xB4931462, CHIP_FAMILY_CAICOS,"AMD Radeon HD 8470", kBulrushes }, // MSi
{ 0x6779,0x00001002, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x03DA1043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x03DC1043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x20121787, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x21201028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x21251462, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x22031458, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x22041458, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x23111787, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x32001682, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x64501092, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x909D1B0A, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0xE164174B, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kIpomoea},
{ 0x6779,0xE180174B, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kPithecia},
{ 0x6779,0xE190174B, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0xE199174B, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes},
{ 0x6779,0x00001002, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x03DA1043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x03DC1043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x20121787, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x21201028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x21251462, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x22031458, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x22041458, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x23111787, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x32001682, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x64501092, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0x909D1B0A, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0xE164174B, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kIpomoea },
{ 0x6779,0xE180174B, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kPithecia },
{ 0x6779,0xE190174B, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
{ 0x6779,0xE199174B, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450", kBulrushes },
/* Southen Islands */
{ 0x6798,0x04181043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji },
{ 0x6798,0x041C1043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji },
{ 0x6798,0x04201043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji},
{ 0x6798,0x04421043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji},
{ 0x6798,0x04441043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji},
{ 0x6798,0x04461043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji},
{ 0x6798,0x04481043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji},
{ 0x6798,0x044A1043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji},
{ 0x6798,0x044C1043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji},
{ 0x6798,0x044E1043, CHIP_FAMILY_TAHITI,"Asus HD7970 7970", kAji},
{ 0x6798,0x0B001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x201C1787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji}, // 7990 ???
{ 0x6798,0x23171787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x254D1458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x27701462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x30001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x30001787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x32101682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x32111682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x32121682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x32131682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x99991043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7990", kAji}, // Asus
{ 0x6798,0xE208174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji},
{ 0x6798,0x04181043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x041C1043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x04201043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x04421043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x04441043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x04461043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x04481043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x044A1043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x044C1043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x044E1043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x0B001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x201C1787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji }, // 7990 ???
{ 0x6798,0x23171787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x254D1458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x27701462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x30001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x30001787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x32101682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x32111682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x32121682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x32131682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x6798,0x99991043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7990", kAji }, // Asus
{ 0x6798,0xE208174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970", kAji },
{ 0x679A,0x04241043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x04261043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x0B001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x0B011002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 8900", kAji},
{ 0x679A,0x201C1787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x23161787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x254C1458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x27601462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x27711462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x30001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x30001462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 8950", kAji},
{ 0x679A,0x3000174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x30001787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x32121682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x32201682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x32211682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x32221682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x6616103C, CHIP_FAMILY_TAHITI,"HP Radeon HD 7950", kAji},
{ 0x679A,0x30001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x7950174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0xE207174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0xE208174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji},
{ 0x679A,0x04241043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x04261043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x0B001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x0B011002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 8900", kAji },
{ 0x679A,0x201C1787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x23161787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x254C1458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x27601462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x27711462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x30001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x30001462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 8950", kAji },
{ 0x679A,0x3000174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x30001787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x32121682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x32201682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x32211682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x32221682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x6616103C, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x30001002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0x7950174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0xE207174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x679A,0xE208174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950", kAji },
{ 0x6800,0x03711558, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki},
{ 0x6800,0x05501028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki},
{ 0x6800,0x05511028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki},
{ 0x6800,0x05544028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki},
{ 0x6800,0x057B1028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki},
{ 0x6800,0x05861028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki},
{ 0x6800,0x05871028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki},
{ 0x6800,0x05881028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki},
{ 0x6800,0x03711558, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki },
{ 0x6800,0x05501028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki },
{ 0x6800,0x05511028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki },
{ 0x6800,0x05544028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki },
{ 0x6800,0x057B1028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki },
{ 0x6800,0x05861028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki },
{ 0x6800,0x05871028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki },
{ 0x6800,0x05881028, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kDashimaki },
{ 0x6818,0x042F1043, CHIP_FAMILY_TAHITI,"Asus HD 7870", kAji},
{ 0x6818,0x04311043, CHIP_FAMILY_TAHITI,"Asus HD 7870", kAji},
{ 0x6818,0x0B041002, CHIP_FAMILY_TAHITI,"ATI Radeon HD 7870", kAji},
{ 0x6818,0x0B051002, CHIP_FAMILY_TAHITI,"ATI Radeon HD 8800", kAji},
{ 0x6818,0x201C1787, CHIP_FAMILY_TAHITI,"ATI Radeon HD 7870", kAji},
{ 0x6818,0x23211787, CHIP_FAMILY_TAHITI,"ATI Radeon HD 7870", kAji},
{ 0x6818,0x25541458, CHIP_FAMILY_TAHITI,"Gigabyte HD 7870", kAji},
{ 0x6818,0x27401462, CHIP_FAMILY_TAHITI,"ATI Radeon HD 7870", kAji},
{ 0x6818,0x32501682, CHIP_FAMILY_TAHITI,"ATI Radeon HD 7870", kChutoro},
{ 0x6818,0x32511682, CHIP_FAMILY_TAHITI,"ATI Radeon HD 7870", kAji},
{ 0x6818,0x7870174B, CHIP_FAMILY_TAHITI,"ATI Radeon HD 7870", kAji},
{ 0x6818,0x8B04174B, CHIP_FAMILY_TAHITI,"ATI Radeon HD 8860", kAji},
{ 0x6818,0xE217174B, CHIP_FAMILY_TAHITI,"ATI Radeon HD 7870", kAji},
{ 0x6818,0x042F1043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6818,0x04311043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6818,0x0B041002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6818,0x0B051002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 8800", kAji },
{ 0x6818,0x201C1787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6818,0x23211787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6818,0x25541458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6818,0x27401462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6818,0x32501682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kChutoro},
{ 0x6818,0x32511682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6818,0x7870174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6818,0x8B04174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 8860", kAji },
{ 0x6818,0xE217174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870", kAji },
{ 0x6819,0x042C1043, CHIP_FAMILY_TAHITI,"Asus HD 7850", kAji}, // Asus
{ 0x6819,0x04311043, CHIP_FAMILY_TAHITI,"Asus HD 7850", kAji}, // Asus
{ 0x6819,0x04331043, CHIP_FAMILY_TAHITI,"Asus HD 7850", kAji}, // Asus
{ 0x6819,0x043A1043, CHIP_FAMILY_TAHITI,"Asus HD 7850", kAji}, // Asus
{ 0x6819,0x045B1043, CHIP_FAMILY_TAHITI,"Asus HD 7850", kAji}, // Asus
{ 0x6819,0x0B041002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // ATI
{ 0x6819,0x201C1787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // HIS
{ 0x6819,0x23201787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // HIS
{ 0x6819,0x25531458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // Gigabyte
{ 0x6819,0x27301462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // MSI
{ 0x6819,0x27311462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // MSI
{ 0x6819,0x27321462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // MSI
{ 0x6819,0x32601682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // XFX
{ 0x6819,0x32621682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // XFX
{ 0x6819,0x32641682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // XFX
{ 0x6819,0xE218174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // Sapphire
{ 0x6819,0xE221174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji}, // Sapphire
{ 0x6819,0x042C1043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // Asus
{ 0x6819,0x04311043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // Asus
{ 0x6819,0x04331043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // Asus
{ 0x6819,0x043A1043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // Asus
{ 0x6819,0x045B1043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // Asus
{ 0x6819,0x0B041002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // ATI
{ 0x6819,0x201C1787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // HIS
{ 0x6819,0x23201787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // HIS
{ 0x6819,0x25531458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // Gigabyte
{ 0x6819,0x27301462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // MSI
{ 0x6819,0x27311462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // MSI
{ 0x6819,0x27321462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // MSI
{ 0x6819,0x32601682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // XFX
{ 0x6819,0x32621682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // XFX
{ 0x6819,0x32641682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // XFX
{ 0x6819,0xE218174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // Sapphire
{ 0x6819,0xE221174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850", kAji }, // Sapphire
{ 0x682F,0x15271043, CHIP_FAMILY_TAHITI,"Asus Radeon HD 7700M", kAji},
{ 0x682F,0x1831103C, CHIP_FAMILY_TAHITI,"HP Radeon HD 7730M", kAji},
{ 0x682F,0x1832103C, CHIP_FAMILY_TAHITI,"HP Radeon HD 7730M", kAji},
{ 0x682F,0x1834103C, CHIP_FAMILY_TAHITI,"HP Radeon HD 7730M", kAji},
{ 0x682F,0x18A7103C, CHIP_FAMILY_TAHITI,"HP Radeon HD 7730M", kAji},
{ 0x682F,0xC0DA144D, CHIP_FAMILY_TAHITI,"Samsung Radeon HD 7730M", kAji},
{ 0x682F,0x15271043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7700M", kAji },
{ 0x682F,0x1831103C, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7730M", kAji },
{ 0x682F,0x1832103C, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7730M", kAji },
{ 0x682F,0x1834103C, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7730M", kAji },
{ 0x682F,0x18A7103C, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7730M", kAji },
{ 0x682F,0xC0DA144D, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7730M", kAji },
{ 0x683D,0x00301002, CHIP_FAMILY_TAHITI,"Radeon HD 8760 OEM", kAji}, // VERDE?
{ 0x683D,0x00301019, CHIP_FAMILY_TAHITI,"Radeon HD 8760 OEM", kAji}, // VERDE?
{ 0x683D,0x04211043, CHIP_FAMILY_TAHITI,"Asus Radeon HD 7770", kAji},
{ 0x683D,0x23041002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7700", kAji},
{ 0x683D,0x25561458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji},
{ 0x683D,0x27101462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji},
{ 0x683D,0x2B301002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji},
{ 0x683D,0x32331682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji},
{ 0x683D,0x6886103C, CHIP_FAMILY_TAHITI,"HP Radeon HD 7700", kAji},
{ 0x683D,0x6890103C, CHIP_FAMILY_TAHITI,"Radeon HD 8760 OEM", kAji}, // VERDE?
{ 0x683D,0xE214174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji},
{ 0x683D,0x00301002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 8760", kAji }, // VERDE?
{ 0x683D,0x00301019, CHIP_FAMILY_TAHITI,"AMD Radeon HD 8760", kAji }, // VERDE?
{ 0x683D,0x04211043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji },
{ 0x683D,0x23041002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7700", kAji },
{ 0x683D,0x25561458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji },
{ 0x683D,0x27101462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji },
{ 0x683D,0x2B301002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji },
{ 0x683D,0x32331682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji },
{ 0x683D,0x6886103C, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7700", kAji },
{ 0x683D,0x6890103C, CHIP_FAMILY_TAHITI,"AMD Radeon HD 8760", kAji }, // VERDE?
{ 0x683D,0xE214174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7770", kAji },
{ 0x683F,0x04231043, CHIP_FAMILY_TAHITI,"Asus HD 7750", kChutoro},
{ 0x683F,0x04271043, CHIP_FAMILY_TAHITI,"Asus HD 7750", kChutoro},
{ 0x683F,0x04591043, CHIP_FAMILY_TAHITI,"Asus HD 7750", kChutoro},
{ 0x683F,0x04231043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x04271043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x04591043, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x200B1787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x23181787, CHIP_FAMILY_TAHITI,"Vertex3D HD 7750", kChutoro},
{ 0x683F,0x25511458, CHIP_FAMILY_TAHITI,"Gigabyte HD 7750", kChutoro},
{ 0x683F,0x23181787, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x25511458, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x27921462, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x2B301002, CHIP_FAMILY_TAHITI,"Ati HD 7750", kChutoro},
{ 0x683F,0x32411682, CHIP_FAMILY_TAHITI,"XFX HD 7750", kChutoro},
{ 0x683F,0x32421682, CHIP_FAMILY_TAHITI,"XFX HD 7750", kChutoro},
{ 0x683F,0x32451682, CHIP_FAMILY_TAHITI,"XFX HD 7750", kChutoro},
{ 0x683F,0xE2131019, CHIP_FAMILY_TAHITI,"Diamond HD 7750", kChutoro},
{ 0x683F,0x2B301002, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x32411682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x32421682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0x32451682, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0xE2131019, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0xE213174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x683F,0xE215174B, CHIP_FAMILY_TAHITI,"Sapphire HD 7750", kChutoro},
{ 0x683F,0xE215174B, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7750", kChutoro},
{ 0x6840,0x01241002, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series", kPondweed },
{ 0x6840,0x01341002, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series", kPondweed },
{ 0x6840,0x050E1025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x050F1025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x05131025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x05141025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x056D1025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x059A1025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x059B1025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x059E1025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x06001025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x06061025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x06961025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x06971025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x06981025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x06991025, CHIP_FAMILY_LOMBOK,"Acer HD 7670M", kPondweed },
{ 0x6840,0x100A1043, CHIP_FAMILY_LOMBOK,"Asus HD 7670M", kPondweed },
{ 0x6840,0x104B1043, CHIP_FAMILY_LOMBOK,"Asus HD 7670M", kPondweed },
{ 0x6840,0x10DC1043, CHIP_FAMILY_LOMBOK,"Asus HD 7670M", kPondweed },
{ 0x6840,0x1813103C, CHIP_FAMILY_LOMBOK,"HP HD 7590M", kPondweed },
{ 0x6840,0x182F103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x1830103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x1835103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x183A103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x183C103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x183E103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x1840103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x1842103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x1844103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x1848103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x184A103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x184C103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x1895103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x1897103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x18A5103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x18A7103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x18F4103C, CHIP_FAMILY_LOMBOK,"HP HD 7670M", kPondweed },
{ 0x6840,0x21211043, CHIP_FAMILY_LOMBOK,"Asus HD 7670M", kPondweed },
{ 0x6840,0x21221043, CHIP_FAMILY_LOMBOK,"Asus HD 7670M", kPondweed },
{ 0x6840,0x21231043, CHIP_FAMILY_LOMBOK,"Asus HD 7670M", kPondweed },
{ 0x6840,0x21251043, CHIP_FAMILY_LOMBOK,"Asus HD 7670M", kPondweed },
{ 0x6840,0x21271043, CHIP_FAMILY_LOMBOK,"Asus HD 7670M", kPondweed },
{ 0x6840,0x397017AA, CHIP_FAMILY_LOMBOK,"Lenovo HD 7670M", kPondweed },
{ 0x6840,0x397B17AA, CHIP_FAMILY_LOMBOK,"Lenovo HD 7670M", kPondweed },
{ 0x6840,0xC0C5144D, CHIP_FAMILY_LOMBOK,"Samsung HD 6000M series", kPondweed },
{ 0x6840,0xC0CE144D, CHIP_FAMILY_LOMBOK,"Samsung HD 7670M", kPondweed },
{ 0x6840,0xC0DA144D, CHIP_FAMILY_LOMBOK,"Samsung HD 7670M", kPondweed },
{ 0x6840,0xFB111179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB221179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB231179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB2C1179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB311179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB321179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB381179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB391179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB3A1179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB401179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB411179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB471179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB481179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB511179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB521179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB531179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB811179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB821179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFB831179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFC561179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFCD41179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0xFCEE1179, CHIP_FAMILY_LOMBOK,"Toshiba HD 7670M", kPondweed },
{ 0x6840,0x01241002, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series", kPondweed },
{ 0x6840,0x01341002, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series", kPondweed },
{ 0x6840,0x050E1025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x050F1025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x05131025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x05141025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x056D1025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x059A1025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x059B1025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x059E1025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x06001025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x06061025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x06961025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x06971025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x06981025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x06991025, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x100A1043, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x104B1043, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x10DC1043, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x1813103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7590M", kPondweed },
{ 0x6840,0x182F103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x1830103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x1835103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x183A103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x183C103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x183E103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x1840103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x1842103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x1844103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x1848103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x184A103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x184C103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x1895103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x1897103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x18A5103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x18A7103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x18F4103C, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x21211043, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x21221043, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x21231043, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x21251043, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x21271043, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x397017AA, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0x397B17AA, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xC0C5144D, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 6000M Series", kPondweed },
{ 0x6840,0xC0CE144D, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xC0DA144D, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB111179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB221179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB231179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB2C1179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB311179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB321179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB381179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB391179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB3A1179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB401179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB411179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB471179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB481179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB511179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB521179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB531179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB811179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB821179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFB831179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFC561179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFCD41179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
{ 0x6840,0xFCEE1179, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M", kPondweed },
/*old series*/
{ 0x5D48,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Mobile ", kNull },
{ 0x5D49,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Mobile ", kNull },
{ 0x5D4A,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Mobile ", kNull },
{ 0x5D48,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Mobile ", kNull },
{ 0x5D49,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Mobile ", kNull },
{ 0x5D4A,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Mobile ", kNull },
{ 0x5D4C,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D4D,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D4E,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D4F,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D50,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D4C,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D4D,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D4E,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D4F,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D50,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D52,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D52,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D57,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5D57,0x00000000, CHIP_FAMILY_R420,"ATI Radeon HD Desktop ", kNull },
{ 0x5E48,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E48,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4A,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4B,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4C,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4D,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4A,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4B,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4C,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4D,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4F,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x5E4F,0x00000000, CHIP_FAMILY_RV410,"ATI Radeon HD Desktop ", kNull },
{ 0x7100,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7101,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Mobile ", kNull },
{ 0x7102,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Mobile ", kNull },
{ 0x7103,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Mobile ", kNull },
{ 0x7104,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7105,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7106,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Mobile ", kNull },
{ 0x7108,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7109,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710A,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710B,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710C,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7100,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7101,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Mobile ", kNull },
{ 0x7102,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Mobile ", kNull },
{ 0x7103,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Mobile ", kNull },
{ 0x7104,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7105,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7106,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Mobile ", kNull },
{ 0x7108,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7109,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710A,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710B,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710C,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710E,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710F,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710E,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x710F,0x00000000, CHIP_FAMILY_R520,"ATI Radeon HD Desktop ", kNull },
{ 0x7140,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7141,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7142,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7143,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7144,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x7145,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x7146,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7147,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7140,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7141,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7142,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7143,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7144,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x7145,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x7146,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7147,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7149,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x714A,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x714B,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x714C,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x714D,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x714E,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x714F,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7149,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x714A,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x714B,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x714C,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x714D,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x714E,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x714F,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7151,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7152,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7153,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7151,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7152,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7153,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x715E,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x715F,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x715E,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x715F,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7180,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7181,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7183,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7180,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7181,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7183,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7186,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x7187,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7188,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD2300 Mobile ", kCaretta },
{ 0x7186,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x7187,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7188,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD2300 Mobile ", kCaretta},
{ 0x718A,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x718B,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x718C,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x718D,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x718A,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x718B,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x718C,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x718D,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x718F,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x718F,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7193,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x7193,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x7196,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta },
{ 0x7196,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kCaretta},
{ 0x719B,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x719B,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x719F,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta },
{ 0x719F,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kCaretta},
{ 0x71C0,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C1,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C2,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C3,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C4,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Mobile ", kWormy },
{ 0x71C0,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C1,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C2,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C3,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C4,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Mobile ", kWormy },
{ 0x71C5,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD 1600 Mobile ", kWormy },
{ 0x71C6,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C7,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C5,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD 1600 Mobile ", kWormy },
{ 0x71C6,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71C7,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71CD,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71CE,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71CD,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71CE,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71D2,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71D2,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71D4,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Mobile ", kWormy },
{ 0x71D5,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Mobile ", kWormy },
{ 0x71D6,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Mobile ", kWormy },
{ 0x71D4,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Mobile ", kWormy },
{ 0x71D5,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Mobile ", kWormy },
{ 0x71D6,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Mobile ", kWormy },
{ 0x71DA,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71DA,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon HD Desktop ", kWormy },
{ 0x71DE,0x00000000, CHIP_FAMILY_RV530,"ASUS M66 ATI Radeon Mobile ", kWormy },
{ 0x71DE,0x00000000, CHIP_FAMILY_RV530,"ATI Radeon Mobile ", kWormy },
{ 0x7200,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kWormy },
{ 0x7200,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Desktop ", kWormy },
{ 0x7210,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kWormy },
{ 0x7211,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kWormy },
{ 0x7210,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kWormy },
{ 0x7211,0x00000000, CHIP_FAMILY_RV515,"ATI Radeon HD Mobile ", kWormy },
{ 0x7240,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7240,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7243,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7244,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7245,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7246,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7247,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7248,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7249,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x724A,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x724B,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x724C,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x724D,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x724E,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x724F,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7243,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7244,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7245,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7246,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7247,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7248,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7249,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x724A,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x724B,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x724C,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x724D,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x724E,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x724F,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7280,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon X1950 Pro ", kAlopias},
{ 0x7281,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7283,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7284,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Mobile ", kAlopias},
{ 0x7280,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon X1950 Pro ", kAlopias },
{ 0x7281,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7283,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7284,0x00000000, CHIP_FAMILY_R580,"ATI Radeon HD Mobile ", kAlopias },
{ 0x7287,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7288,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7289,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7287,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7288,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7289,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon HD Desktop ", kAlopias },
{ 0x728B,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon HD Desktop ", kAlopias},
{ 0x728C,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon HD Desktop ", kAlopias},
{ 0x728B,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon HD Desktop ", kAlopias },
{ 0x728C,0x00000000, CHIP_FAMILY_RV570,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7290,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7291,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7290,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7291,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7293,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7293,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias },
{ 0x7297,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias},
{ 0x7297,0x00000000, CHIP_FAMILY_RV560,"ATI Radeon HD Desktop ", kAlopias },
/* IGP */
{ 0x791E,0x00000000, CHIP_FAMILY_RS690,"ATI Radeon IGP ", kNull},
{ 0x791F,0x00000000, CHIP_FAMILY_RS690,"ATI Radeon IGP ", kNull},
{ 0x796C,0x00000000, CHIP_FAMILY_RS740,"ATI Radeon IGP ", kNull},
/* standard/default models */
{ 0x9400,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull},
{ 0x9401,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull},
{ 0x9402,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull},
{ 0x9403,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull},
{ 0x9405,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull},
{ 0x940A,0x00000000, CHIP_FAMILY_R600,"ATI FireGL V8650", kNull},
{ 0x940B,0x00000000, CHIP_FAMILY_R600,"ATI FireGL V8600", kNull},
{ 0x940F,0x00000000, CHIP_FAMILY_R600,"ATI FireGL V7600", kNull},
{ 0x9400,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull },
{ 0x9401,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull },
{ 0x9402,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull },
{ 0x9403,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull },
{ 0x9405,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull },
{ 0x940A,0x00000000, CHIP_FAMILY_R600,"ATI FireGL V8650", kNull },
{ 0x940B,0x00000000, CHIP_FAMILY_R600,"ATI FireGL V8600", kNull },
{ 0x940F,0x00000000, CHIP_FAMILY_R600,"ATI FireGL V7600", kNull },
{ 0x9440,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 ",kMotmot},
{ 0x9441,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot},
{ 0x9442,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4850 Series",kMotmot},
{ 0x9443,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4850 X2", kMotmot},
{ 0x9444,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V8750 (FireGL)", kMotmot},
{ 0x9446,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V7770 (FireGL)",kMotmot},
{ 0x9447,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V8700 Duo (FireGL)",kMotmot},
{ 0x944A,0x00000000, CHIP_FAMILY_RV770,"ATI Mobility Radeon HD 4850",kMotmot},
{ 0x944B,0x00000000, CHIP_FAMILY_RV770,"ATI Mobility Radeon HD 4850 X2",kMotmot},
{ 0x944C,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4830 Series",kMotmot},
{ 0x944E,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4810 Series",kMotmot},
{ 0x9440,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 ", kMotmot },
{ 0x9441,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot },
{ 0x9442,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4850 Series", kMotmot },
{ 0x9443,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4850 X2", kMotmot },
{ 0x9444,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V8750 (FireGL)", kMotmot },
{ 0x9446,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V7770 (FireGL)", kMotmot },
{ 0x9447,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V8700 Duo (FireGL)", kMotmot },
{ 0x944A,0x00000000, CHIP_FAMILY_RV770,"ATI Mobility Radeon HD 4850", kMotmot },
{ 0x944B,0x00000000, CHIP_FAMILY_RV770,"ATI Mobility Radeon HD 4850 X2", kMotmot },
{ 0x944C,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4830 Series", kMotmot },
{ 0x944E,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4810 Series", kMotmot },
{ 0x9450,0x00000000, CHIP_FAMILY_RV770,"AMD FireStream 9270", kMotmot},
{ 0x9452,0x00000000, CHIP_FAMILY_RV770,"AMD FireStream 9250", kMotmot},
{ 0x9450,0x00000000, CHIP_FAMILY_RV770,"AMD FireStream 9270", kMotmot },
{ 0x9452,0x00000000, CHIP_FAMILY_RV770,"AMD FireStream 9250", kMotmot },
{ 0x9456,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V8700 (FireGL)",kMotmot},
{ 0x945A,0x00000000, CHIP_FAMILY_RV770,"ATI Mobility Radeon HD 4870",kMotmot},
{ 0x9456,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V8700 (FireGL)", kMotmot },
{ 0x945A,0x00000000, CHIP_FAMILY_RV770,"ATI Mobility Radeon HD 4870", kMotmot },
{ 0x9460,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9462,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9460,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series", kMotmot },
{ 0x9462,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series", kMotmot },
{ 0x9480,0x00000000, CHIP_FAMILY_RV730,"ATI Mobility Radeon HD 550v",kGliff},
{ 0x9480,0x00000000, CHIP_FAMILY_RV730,"ATI Mobility Radeon HD 550v", kGliff },
{ 0x9487,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD Series",kGliff},
{ 0x9488,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4650 Series",kGliff},
{ 0x9489,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD Series",kGliff},
{ 0x948A,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD Series",kGliff},
{ 0x948F,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD Series",kGliff},
{ 0x9490,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4670 Series",kGliff},
{ 0x9491,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4600 Series",kGliff},
{ 0x9495,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4650 Series",kGliff},
{ 0x9487,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD Series", kGliff },
{ 0x9488,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4650 Series", kGliff },
{ 0x9489,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD Series", kGliff },
{ 0x948A,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD Series", kGliff },
{ 0x948F,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD Series", kGliff },
{ 0x9490,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4670 Series", kGliff },
{ 0x9491,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4600 Series", kGliff },
{ 0x9495,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4650 Series", kGliff },
{ 0x9498,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4710 Series",kGliff},
{ 0x949C,0x00000000, CHIP_FAMILY_RV730,"ATI FirePro V7750 (FireGL)",kGliff},
{ 0x949E,0x00000000, CHIP_FAMILY_RV730,"ATI FirePro V5700 (FireGL)",kGliff},
{ 0x949F,0x00000000, CHIP_FAMILY_RV730,"ATI FirePro V3750 (FireGL)",kGliff},
{ 0x9498,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4710 Series", kGliff },
{ 0x949C,0x00000000, CHIP_FAMILY_RV730,"ATI FirePro V7750 (FireGL)", kGliff },
{ 0x949E,0x00000000, CHIP_FAMILY_RV730,"ATI FirePro V5700 (FireGL)", kGliff },
{ 0x949F,0x00000000, CHIP_FAMILY_RV730,"ATI FirePro V3750 (FireGL)", kGliff },
{ 0x94A0,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4830M", kFlicker},
{ 0x94A1,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4860M", kFlicker},
{ 0x94A3,0x00000000, CHIP_FAMILY_RV740,"ATI FirePro M7740", kFlicker},
{ 0x94B1,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD", kFlicker},
{ 0x94B3,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker},
{ 0x94B4,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4700 Series",kFlicker},
{ 0x94B5,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker},
{ 0x94B9,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD", kFlicker},
{ 0x94A0,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4830M", kFlicker },
{ 0x94A1,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4860M", kFlicker },
{ 0x94A3,0x00000000, CHIP_FAMILY_RV740,"ATI FirePro M7740", kFlicker },
{ 0x94B1,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD", kFlicker },
{ 0x94B3,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker },
{ 0x94B4,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4700 Series", kFlicker },
{ 0x94B5,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker },
{ 0x94B9,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD", kFlicker },
{ 0x94C0,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD Series", kIago},
{ 0x94C1,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C0,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD Series", kIago },
{ 0x94C1,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago },
{ 0x94C3,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2350 Series", kIago},
{ 0x94C4,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C5,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C6,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C7,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kIago},
{ 0x94C8,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C9,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C3,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2350 Series", kIago },
{ 0x94C4,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago },
{ 0x94C5,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago },
{ 0x94C6,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago },
{ 0x94C7,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2350", kIago },
{ 0x94C8,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago },
{ 0x94C9,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago },
{ 0x94CB,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94CC,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94CD,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO Series", kIago},
{ 0x94CB,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago },
{ 0x94CC,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago },
{ 0x94CD,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO Series", kIago },
{ 0x9500,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon},
{ 0x9501,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3690 Series", kMegalodon},
{ 0x9500,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon },
{ 0x9501,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3690 Series", kMegalodon },
{ 0x9504,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850M Series", kMegalodon},
{ 0x9505,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon},
{ 0x9506,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850 X2 M Series", kMegalodon},
{ 0x9507,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3830", kMegalodon},
{ 0x9508,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3870M Series", kMegalodon},
{ 0x9509,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3870 X2 MSeries", kMegalodon},
{ 0x9504,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850M Series", kMegalodon },
{ 0x9505,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon },
{ 0x9506,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850 X2 M Series", kMegalodon },
{ 0x9507,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3830", kMegalodon },
{ 0x9508,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3870M Series", kMegalodon },
{ 0x9509,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3870 X2 MSeries", kMegalodon },
{ 0x950F,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3870 X2", kMegalodon},
{ 0x950F,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3870 X2", kMegalodon },
{ 0x9511,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850 X2", kMegalodon},
{ 0x9511,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850 X2", kMegalodon },
{ 0x9513,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3850 X2", kMegalodon},
{ 0x9515,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850 Series", kMegalodon},
{ 0x9517,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD Series", kMegalodon},
{ 0x9513,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3850 X2", kMegalodon },
{ 0x9515,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850 Series", kMegalodon },
{ 0x9517,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD Series", kMegalodon },
{ 0x9519,0x00000000, CHIP_FAMILY_RV670,"AMD FireStream 9170", kMegalodon},
{ 0x9519,0x00000000, CHIP_FAMILY_RV670,"AMD FireStream 9170", kMegalodon },
{ 0x9540,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4550", kFlicker},
{ 0x9541,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD", kFlicker},
{ 0x9542,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD", kFlicker},
{ 0x954E,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD", kFlicker},
{ 0x954F,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4350", kFlicker},
{ 0x9540,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4550", kFlicker },
{ 0x9541,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD", kFlicker },
{ 0x9542,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD", kFlicker },
{ 0x954E,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD", kFlicker },
{ 0x954F,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4350", kFlicker },
{ 0x9552,0x00000000, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4300/4500 Series",kShrike},
{ 0x9553,0x00000000, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4500M/5100M Series",kShrike},
{ 0x9553,0x00000000, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4500M/5100M Series",kShrike},
{ 0x9555,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD4300/HD4500 series",kShrike},
{ 0x9555,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD4300/HD4500 Series",kShrike },
{ 0x9557,0x00000000, CHIP_FAMILY_RV710,"ATI FirePro RG220",kFlicker},
{ 0x9557,0x00000000, CHIP_FAMILY_RV710,"ATI FirePro RG220", kFlicker },
{ 0x955F,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4330M series", kFlicker},
{ 0x955F,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4330M Series", kFlicker },
{ 0x9580,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD Series",kHypoprion},
{ 0x9581,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT",kHypoprion},
{ 0x9580,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD Series", kHypoprion },
{ 0x9581,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT", kHypoprion },
{ 0x9583,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT",kHypoprion},
{ 0x9583,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT", kHypoprion },
{ 0x9586,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT Series",kHypoprion},
{ 0x9587,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 Pro Series",kHypoprion},
{ 0x9588,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT",kHypoprion},
{ 0x9589,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 PRO",kHypoprion},
{ 0x958A,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x958B,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x958C,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x958D,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x958E,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x958F,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD Series",kHypoprion},
{ 0x9586,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT Series",kHypoprion },
{ 0x9587,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 Pro Series",kHypoprion },
{ 0x9588,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT", kHypoprion },
{ 0x9589,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 Pro", kHypoprion },
{ 0x958A,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna },
{ 0x958B,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna },
{ 0x958C,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna },
{ 0x958D,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna },
{ 0x958E,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna },
{ 0x958F,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD Series", kHypoprion },
{ 0x9591,0x00000000, CHIP_FAMILY_RV635,"ATI Radeon HD 3600 Series",kMegalodon},
{ 0x9598,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3600 Series",kMegalodon},
{ 0x9598,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3600 Series",kMegalodon },
{ 0x95C0,0x00000000, CHIP_FAMILY_RV620,"ATI Radeon HD 3550 Series",kIago},
{ 0x95C0,0x00000000, CHIP_FAMILY_RV620,"ATI Radeon HD 3550 Series",kIago },
{ 0x95C4,0x00000000, CHIP_FAMILY_RV620,"ATI Radeon HD 3470 Series",kIago},
{ 0x95C4,0x00000000, CHIP_FAMILY_RV620,"ATI Radeon HD 3470 Series",kIago },
{ 0x95C5,0x00000000, CHIP_FAMILY_RV620,"ATI Radeon HD 3450 Series",kIago},
{ 0x95C6,0x00000000, CHIP_FAMILY_RV620,"ATI Radeon HD 3450 AGP",kIago},
{ 0x95C5,0x00000000, CHIP_FAMILY_RV620,"ATI Radeon HD 3450 Series",kIago },
{ 0x95C6,0x00000000, CHIP_FAMILY_RV620,"ATI Radeon HD 3450 AGP", kIago },
/* IGP */
{ 0x9610,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon HD 3200 Graphics",kNull},
{ 0x9611,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon HD 3100 Graphics", kNull},
{ 0x9614,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon HD 3300 Graphics",kNull},
{ 0x9610,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon HD 3200 Graphics",kNull },
{ 0x9611,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon HD 3100 Graphics", kNull },
{ 0x9616,0x00000000, CHIP_FAMILY_RS780,"AMD 760G", kNull},
{ 0x9614,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon HD 3300 Graphics",kNull },
{ 0x9640,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6550D",kNull },
{ 0x9641,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6620G",kNull },
{ 0x9642,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6370D",kNull },
{ 0x9643,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6380G",kNull },
{ 0x9644,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6410D",kNull },
{ 0x9645,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6410D",kNull },
{ 0x9647,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6520G",kNull },
{ 0x9648,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6480G",kNull },
{ 0x9649,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon(TM) HD 6480G",kNull },
{ 0x9616,0x00000000, CHIP_FAMILY_RS780,"AMD 760G", kNull },
{ 0x964A,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6530D",kNull },
{ 0x9640,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6550D", kNull },
{ 0x9641,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6620G", kNull },
{ 0x9642,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6370D", kNull },
{ 0x9643,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6380G", kNull },
{ 0x9644,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6410D", kNull },
{ 0x9645,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6410D", kNull },
{ 0x9647,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6520G", kNull },
{ 0x9648,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6480G", kNull },
{ 0x9649,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon(TM) HD 6480G", kNull },
{ 0x9710,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 4200 Series",kNull},
{ 0x964A,0x00000000, CHIP_FAMILY_SUMO,"AMD Radeon HD 6530D", kNull },
{ 0x9712,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 4200 Series",kNull},
{ 0x9710,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 4200 Series",kNull },
{ 0x9714,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 4290",kNull},
{ 0x9715,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 4250",kNull},
{ 0x9712,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 4200 Series",kNull },
{ 0x9723,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 5450 Series",kNull},
{ 0x9714,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 4290", kNull },
{ 0x9715,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 4250", kNull },
{ 0x9802,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6310 Series",kNull},
{ 0x9803,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6310 Series",kNull},
{ 0x9804,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6310 Series",kNull},
{ 0x9805,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6250 Series",kNull},
{ 0x9806,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6320 Series",kNull},
{ 0x9806,0x00000000, CHIP_FAMILY_WRESTLER,"AMD Radeon HD 6320 Graphics",kNull },
{ 0x9807,0x00000000, CHIP_FAMILY_WRESTLER,"AMD Radeon HD 6290 Graphics",kNull },
{ 0x9808,0x00000000, CHIP_FAMILY_WRESTLER,"AMD Radeon HD 7340 Graphics",kNull },
{ 0x9809,0x00000000, CHIP_FAMILY_WRESTLER,"AMD Radeon HD 7310 Graphics",kNull },
{ 0x9723,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 5450 Series",kNull },
{ 0x9900,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7660G", kNull },
{ 0x9901,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7660D", kNull },
{ 0x9903,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7640G", kNull },
{ 0x9904,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7560D", kNull },
{ 0x9906,0x00000000, CHIP_FAMILY_TRINITY,"AMD FirePro A300 Series", kNull },
{ 0x9907,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7620G", kNull },
{ 0x9908,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7600G", kNull },
{ 0x9910,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7660G", kNull },
{ 0x9913,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7640G", kNull },
{ 0x9802,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6310 Series",kNull },
{ 0x9803,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6310 Series",kNull },
{ 0x9804,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6310 Series",kNull },
{ 0x9805,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6250 Series",kNull },
{ 0x9806,0x00000000, CHIP_FAMILY_WRESTLER,"ATI Radeon HD 6320 Series",kNull },
{ 0x9806,0x00000000, CHIP_FAMILY_WRESTLER,"AMD Radeon HD 6320 Graphics",kNull },
{ 0x9807,0x00000000, CHIP_FAMILY_WRESTLER,"AMD Radeon HD 6290 Graphics",kNull },
{ 0x9808,0x00000000, CHIP_FAMILY_WRESTLER,"AMD Radeon HD 7340 Graphics",kNull },
{ 0x9809,0x00000000, CHIP_FAMILY_WRESTLER,"AMD Radeon HD 7310 Graphics",kNull },
{ 0x9900,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7660G", kNull },
{ 0x9901,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7660D", kNull },
{ 0x9903,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7640G", kNull },
{ 0x9904,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7560D", kNull },
{ 0x9906,0x00000000, CHIP_FAMILY_TRINITY,"AMD FirePro A300 Series", kNull },
{ 0x9907,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7620G", kNull },
{ 0x9908,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7600G", kNull },
{ 0x9910,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7660G", kNull },
{ 0x9913,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7640G", kNull },
{ 0x9990,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7520G", kNull },
{ 0x9991,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7540D", kNull },
{ 0x9992,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7420G", kNull },
{ 0x9994,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7400G", kNull },
{ 0x9990,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7520G", kNull },
{ 0x9991,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7540D", kNull },
{ 0x9992,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7420G", kNull },
{ 0x9994,0x00000000, CHIP_FAMILY_TRINITY,"AMD Radeon HD 7400G", kNull },
/* Evergreen */
{ 0x688D,0x00000000, CHIP_FAMILY_CYPRESS,"AMD FireStream 9350",kZonalis},
{ 0x6898,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870 Series",kUakari},
{ 0x6899,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850 Series",kUakari},
{ 0x688D,0x00000000, CHIP_FAMILY_CYPRESS,"AMD FireStream 9350", kZonalis},
//{ 0x689B,0x00000000, CHIP_FAMILY_???,"AMD Radeon HD 6800 Series",kNull},
{ 0x689C,0x00000000, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5900 Series",kUakari},
{ 0x6898,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5870 Series",kUakari },
{ 0x6899,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850 Series",kUakari },
{ 0x689E,0x00000000, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5800 Series",kUakari},
//{ 0x689B,0x00000000, CHIP_FAMILY_???,"AMD Radeon HD 6800 Series",kNull },
{ 0x689C,0x00000000, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5900 Series",kUakari },
{ 0x68A0,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 5770 Series",kHoolock}, // CHIP_FAMILY_BROADWAY ??
{ 0x68A1,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 5850 Series",kHoolock}, // CHIP_FAMILY_BROADWAY ??
{ 0x689E,0x00000000, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5800 Series",kUakari },
{ 0x68A8,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 6850M",kHoolock},
{ 0x68A9,0x00000000, CHIP_FAMILY_JUNIPER,"ATI FirePro V5800 (FireGL)",kHoolock},
{ 0x68A0,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 5770 Series",kHoolock }, // CHIP_FAMILY_BROADWAY ??
{ 0x68A1,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 5850 Series",kHoolock }, // CHIP_FAMILY_BROADWAY ??
{ 0x68A8,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 6850M", kHoolock},
{ 0x68A9,0x00000000, CHIP_FAMILY_JUNIPER,"ATI FirePro V5800 (FireGL)",kHoolock },
{ 0x68B0,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Mobility Radeon HD 5800 Series",kHoolock}, // CHIP_FAMILY_BROADWAY ??
{ 0x68B0,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Mobility Radeon HD 5800 Series", kHoolock}, // CHIP_FAMILY_BROADWAY ??
{ 0x68B1,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770 Series",kHoolock},
{ 0x68B8,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770 Series",kHoolock},
{ 0x68B9,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5700 Series",kHoolock},
{ 0x68BA,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6700 Series",kHoolock},
{ 0x68BC,0x00000000, CHIP_FAMILY_JUNIPER,"AMD FireStream 9370",kHoolock},
{ 0x68BD,0x00000000, CHIP_FAMILY_JUNIPER,"AMD FireStream 9350",kHoolock},
{ 0x68BC,0x00000000, CHIP_FAMILY_JUNIPER,"AMD FireStream 9370", kHoolock},
{ 0x68BD,0x00000000, CHIP_FAMILY_JUNIPER,"AMD FireStream 9350", kHoolock},
{ 0x68BE,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5750 Series",kHoolock},
{ 0x68BF,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5700 Series",kHoolock},
{ 0x68C0,0x00000000, CHIP_FAMILY_MANHATTAN,"AMD Radeon HD 6570M/5700 Series",kBaboon},
{ 0x68C1,0x00000000, CHIP_FAMILY_MANHATTAN,"AMD Radeon HD 6500M/5600/5700 Series",kBaboon},
{ 0x68C7,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Mobility Radeon HD 5570",kEulemur},
{ 0x68C8,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5650 Series",kBaboon},
{ 0x68C9,0x00000000, CHIP_FAMILY_REDWOOD,"FirePro 3D V3800",kBaboon},
{ 0x68C0,0x00000000, CHIP_FAMILY_MANHATTAN,"AMD Radeon HD 6570M/5700 Series",kBaboon },
{ 0x68C1,0x00000000, CHIP_FAMILY_MANHATTAN,"AMD Radeon HD 6500M/5600/5700 Series", kBaboon },
{ 0x68C7,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Mobility Radeon HD 5570",kEulemur },
{ 0x68C8,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5650 Series",kBaboon },
{ 0x68C9,0x00000000, CHIP_FAMILY_REDWOOD,"FirePro 3D V3800", kBaboon },
{ 0x68D8,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670 Series",kBaboon},
{ 0x68D9,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5500/5600 Series",kBaboon},
{ 0x68DA,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5500 Series",kBaboon},
{ 0x68D8,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670 Series",kBaboon },
{ 0x68D9,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5500/5600 Series",kBaboon },
{ 0x68DA,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5500 Series",kBaboon },
//{ 0x68DE,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD ??? Series",kNull},
//{ 0x68DE,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD ??? Series", kNull },
{ 0x68E0,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 5470 Series",kEulemur },
{ 0x68E1,0x00000000, CHIP_FAMILY_MANHATTAN,"AMD Radeon HD 6230", kEulemur },
{ 0x68E0,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 5470 Series",kEulemur},
{ 0x68E1,0x00000000, CHIP_FAMILY_MANHATTAN,"AMD Radeon HD 6230",kEulemur},
{ 0x68E4,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 6370M Series",kEulemur},
{ 0x68E5,0x00000000, CHIP_FAMILY_MANHATTAN,"ATI Radeon HD 6300M Series",kEulemur},
//{ 0x68E8,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
//{ 0x68E9,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
//{ 0x68E8,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series", kNull },
//{ 0x68E9,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series", kNull },
{ 0x68F1,0x00000000, CHIP_FAMILY_CEDAR,"AMD FirePro 2460",kEulemur},
{ 0x68F2,0x00000000, CHIP_FAMILY_CEDAR,"AMD FirePro 2270",kEulemur},
{ 0x68F1,0x00000000, CHIP_FAMILY_CEDAR,"AMD FirePro 2460", kEulemur},
{ 0x68F2,0x00000000, CHIP_FAMILY_CEDAR,"AMD FirePro 2270", kEulemur},
//{ 0x68F8,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
//{ 0x68F8,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series", kNull },
{ 0x68F9,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470 Series",kEulemur},
{ 0x68FA,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 7300 Series",kNull},
{ 0x68FA,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 7300 Series",kNull },
//{ 0x68FE,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
//{ 0x68FE,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series", kNull },
/* Northen Islands */
{ 0x6704,0x00000000, CHIP_FAMILY_CAYMAN,"AMD FirePro V7900",kLotus},
{ 0x6707,0x00000000, CHIP_FAMILY_CAYMAN,"AMD FirePro V5900",kLotus},
{ 0x6718,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970 Series",kLotus},
{ 0x6719,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950 Series",kLotus},
{ 0x6704,0x00000000, CHIP_FAMILY_CAYMAN,"AMD FirePro V7900", kLotus },
{ 0x6707,0x00000000, CHIP_FAMILY_CAYMAN,"AMD FirePro V5900", kLotus },
{ 0x671C,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970 Series",kLotus},
{ 0x671D,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950 Series",kLotus},
{ 0x6718,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970 Series",kLotus },
{ 0x6719,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950 Series",kLotus },
{ 0x671C,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970 Series",kLotus },
{ 0x671D,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950 Series",kLotus },
{ 0x671F,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6930 Series",kLotus},
{ 0x671F,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6930 Series",kLotus },
{ 0x6720,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 6900M Series",kFanwort},
{ 0x6720,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 6900M Series",kFanwort },
{ 0x6722,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6900M Series",kFanwort},
{ 0x6729,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6900M Series",kFanwort},
{ 0x6738,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870 Series",kDuckweed},
{ 0x6739,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850 Series",kDuckweed},
{ 0x6722,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6900M Series",kFanwort },
{ 0x6729,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6900M Series",kFanwort },
{ 0x6738,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870 Series",kDuckweed },
{ 0x6739,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850 Series",kDuckweed },
{ 0x673E,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790 Series",kDuckweed},
{ 0x6740,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 6770M Series",kCattail},
{ 0x6741,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 6750M",kCattail},
{ 0x6742,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 7500/7600 Series",kCattail},
{ 0x6740,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 6770M Series",kCattail},
{ 0x6741,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 6750M", kCattail},
{ 0x6742,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 7500/7600 Series",kCattail},
{ 0x6745,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 6600M Series",kCattail},
{ 0x6749,0x00000000, CHIP_FAMILY_TURKS,"ATI Radeon FirePro V4900",kPithecia},
{ 0x6745,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 6600M Series",kCattail},
{ 0x6749,0x00000000, CHIP_FAMILY_TURKS,"ATI Radeon FirePro V4900", kPithecia},
{ 0x674A,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6600M Series",kPithecia},
{ 0x6750,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670 Series",kPithecia},
{ 0x6758,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670 Series",kPithecia},
{ 0x6758,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670 Series",kPithecia },
{ 0x6759,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570/7570 Series",kPithecia},
{ 0x675B,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 7600 Series",kPithecia },
{ 0x675B,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 7600 Series",kPithecia },
{ 0x675D,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 7570M Series",kCattail},
{ 0x675F,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570 Series",kPithecia},
{ 0x6760,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M Series",kHydrilla},
{ 0x6761,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6430M Series",kHydrilla},
{ 0x6763,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon E6460 Series",kHydrilla},
{ 0x6763,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon E6460 Series", kHydrilla},
{ 0x6768,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400M Series",kHydrilla },
{ 0x6768,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400M Series",kHydrilla},
{ 0x6770,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400 Series",kBulrushes},
{ 0x6772,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7400A Series",kBulrushes},
{ 0x6778,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7000 Series",kBulrushes},
{ 0x6779,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450 Series",kBulrushes},
{ 0x6779,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450 Series",kBulrushes },
{ 0x677B,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7400 Series",kBulrushes},
{ 0x6780,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7900 Series",kFutomaki}, // ATI7000Controller.kext
//{ 0x6784,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD ??? Series",kFutomaki},
//{ 0x6784,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD ??? Series", kFutomaki},
//{ 0x6788,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD ??? Series",kFutomaki},
//{ 0x6788,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD ??? Series", kFutomaki},
{ 0x678A,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7900 Series",kFutomaki},
{ 0x6792,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7900 Series",kFutomaki},
{ 0x6798,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970 X-Edition",kFutomaki}, // ATI7000Controller.kext
{ 0x6799,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7990 Series",kAji},
{ 0x6799,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7990 Series",kAji },
{ 0x679A,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950 Series",kFutomaki}, // ATI7000Controller.kext
{ 0x679B,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7900 Series",kFutomaki},
{ 0x679E,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870 XT",kFutomaki}, // ATI7000Controller.kext
{ 0x679E,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870 XT", kFutomaki}, // ATI7000Controller.kext
{ 0x679F,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7950 Series",kFutomaki},
{ 0x6800,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M",kBuri}, // ATI7000Controller.kext
{ 0x6800,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7970M", kBuri }, // ATI7000Controller.kext
//{ 0x6801,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD 8970M Series",kFutomaki},
//{ 0x6802,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD ???M Series",kFutomaki},
{ 0x6806,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7600 Series",kFutomaki}, // ATI7000Controller.kext
{ 0x6806,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7600 Series",kFutomaki }, // ATI7000Controller.kext
{ 0x6808,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7600 Series",kFutomaki}, // ATI7000Controller.kext
//{ 0x6809,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD ??? Series",kNull},
{ 0x6810,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon R9 270X",kNull},
{ 0x6808,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7600 Series",kFutomaki }, // ATI7000Controller.kext
//{ 0x6809,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD ??? Series", kNull },
{ 0x6810,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon R9 270X", kNull },
{ 0x6818,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870 Series",kFutomaki}, // CHIP_FAMILY_PITCAIRN ??// ATI7000Controller.kext
{ 0x6819,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850 Series",kFutomaki},// CHIP_FAMILY_PITCAIRN ??
{ 0x6820,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series",kBuri}, // ATI7000Controller.kext
{ 0x6821,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series",kBuri}, // ATI7000Controller.kext
{ 0x6818,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7870 Series",kFutomaki }, // CHIP_FAMILY_PITCAIRN ??// ATI7000Controller.kext
{ 0x6819,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD 7850 Series",kFutomaki },// CHIP_FAMILY_PITCAIRN ??
{ 0x6820,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series",kBuri }, // ATI7000Controller.kext
{ 0x6821,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series",kBuri }, // ATI7000Controller.kext
//{ 0x6823,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 8850M Series",kBuri},
//{ 0x6824,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700M Series",kBuri},
{ 0x6825,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7870 Series",kBuri}, // ATI7000Controller.kext
{ 0x6826,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series",kBuri},
{ 0x6827,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7850M/8850M Series",kBuri}, // ATI7000Controller.kext
//{ 0x6828,0x00000000, CHIP_FAMILY_VERDE,"FirePro W600",kBuri},
//{ 0x6829,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD ??? Series",kBuri},
//{ 0x6823,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 8850M Series",kBuri },
//{ 0x6824,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700M Series",kBuri },
{ 0x6825,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7870 Series",kBuri }, // ATI7000Controller.kext
{ 0x6826,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series",kBuri },
{ 0x6827,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7850M/8850M Series",kBuri }, // ATI7000Controller.kext
//{ 0x6828,0x00000000, CHIP_FAMILY_VERDE,"FirePro W600", kBuri },
//{ 0x6829,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD ??? Series", kBuri },
{ 0x682B,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 8800M Series", kBuri},
{ 0x682B,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 8800M Series", kBuri },
{ 0x682D,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri}, // ATI7000Controller.kext
{ 0x682D,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext
{ 0x682F,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7730 Series", kBuri}, // ATI7000Controller.kext
{ 0x682F,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7730 Series", kBuri }, // ATI7000Controller.kext
{ 0x6830,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7800M Series", kBuri},
{ 0x6831,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri},
{ 0x6830,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7800M Series", kBuri },
{ 0x6831,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri },
{ 0x6837,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri},
{ 0x6838,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri},
{ 0x6839,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri}, // ATI7000Controller.kext
{ 0x6837,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri },
{ 0x6838,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri },
{ 0x6839,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext
{ 0x683B,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri}, // ATI7000Controller.kext
{ 0x683B,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext
{ 0x683D,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7770 Series", kBuri}, // ATI7000Controller.kext
{ 0x683D,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7770 Series", kBuri }, // ATI7000Controller.kext
{ 0x683F,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7750 Series", kBuri}, // ATI7000Controller.kext
{ 0x683F,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7750 Series", kBuri }, // ATI7000Controller.kext
{ 0x6840,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M Series",kPondweed }, // THAMES??
{ 0x6841,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7500M/7600M Series",kPondweed},
{ 0x6842,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series",kPondweed},
{ 0x6843,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 7670M Series",kPondweed},
{ 0x6849,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series",kPondweed },
{ 0x6840,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7670M Series", kPondweed }, // THAMES??
{ 0x6841,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7500M/7600M Series", kPondweed },
{ 0x6842,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series", kPondweed },
{ 0x6843,0x00000000, CHIP_FAMILY_VANCOUVER,"AMD Radeon HD 7670M Series", kPondweed },
{ 0x6849,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series", kPondweed },
//{ 0x684C,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD ??? Series",kNull},
{ 0x6850,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series",kPondweed },
{ 0x6858,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7400 Series",kPondweed },
{ 0x6859,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series",kPondweed },
//{ 0x684C,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD ??? Series", kNull },
{ 0x6850,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series", kPondweed },
{ 0x6858,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7400 Series", kPondweed },
{ 0x6859,0x00000000, CHIP_FAMILY_LOMBOK,"AMD Radeon HD 7600M Series", kPondweed },
{ 0x0000,0x00000000, CHIP_FAMILY_UNKNOW,NULL,kNull}
{ 0x0000,0x00000000, CHIP_FAMILY_UNKNOW,NULL, kNull }
};
card->mmio= (uint8_t *)(pci_config_read32(pci_dev->dev.addr, PCI_BASE_ADDRESS_2) & ~0x0f);
card->io= (uint8_t *)(pci_config_read32(pci_dev->dev.addr, PCI_BASE_ADDRESS_4) & ~0x03);
verbose("Framebuffer @0x%08X MMIO @0x%08XI/O Port @0x%08X ROM Addr @0x%08X\n",
verbose("ATI/AMD Framebuffer Addr: @0x%08X MMIO Addr: @0x%08X I/O Port Addr: @0x%08X ROM Addr: @0x%08X\n",
card->fb, card->mmio, card->io, pci_config_read32(pci_dev->dev.addr, PCI_ROM_ADDRESS));
card->posted = radeon_card_posted();
verbose("ATI card %s, ", card->posted ? "POSTed" : "non-POSTed");
verbose("ATI/AMD card %s, ", card->posted ? "POSTed" : "non-POSTed");
get_vram_size();
card->cfg_name = card_configs[card->info->cfg_name].name;
// which means one of the fb's or kNull
verbose("Framebuffer set to device's default: %s\n", card->cfg_name);
verbose("Framebuffer set to: %s using device's default.\n", card->cfg_name);
}
else
{
// else, use the fb name returned by AtiConfig.
verbose("(AtiConfig) Framebuffer set to: %s\n", card->cfg_name);
verbose("Framebuffer set to: %s using AtiConfig=%s\n", card->cfg_name, card->cfg_name);
}
// Check AtiPorts key for nr of ports,
if (n_ports > 0)
{
card->ports = n_ports; // use it.
verbose("(AtiPorts) # of ports set to: %d\n", card->ports);
verbose("Number of ports set to: %d using AtiPorts=%d\n", card->ports, card->ports);
}
else
{
}
}
verbose("# of ports set to framebuffer's default: %d\n", card->ports);
verbose("Number of ports set to: %d using framebuffer's default.\n", card->ports);
}
stringlength = string->length;
// -------------------------------------------------
verbose("ATI %s %s %dMB (%s) [%04x:%04x] (subsys [%04x:%04x]):: %s\n",
verbose("%s %dMB [%04x:%04x] (subsys [%04x:%04x]) (%s:%s) :: %s\n",
chip_family_name[card->info->chip_family], card->info->model_name,
(uint32_t)(card->vram_size / (1024 * 1024)), card->cfg_name,
ati_dev->vendor_id, ati_dev->device_id,
ati_dev->subsys_id.subsys.vendor_id, ati_dev->subsys_id.subsys.device_id,
chip_family_name[card->info->chip_family], card->cfg_name,
devicepath);
free(card);
branches/Chimera/i386/libsaio/cpu.c
2727
2828
2929
30
31
32
33
34
35
36
37
38
39
30
31
32
33
34
35
36
37
38
39
4040
4141
4242
4343
4444
45
45
4646
4747
4848
4949
5050
5151
52
53
54
55
52
53
54
55
5656
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
7272
7373
74
74
7575
7676
7777
7878
7979
8080
81
82
83
84
81
82
83
84
8585
86
87
88
89
86
87
88
89
9090
91
92
93
94
95
91
92
93
94
95
9696
9797
9898
......
126126
127127
128128
129
129
130130
131131
132132
133133
134134
135135
136
136
137137
138138
139139
140
140
141141
142142
143143
......
146146
147147
148148
149
149
150150
151151
152152
......
194194
195195
196196
197
197
198198
199199
200200
201201
202202
203203
204
204
205205
206206
207207
208
208
209209
210210
211211
......
230230
231231
232232
233
234
235
233
234
235
236
237
238
239
240
241
242
243
244
245
246
236247
237
238
239
240
241
242
243
248
249
244250
245251
246252
......
248254
249255
250256
251
252
253
257
258
259
254260
255
261
256262
257263
258264
......
260266
261267
262268
263
269
264270
265271
266272
......
272278
273279
274280
275
281
276282
277283
278284
279285
280286
281287
282
288
283289
284290
285291
286292
287
293
288294
289
295
290296
291297
292
298
293299
294
300
295301
296
302
297303
298
304
299305
300
306
301307
302
308
303309
304
310
305311
306
312
307313
308314
309315
310316
311317
312
313
314
318
319
320
315321
316322
317323
......
320326
321327
322328
323
329
324330
325331
326332
......
338344
339345
340346
341
342
347
348
343349
344350
345351
......
382388
383389
384390
385
391
386392
387393
388394
389
395
390396
391397
392398
393
399
394400
395401
396
402
397403
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
415420
416
417
418
421
422
423
419424
420
425
421426
422
423
424
425
426
427
428
429
430
427
431428
432429
433430
434431
435
432
436433
437434
438435
439436
440437
441438
442
439
443440
444441
445442
446
447
448
449
450
451
452
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
453475
476
454477
455478
456479
457480
458
459
460
481
482
483
461484
462
485
463486
464487
465488
466489
467
468
469
470
490
491
492
493
471494
472495
473496
474497
475
476
477
478
479
480
481
482
498
499
483500
484501
485502
486
503
487504
488505
489506
490507
491
508
492509
493510
494511
......
498515
499516
500517
501
518
502519
503520
504521
......
525542
526543
527544
528
545
529546
530547
531548
......
540557
541558
542559
543
560
544561
545
562
546563
547564
548565
549566
550567
551
568
552569
553
570
554571
555572
556573
557574
558
575
559576
560577
561578
562
563
564
579
580
581
565582
566583
567584
......
573590
574591
575592
576
593
577594
578595
579596
......
595612
596613
597614
598
615
599616
600
617
618
619
620
621
601622
602
623
624
625
626
627
603628
604629
605630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
606648
607
608
609
610
611
612
613
614
615
616
617
618649
619650
620651
*/
uint64_t timeRDTSC(void)
{
intattempts = 0;
uint64_t latchTime;
uint64_tsaveTime,intermediate;
unsigned int timerValue, lastValue;
//boolean_tint_enabled;
/*
* Table of correction factors to account for
* - timer counter quantization errors, and
* - undercounts 0..5
*/
intattempts = 0;
uint64_t latchTime;
uint64_tsaveTime,intermediate;
unsigned int timerValue, lastValue;
//boolean_tint_enabled;
/*
* Table of correction factors to account for
* - timer counter quantization errors, and
* - undercounts 0..5
*/
#define SAMPLE_CLKS_EXACT(((double) CLKNUM) / 20.0)
#define SAMPLE_CLKS_INT((int) CLKNUM / 20)
#define SAMPLE_NSECS(2000000000LL)
#define SAMPLE_MULTIPLIER(((double)SAMPLE_NSECS)*SAMPLE_CLKS_EXACT)
#define ROUND64(x)((uint64_t)((x) + 0.5))
uint64_tscale[6] = {
uint64_tscale[6] = {
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-0)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-1)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-2)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-3)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-4)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-5))
};
//int_enabled = ml_set_interrupts_enabled(FALSE);
};
//int_enabled = ml_set_interrupts_enabled(FALSE);
restart:
if (attempts >= 9) // increase to up to 9 attempts.
{
// This will flash-reboot. TODO: Use tscPanic instead.
printf("Timestamp counter calibation failed with %d attempts\n", attempts);
}
attempts++;
enable_PIT2();// turn on PIT2
set_PIT2(0);// reset timer 2 to be zero
latchTime = rdtsc64();// get the time stamp to time
latchTime = get_PIT2(&timerValue) - latchTime; // time how long this takes
set_PIT2(SAMPLE_CLKS_INT);// set up the timer for (almost) 1/20th a second
saveTime = rdtsc64();// now time how long a 20th a second is...
get_PIT2(&lastValue);
get_PIT2(&lastValue);// read twice, first value may be unreliable
do {
if (attempts >= 9) // increase to up to 9 attempts.
{
// This will flash-reboot. TODO: Use tscPanic instead.
printf("Timestamp counter calibation failed with %d attempts\n", attempts);
}
attempts++;
enable_PIT2();// turn on PIT2
set_PIT2(0);// reset timer 2 to be zero
latchTime = rdtsc64();// get the time stamp to time
latchTime = get_PIT2(&timerValue) - latchTime; // time how long this takes
set_PIT2(SAMPLE_CLKS_INT);// set up the timer for (almost) 1/20th a second
saveTime = rdtsc64();// now time how long a 20th a second is...
get_PIT2(&lastValue);
get_PIT2(&lastValue);// read twice, first value may be unreliable
do {
intermediate = get_PIT2(&timerValue);
if (timerValue > lastValue)
{
{
// Timer wrapped
set_PIT2(0);
disable_PIT2();
goto restart;
}
lastValue = timerValue;
} while (timerValue > 5);
printf("timerValue %d\n",timerValue);
printf("intermediate 0x%016llx\n",intermediate);
printf("saveTime 0x%016llx\n",saveTime);
} while (timerValue > 5);
printf("timerValue %d\n",timerValue);
printf("intermediate 0x%016llx\n",intermediate);
printf("saveTime 0x%016llx\n",saveTime);
intermediate -= saveTime;// raw count for about 1/20 second
intermediate *= scale[timerValue];// rescale measured time spent
intermediate /= SAMPLE_NSECS;// so its exactly 1/20 a second
intermediate += latchTime;// add on our save fudge
intermediate -= saveTime;// raw count for about 1/20 second
intermediate *= scale[timerValue];// rescale measured time spent
intermediate /= SAMPLE_NSECS;// so its exactly 1/20 a second
intermediate += latchTime;// add on our save fudge
set_PIT2(0);// reset timer 2 to be zero
disable_PIT2();// turn off PIT 2
//ml_set_interrupts_enabled(int_enabled);
return intermediate;
set_PIT2(0);// reset timer 2 to be zero
disable_PIT2();// turn off PIT 2
//ml_set_interrupts_enabled(int_enabled);
return intermediate;
}
/*
/* The poll loop must have run at least a few times for accuracy */
if (pollCount <= 1) {
continue;
}
}
/* The TSC must increment at LEAST once every millisecond.
* We should have waited exactly 30 msec so the TSC delta should
* be >= 30. Anything less and the processor is way too slow.
*/
if ((tscEnd - tscStart) <= CALIBRATE_TIME_MSEC) {
continue;
}
}
// tscDelta = MIN(tscDelta, (tscEnd - tscStart))
if ( (tscEnd - tscStart) < tscDelta ) {
tscDelta = tscEnd - tscStart;
}
}
}
/* tscDelta is now the least number of TSC ticks the processor made in
* a timespan of 0.03 s (e.g. 30 milliseconds)
* Hz so we need to convert our milliseconds to seconds. Since we're
* dividing by the milliseconds, we simply multiply by 1000.
*/
/* Unlike linux, we're not limited to 32-bit, but we do need to take care
* that we're going to multiply by 1000 first so we do need at least some
* arithmetic headroom. For now, 32-bit should be enough.
/* The poll loop must have run at least a few times for accuracy */
if (pollCount <= 1) {
continue;
}
}
/* The TSC must increment at LEAST once every millisecond.
* We should have waited exactly 30 msec so the APERF delta should
* be >= 30. Anything less and the processor is way too slow.
*/
if ((aperfEnd - aperfStart) <= CALIBRATE_TIME_MSEC) {
continue;
}
}
// tscDelta = MIN(tscDelta, (tscEnd - tscStart))
if ( (aperfEnd - aperfStart) < aperfDelta ) {
aperfDelta = aperfEnd - aperfStart;
}
}
}
/* mperfDelta is now the least number of MPERF ticks the processor made in
* a timespan of 0.03 s (e.g. 30 milliseconds)
*/
void scan_cpu(PlatformInfo_t *p)
{
uint64_ttscFrequency, fsbFrequency, cpuFrequency;
uint64_tmsr, flex_ratio;
uint8_tmaxcoef, maxdiv, currcoef, bus_ratio_max, currdiv;
uint64_ttscFrequency = 0;
uint64_tfsbFrequency = 0;
uint64_tcpuFrequency =0;
uint64_tmsr = 0;
uint64_tflex_ratio = 0;
uint32_tmax_ratio = 0;
uint32_tmin_ratio = 0;
uint8_tbus_ratio_max = 0;
uint8_tbus_ratio_min = 0;
uint8_tcurrdiv = 0;
uint8_tcurrcoef = 0;
uint8_tmaxdiv = 0;
uint8_tmaxcoef = 0;
const char*newratio;
intlen, myfsb;
uint8_tbus_ratio_min;
uint32_tmax_ratio, min_ratio;
max_ratio = min_ratio = myfsb = bus_ratio_min = 0;
maxcoef = maxdiv = bus_ratio_max = currcoef = currdiv = 0;
intlen = 0;
/* get cpuid values */
do_cpuid(0x00000000, p->CPU.CPUID[CPUID_0]);
do_cpuid(0x00000001, p->CPU.CPUID[CPUID_1]);
do_cpuid(0x00000003, p->CPU.CPUID[CPUID_3]);
do_cpuid2(0x00000004, 0, p->CPU.CPUID[CPUID_4]);
do_cpuid(0x80000000, p->CPU.CPUID[CPUID_80]);
if (p->CPU.CPUID[CPUID_0][0] >= 0x5) {
do_cpuid(5, p->CPU.CPUID[CPUID_5]);
}
if (p->CPU.CPUID[CPUID_0][0] >= 0x5) {
do_cpuid(5, p->CPU.CPUID[CPUID_5]);
}
if (p->CPU.CPUID[CPUID_0][0] >= 6) {
do_cpuid(6, p->CPU.CPUID[CPUID_6]);
do_cpuid(6, p->CPU.CPUID[CPUID_6]);
}
if ((p->CPU.CPUID[CPUID_80][0] & 0x0000000f) >= 8) {
do_cpuid(0x80000008, p->CPU.CPUID[CPUID_88]);
} else if ((p->CPU.CPUID[CPUID_80][0] & 0x0000000f) >= 1) {
do_cpuid(0x80000001, p->CPU.CPUID[CPUID_81]);
}
#if DEBUG_CPU
{
inti;
}
}
#endif
/*
EAX (Intel):
31 28 27 20 19 16 1514 1312 11 8 7 4 3 0
+--------+----------------+--------+----+----+--------+--------+--------+
|########|Extended family |Extmodel|####|type|familyid| model |stepping|
+--------+----------------+--------+----+----+--------+--------+--------+
EAX (AMD):
31 28 27 20 19 16 1514 1312 11 8 7 4 3 0
+--------+----------------+--------+----+----+--------+--------+--------+
|########|Extended family |Extmodel|####|####|familyid| model |stepping|
+--------+----------------+--------+----+----+--------+--------+--------+
+--------+----------------+--------+----+----+--------+--------+--------+
*/
p->CPU.Vendor= p->CPU.CPUID[CPUID_0][1];
p->CPU.Signature= p->CPU.CPUID[CPUID_1][0];
// stepping = cpu_feat_eax & 0xF;
// stepping = cpu_feat_eax & 0xF;
p->CPU.Stepping= bitfield(p->CPU.CPUID[CPUID_1][0], 3, 0);
// model = (cpu_feat_eax >> 4) & 0xF;
// model = (cpu_feat_eax >> 4) & 0xF;
p->CPU.Model= bitfield(p->CPU.CPUID[CPUID_1][0], 7, 4);
// family = (cpu_feat_eax >> 8) & 0xF;
// family = (cpu_feat_eax >> 8) & 0xF;
p->CPU.Family= bitfield(p->CPU.CPUID[CPUID_1][0], 11, 8);
// type = (cpu_feat_eax >> 12) & 0x3;
// type = (cpu_feat_eax >> 12) & 0x3;
//p->CPU.Type= bitfield(p->CPU.CPUID[CPUID_1][0], 13, 12);
// ext_model = (cpu_feat_eax >> 16) & 0xF;
// ext_model = (cpu_feat_eax >> 16) & 0xF;
p->CPU.ExtModel= bitfield(p->CPU.CPUID[CPUID_1][0], 19, 16);
// ext_family = (cpu_feat_eax >> 20) & 0xFF;
// ext_family = (cpu_feat_eax >> 20) & 0xFF;
p->CPU.ExtFamily= bitfield(p->CPU.CPUID[CPUID_1][0], 27, 20);
p->CPU.Model += (p->CPU.ExtModel << 4);
if (p->CPU.Vendor == CPUID_VENDOR_INTEL &&
p->CPU.Family == 0x06 &&
p->CPU.Model >= CPU_MODEL_NEHALEM &&
p->CPU.Model != CPU_MODEL_ATOM// MSR is *NOT* available on the Intel Atom CPU
) {
msr = rdmsr64(MSR_CORE_THREAD_COUNT);// Undocumented MSR in Nehalem and newer CPUs
p->CPU.NoCores= bitfield((uint32_t)msr, 31, 16);// Using undocumented MSR to get actual values
p->CPU.NoThreads= bitfield((uint32_t)msr, 15, 0);// Using undocumented MSR to get actual values
msr = rdmsr64(MSR_CORE_THREAD_COUNT);// MacMan: Undocumented MSR in Nehalem and newer CPUs
p->CPU.NoCores= bitfield((uint32_t)msr, 31, 16);// MacMan: Using undocumented MSR to get actual values
p->CPU.NoThreads= bitfield((uint32_t)msr, 15, 0);// MacMan: Using undocumented MSR to get actual values
} else if (p->CPU.Vendor == CPUID_VENDOR_AMD) {
p->CPU.NoThreads= bitfield(p->CPU.CPUID[CPUID_1][1], 23, 16);
p->CPU.NoCores= bitfield(p->CPU.CPUID[CPUID_88][2], 7, 0) + 1;
p->CPU.NoThreads= bitfield(p->CPU.CPUID[CPUID_1][1], 23, 16);
p->CPU.NoCores= bitfield(p->CPU.CPUID[CPUID_4][0], 31, 26) + 1;
}
/* get brand string (if supported) */
/* Copyright: from Apple's XNU cpuid.c */
if (p->CPU.CPUID[CPUID_80][0] > 0x80000004) {
bcopy((char *)reg, &str[32], 16);
for (s = str; *s != '\0'; s++) {
if (*s != ' ') {
break;
}
break;
}
}
strlcpy(p->CPU.BrandString, s, sizeof(p->CPU.BrandString));
if (p->CPU.NoThreads > p->CPU.NoCores) {
p->CPU.Features |= CPU_FEATURE_HTT;
}
tscFrequency = measure_tsc_frequency();
/* if usual method failed */
if ( tscFrequency < 1000 ) { //TEST
tscFrequency = timeRDTSC() * 20;
tscFrequency = timeRDTSC() * 20;
}
fsbFrequency = 0;
cpuFrequency = 0;
if ((p->CPU.Vendor == CPUID_VENDOR_INTEL) && ((p->CPU.Family == 0x06) || (p->CPU.Family == 0x0f))) {
int intelCPU = p->CPU.Model;
if ((p->CPU.Family == 0x06 && p->CPU.Model >= 0x0c) || (p->CPU.Family == 0x0f && p->CPU.Model >= 0x03)){
if ((p->CPU.Family == 0x06 && p->CPU.Model >= 0x0c) || (p->CPU.Family == 0x0f && p->CPU.Model >= 0x03)) {
/* Nehalem CPU model */
if (p->CPU.Family == 0x06 && (p->CPU.Model == CPU_MODEL_NEHALEM||
p->CPU.Model == CPU_MODEL_FIELDS||
p->CPU.Model == CPU_MODEL_DALES||
p->CPU.Model == CPU_MODEL_DALES_32NM||
p->CPU.Model == CPU_MODEL_WESTMERE||
p->CPU.Model == CPU_MODEL_NEHALEM_EX||
p->CPU.Model == CPU_MODEL_WESTMERE_EX ||
p->CPU.Model == CPU_MODEL_SANDYBRIDGE ||
p->CPU.Model == CPU_MODEL_JAKETOWN ||
p->CPU.Model == CPU_MODEL_IVYBRIDGE_XEON||
p->CPU.Model == CPU_MODEL_IVYBRIDGE ||
p->CPU.Model == CPU_MODEL_HASWELL ||
p->CPU.Model == CPU_MODEL_HASWELL_SVR ||
//p->CPU.Model == CPU_MODEL_HASWELL_H ||
p->CPU.Model == CPU_MODEL_HASWELL_ULT ||
p->CPU.Model == CPU_MODEL_CRYSTALWELL ))
{
if (p->CPU.Family == 0x06 && (
p->CPU.Model == CPU_MODEL_NEHALEM ||
p->CPU.Model == CPU_MODEL_FIELDS ||
p->CPU.Model == CPU_MODEL_DALES ||
p->CPU.Model == CPU_MODEL_DALES_32NM ||
p->CPU.Model == CPU_MODEL_WESTMERE ||
p->CPU.Model == CPU_MODEL_NEHALEM_EX ||
p->CPU.Model == CPU_MODEL_WESTMERE_EX ||
p->CPU.Model == CPU_MODEL_SANDYBRIDGE ||
p->CPU.Model == CPU_MODEL_JAKETOWN ||
p->CPU.Model == CPU_MODEL_IVYBRIDGE ||
p->CPU.Model == CPU_MODEL_IVYBRIDGE_XEON||
p->CPU.Model == CPU_MODEL_HASWELL ||
p->CPU.Model == CPU_MODEL_HASWELL_SVR ||
p->CPU.Model == CPU_MODEL_HASWELL_ULT ||
p->CPU.Model == CPU_MODEL_CRYSTALWELL )){
msr = rdmsr64(MSR_PLATFORM_INFO);
DBG("msr(%d): platform_info %08x\n", __LINE__, bitfield(msr, 31, 0));
bus_ratio_max = bitfield(msr, 15, 8);
bus_ratio_min = bitfield(msr, 47, 40); //valv: not sure about this one (Remarq.1)
//DBG("msr(%d): platform_info %08x\n", __LINE__, bitfield(msr, 31, 0));
bus_ratio_max = bitfield(msr, 15, 8);//MacMan: Changed bitfield to match Apple tsc.c
bus_ratio_min = bitfield(msr, 47, 40);//MacMan: Changed bitfield to match Apple tsc.c
msr = rdmsr64(MSR_FLEX_RATIO);
DBG("msr(%d): flex_ratio %08x\n", __LINE__, bitfield(msr, 31, 0));
//DBG("msr(%d): flex_ratio %08x\n", __LINE__, bitfield(msr, 31, 0));
if (bitfield(msr, 16, 16)) {
flex_ratio = bitfield(msr, 15, 8);
/* bcc9: at least on the gigabyte h67ma-ud2h,
where the cpu multipler can't be changed to
allow overclocking, the flex_ratio msr has unexpected (to OSX)
contents.These contents cause mach_kernel to
fail to compute the bus ratio correctly, instead
causing the system to crash since tscGranularity
is inadvertently set to 0.
*/
flex_ratio = bitfield(msr, 15, 8);//MacMan: Changed bitfield to match Apple tsc.c
if (flex_ratio == 0) {
/* Clear bit 16 (evidently the presence bit) */
wrmsr64(MSR_FLEX_RATIO, (msr & 0xFFFFFFFFFFFEFFFFULL));
msr = rdmsr64(MSR_FLEX_RATIO);
verbose("Unusable flex ratio detected. Patched MSR now %08x\n", bitfield(msr, 31, 0));
//verbose("Unusable flex ratio detected. Patched MSR now %08x\n", bitfield(msr, 31, 0));
} else {
if (bus_ratio_max > flex_ratio) {
bus_ratio_max = flex_ratio;
}
}
}
if (bus_ratio_max) {
fsbFrequency = (tscFrequency / bus_ratio_max);
}
//valv: Turbo Ratio Limit
if ((intelCPU != 0x2e) && (intelCPU != 0x2f)) {
msr = rdmsr64(MSR_TURBO_RATIO_LIMIT);
cpuFrequency = bus_ratio_max * fsbFrequency;
max_ratio = bus_ratio_max * 10;
} else {
cpuFrequency = tscFrequency;
//MacMan: Turbo Ratio Limit
switch (intelCPU)
{
case CPU_MODEL_WESTMERE_EX: // Intel Xeon E7
case CPU_MODEL_NEHALEM_EX: // Intel Xeon X75xx, Xeon X65xx, Xeon E75xx, Xeon E65xx
{
cpuFrequency = tscFrequency;
DBG("cpu.c (%d)CPU_MODEL_NEHALEM_EX or CPU_MODEL_WESTMERE_EX Found\n", __LINE__);
break;
}
case CPU_MODEL_SANDYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (32nm)
case CPU_MODEL_IVYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (22nm)
case CPU_MODEL_JAKETOWN: // Intel Core i7, Xeon E5 LGA2011 (32nm)
case CPU_MODEL_IVYBRIDGE_XEON: // Intel Core i7, Xeon E5 LGA2011 (22nm)
case CPU_MODEL_HASWELL: // Intel Core i3, i5, i7, Xeon E3 LGA1050 (22nm)
case CPU_MODEL_HASWELL_ULT:
case CPU_MODEL_CRYSTALWELL:
{
msr = rdmsr64(MSR_IA32_PERF_STATUS);
currcoef = bitfield(msr, 15, 8);
cpuFrequency = currcoef * fsbFrequency;
maxcoef = bus_ratio_max;
break;
}
default:
{
msr = rdmsr64(MSR_IA32_PERF_STATUS);
currcoef = bitfield(msr, 7, 0);
cpuFrequency = currcoef * fsbFrequency;
maxcoef = bus_ratio_max;
break;
}
}
if ((getValueForKey(kbusratio, &newratio, &len, &bootInfo->chameleonConfig)) && (len <= 4)) {
max_ratio = atoi(newratio);
max_ratio = (max_ratio * 10);
if (len >= 3) {
max_ratio = (max_ratio + 5);
}
max_ratio = (max_ratio + 5);
}
verbose("Bus-Ratio: min=%d, max=%s\n", bus_ratio_min, newratio);
// extreme overclockers may love 320 ;)
if ((max_ratio >= min_ratio) && (max_ratio <= 320)) {
cpuFrequency = (fsbFrequency * max_ratio) / 10;
if (len >= 3) {
maxdiv = 1;
} else {
maxdiv = 0;
}
maxdiv = 1;
} else {
maxdiv = 0;
}
} else {
max_ratio = (bus_ratio_max * 10);
}
}
//valv: to be uncommented if Remarq.1 didn't stick
/*if (bus_ratio_max > 0) bus_ratio = flex_ratio;*/
p->CPU.MaxRatio = max_ratio;
p->CPU.MinRatio = min_ratio;
myfsb = fsbFrequency / 1000000;
verbose("Sticking with [BCLK: %dMhz, Bus-Ratio: %d]\n", myfsb, max_ratio/10); // Bungo: fixed wrong Bus-Ratio readout
currcoef = bus_ratio_max;
p->CPU.MaxRatio = bus_ratio_max;
p->CPU.MinRatio = bus_ratio_min;
} else {
msr = rdmsr64(MSR_IA32_PERF_STATUS);
DBG("msr(%d): ia32_perf_stat 0x%08x\n", __LINE__, bitfield(msr, 31, 0));
currcoef = bitfield(msr, 12, 8); // Bungo: reverted to 2263 state because of wrong old CPUs freq. calculating
currcoef = bitfield(msr, 15, 8); //MacMan: Fixed bitfield to Intel documentation
/* Non-integer bus ratio for the max-multi*/
maxdiv = bitfield(msr, 46, 46);
/* Non-integer bus ratio for the current-multi (undocumented)*/
currdiv = bitfield(msr, 14, 14);
// This will always be model >= 3
if ((p->CPU.Family == 0x06 && p->CPU.Model >= 0x0e) || (p->CPU.Family == 0x0f)) {
/* On these models, maxcoef defines TSC freq */
/* XXX */
maxcoef = currcoef;
}
if (maxcoef) {
if (maxdiv) {
fsbFrequency = ((tscFrequency * 2) / ((maxcoef * 2) + 1));
maxcoef = bitfield(msr, 21, 16) / 2 + 4;
currcoef = bitfield(msr, 5, 0) / 2 + 4;
break;
case 0x01: /* K10 */
msr = rdmsr64(K10_COFVID_STATUS);
do_cpuid2(0x00000006, 0, p->CPU.CPUID[CPUID_6]);
maxcoef = bitfield(msr, 54, 49) / 2 + 4;
currcoef = bitfield(msr, 5, 0) + 0x10;
currdiv = 2 << bitfield(msr, 8, 6);
break;
case 0x05: /* K14 */
msr = rdmsr64(K10_COFVID_STATUS);
currcoef = (bitfield(msr, 54, 49) + 0x10) << 2;
currdiv = (bitfield(msr, 8, 4) + 1) << 2;
currdiv += bitfield(msr, 3, 0);
break;
case 0x02: /* K11 */
// not implimented
break;
}
if (maxcoef) {
if (currdiv) {
if (!currcoef) {
currcoef = maxcoef;
}
currcoef = maxcoef;
}
if (!cpuFrequency) {
fsbFrequency = ((tscFrequency * currdiv) / currcoef);
} else {
fsbFrequency = (tscFrequency / maxcoef);
} else {
fsbFrequency = (cpuFrequency / maxcoef);
}
}
DBG("%d\n", currcoef);
}
} else if (currcoef) {
DBG("0 ! using the default value for FSB !\n");
}
#endif
p->CPU.MaxCoef = maxcoef;
p->CPU.MaxDiv = maxdiv;
if (maxdiv == 0){
p->CPU.MaxDiv = bus_ratio_max;
} else {
p->CPU.MaxDiv = maxdiv;
}
p->CPU.CurrCoef = currcoef;
p->CPU.CurrDiv = currdiv;
if (currdiv == 0){
p->CPU.CurrDiv = currcoef;
} else {
p->CPU.CurrDiv = currdiv;
}
p->CPU.TSCFrequency = tscFrequency;
p->CPU.FSBFrequency = fsbFrequency;
p->CPU.CPUFrequency = cpuFrequency;
// keep formatted with spaces instead of tabs
DBG("CPU: Brand String: %s\n", p->CPU.BrandString);
DBG("CPU: Vendor: 0x%x\n", p->CPU.Vendor);
DBG("CPU: Family / ExtFamily: 0x%x / 0x%x\n", p->CPU.Family, p->CPU.ExtFamily);
DBG("CPU: Model / ExtModel / Stepping: 0x%x / 0x%x / 0x%x\n", p->CPU.Model, p->CPU.ExtModel, p->CPU.Stepping);
DBG("CPU: Number of Cores / Threads: %d / %d\n", p->CPU.NoCores, p->CPU.NoThreads);
DBG("CPU: Features: 0x%08x\n", p->CPU.Features);
DBG("CPU: TSC Frequency: %d MHz\n", p->CPU.TSCFrequency / 1000000);
DBG("CPU: FSB Frequency: %d MHz\n", p->CPU.FSBFrequency / 1000000);
DBG("CPU: CPU Frequency: %d MHz\n", p->CPU.CPUFrequency / 1000000);
DBG("CPU: Minimum Bus Ratio: %d\n", p->CPU.MinRatio);
DBG("CPU: Maximum Bus Ratio: %d\n", p->CPU.MaxRatio);
DBG("CPU: Current Bus Ratio: %d\n", p->CPU.CurrCoef);
//DBG("CPU: Maximum Multiplier: %d\n", p->CPU.MaxCoef);
//DBG("CPU: Maximum Divider: %d\n", p->CPU.MaxDiv);
//DBG("CPU: Current Divider: %d\n", p->CPU.CurrDiv);
// keep formatted with spaces instead of tabs
DBG("CPU: Brand String: %s\n", p->CPU.BrandString);
DBG("CPU: Vendor/Family/ExtFamily: 0x%x/0x%x/0x%x\n", p->CPU.Vendor, p->CPU.Family, p->CPU.ExtFamily);
DBG("CPU: Model/ExtModel/Stepping: 0x%x/0x%x/0x%x\n", p->CPU.Model, p->CPU.ExtModel, p->CPU.Stepping);
DBG("CPU: MaxCoef/CurrCoef: 0x%x/0x%x\n", p->CPU.MaxCoef, p->CPU.CurrCoef);
DBG("CPU: MaxDiv/CurrDiv: 0x%x/0x%x\n", p->CPU.MaxDiv, p->CPU.CurrDiv);
DBG("CPU: TSCFreq: %dMHz\n", p->CPU.TSCFrequency / 1000000);
DBG("CPU: FSBFreq: %dMHz\n", p->CPU.FSBFrequency / 1000000);
DBG("CPU: CPUFreq: %dMHz\n", p->CPU.CPUFrequency / 1000000);
DBG("CPU: NoCores/NoThreads: %d/%d\n", p->CPU.NoCores, p->CPU.NoThreads);
DBG("CPU: Features: 0x%08x\n", p->CPU.Features);
#if DEBUG_CPU
pause();
#endif
branches/Chimera/i386/libsaio/pci_setup.c
2121
2222
2323
24
24
2525
2626
27
27
2828
2929
3030
31
3132
3233
3334
......
5253
5354
5455
55
56
57
56
5857
5958
60
61
62
63
64
65
66
67
59
60
61
6862
69
63
7064
71
72
73
74
75
76
77
78
65
66
67
7968
80
69
8170
82
83
84
85
86
87
88
89
71
72
73
9074
91
9275
93
94
76
77
9578
9679
9780
void setup_pci_devs(pci_dt_t *pci_dt)
{
char *devicepath;
bool doit, do_eth_devprop, do_gfx_devprop, do_enable_hpet, do_hda_devprop;
bool do_eth_devprop, do_gfx_devprop, do_enable_hpet, do_hda_devprop, do_igp_devprop;
pci_dt_t *current = pci_dt;
do_eth_devprop = do_gfx_devprop = do_enable_hpet = do_hda_devprop = false;
do_eth_devprop = do_gfx_devprop = do_igp_devprop = do_hda_devprop = do_enable_hpet = false;
getBoolForKey(kEthernetBuiltIn, &do_eth_devprop, &bootInfo->chameleonConfig);
getBoolForKey(kGraphicsEnabler, &do_gfx_devprop, &bootInfo->chameleonConfig);
getBoolForKey(kIGPEnabler, &do_igp_devprop, &bootInfo->chameleonConfig); //MacMan Chimera IGP enabler
getBoolForKey(kHDAEnabler, &do_hda_devprop, &bootInfo->chameleonConfig);
getBoolForKey(kForceHPET, &do_enable_hpet, &bootInfo->chameleonConfig);
break;
case PCI_CLASS_DISPLAY_VGA:
if (do_gfx_devprop)
{
switch (current->vendor_id)
switch (current->vendor_id)
{
case PCI_VENDOR_ID_ATI:
if (getBoolForKey(kSkipAtiGfx, &doit, &bootInfo->chameleonConfig) && doit)
{
verbose("Skip ATi/AMD gfx device!\n");
}
else
{
setup_ati_devprop(current);
}
if (do_gfx_devprop){
setup_ati_devprop(current);
}
break;
case PCI_VENDOR_ID_INTEL:
if (getBoolForKey(kSkipIntelGfx, &doit, &bootInfo->chameleonConfig) && doit)
{
verbose("Skip Intel gfx device!\n");
}
else
{
setup_gma_devprop(current);
}
if (do_gfx_devprop || do_igp_devprop){
setup_gma_devprop(current);
}
break;
case PCI_VENDOR_ID_NVIDIA:
if (getBoolForKey(kSkipNvidiaGfx, &doit, &bootInfo->chameleonConfig) && doit)
{
verbose("Skip Nvidia gfx device!\n");
}
else
{
setup_nvidia_devprop(current);
}
if (do_gfx_devprop){
setup_nvidia_devprop(current);
}
break;
}
}
break;
break;
case PCI_CLASS_MULTIMEDIA_AUDIO_DEV:
if (do_hda_devprop)
{
branches/Chimera/i386/libsaio/smbios.c
670670
671671
672672
673
674673
675674
676675
......
694693
695694
696695
696
697697
698698
699699
case CPU_MODEL_SANDYBRIDGE:// Intel Core i3, i5, i7 LGA1155 (32nm)
case CPU_MODEL_IVYBRIDGE:// Intel Core i3, i5, i7 LGA1155 (22nm)
case CPU_MODEL_IVYBRIDGE_XEON:
defaultBIOSInfo.version = kDefaultiMacSandyBIOSVersion;
defaultBIOSInfo.releaseDate = kDefaultiMacSandyBIOSReleaseDate;
defaultSystemInfo.productName= kDefaultiMacSandy;
case CPU_MODEL_WESTMERE:// Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core
case CPU_MODEL_WESTMERE_EX:// Intel Xeon E7
case CPU_MODEL_JAKETOWN:// Intel Core i7, Xeon E5 LGA2011 (32nm)
case CPU_MODEL_IVYBRIDGE_XEON: // Intel Core i7, Xeon E5 v2 LGA2011 (22nm) MacMan moved to proper location
defaultBIOSInfo.version= kDefaultMacProWestmereBIOSVersion;
defaultBIOSInfo.releaseDate= kDefaultMacProWestmereBIOSReleaseDate;
defaultSystemInfo.productName= kDefaultMacProWestmere;
branches/Chimera/i386/libsaio/smbios_getters.c
2727
2828
2929
30
3130
31
3232
3333
3434
......
8484
8585
8686
87
88
89
90
91
87
88
89
90
91
9292
9393
9494
......
122122
123123
124124
125
126
127
128
129
130
131
132
133
134
125135
126136
127137
......
156166
157167
158168
169
159170
160171
161172
......
184195
185196
186197
187
188
189198
190
199
200
191201
192202
193203
......
209219
210220
211221
212
213
222
223
224
214225
226
227
215228
216229
217230
218231
219
220
221
222
223
224
225
226
227232
228233
229234
230235
231
232
233
234236
235237
236
237238
239
238240
239241
240242
......
256258
257259
258260
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281261
282262
283263
284264
285265
286
287266
288267
289268
{
switch (Platform.CPU.Model)
{
// set external clock to 0 for SANDY
// removes FSB info from system profiler as on real mac's.
// sets external clock to 0
case CPU_MODEL_SANDYBRIDGE:
case CPU_MODEL_IVYBRIDGE_XEON:
case CPU_MODEL_IVYBRIDGE:
case CPU_MODEL_WESTMERE:// Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core
case CPU_MODEL_NEHALEM_EX:// Intel Xeon X75xx, Xeon X65xx, Xeon E75xx, Xeon E65x
case CPU_MODEL_WESTMERE_EX:// Intel Xeon E7
case CPU_MODEL_SANDYBRIDGE:// Intel Core i3, i5, i7 LGA1155 (32nm)
case CPU_MODEL_IVYBRIDGE:// Intel Core i3, i5, i7 LGA1155 (22nm)
case CPU_MODEL_IVYBRIDGE_XEON:
case CPU_MODEL_HASWELL:
case CPU_MODEL_JAKETOWN:// Intel Core i7, Xeon E5 LGA2011 (32nm)
//case CPU_MODEL_SANDYBRIDGE:// Intel Core i3, i5, i7 LGA1155 (32nm) // MacMan removed not valid for this CPU
//case CPU_MODEL_IVYBRIDGE:// Intel Core i3, i5, i7 LGA1155 (22nm) // MacMan removed not valid for this CPU
//case CPU_MODEL_IVYBRIDGE_XEON: // MacMan moved
//case CPU_MODEL_HASWELL: // MacMan removed not valid for this CPU
//case CPU_MODEL_JAKETOWN:// Intel Core i7, Xeon E5 LGA2011 (32nm)// MacMan moved
{
// thanks to dgobe for i3/i5/i7 bus speed detection
int nhm_bus = 0x3F;
value->word = qpibusspeed;
return true;
}
// MacMan the following CPUs have fixed DMI2 speeds
case CPU_MODEL_IVYBRIDGE_XEON: // Intel Core i7, Xeon E5 v2 LGA2011 (22nm)
case CPU_MODEL_JAKETOWN: // Intel Core i7, Xeon E5 LGA2011 (32nm)
{
unsigned long dmi2speed;
dmi2speed = 5000;
DBG("dmi2speed %d\n", dmi2speed);
value->word = dmi2speed;
return true;
}
default:
break; //Unsupported CPU type
}
done = true;
}
// Bungo: fixes Oem Processor Type - better matching IMHO
// MacMan changed OEM Processor Type
switch (Platform.CPU.Family) {
case 0x06:
{
case CPU_MODEL_ATOM:// 0x1C - Intel Atom (45nm)
return true;
case CPU_MODEL_NEHALEM_EX:// 0x2E - Nehalem-ex, "Beckton", 45nm
case CPU_MODEL_NEHALEM:// 0x1A - Intel Core i7, Xeon W35xx, Xeon X55xx, Xeon E55xx LGA1366 (45nm)
case CPU_MODEL_FIELDS:// 0x1E - Intel Core i5, i7, Xeon X34xx LGA1156 (45nm)
case CPU_MODEL_DALES:// 0x1F - Intel Core i5, i7 LGA1156 (45nm) (Havendale, Auburndale)
case CPU_MODEL_DALES:// 0x1F - Intel Core i5, i7 LGA1156 (45nm) (Havendale, Auburndale)
case CPU_MODEL_DALES_32NM:// 0x25 - Intel Core i3, i5 LGA1156 (32nm) (Clarkdale, Arrandale)
if (strstr(Platform.CPU.BrandString, "Xeon(R)")) {
value->word = 0x501;// 1281 - Lynnfiled Quad-Core Xeon
return true;
}
return true;
case CPU_MODEL_DALES_32NM:// 0x25 - Intel Core i3, i5 LGA1156 (32nm) (Clarkdale, Arrandale)
case CPU_MODEL_WESTMERE:// 0x2C - Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core
case CPU_MODEL_NEHALEM:// 0x1A - Intel Core i7, Xeon W35xx, Xeon X55xx, Xeon E55xx LGA1366 (45nm)
case CPU_MODEL_NEHALEM_EX:// 0x2E - Intel Xeon X75xx, Xeon X65xx, Xeon E75xx, Xeon E65xx, Xeon L75xx, LGA1567 (45nm)
case CPU_MODEL_WESTMERE:// 0x2C - Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core
case CPU_MODEL_WESTMERE_EX:// 0x2F - Intel Xeon E7
case CPU_MODEL_JAKETOWN:// 0x2D - Intel Core i7, Xeon E5-xxxx LGA2011 (32nm)
case CPU_MODEL_HASWELL_SVR:// 0x3F -
if (strstr(Platform.CPU.BrandString, "Xeon(R)")) {
value->word = 0x501;// 1281 - Xeon
return true;
}
if (strstr(Platform.CPU.BrandString, "Core(TM) i3")) {
value->word = 0x901;// 2305 - Core i3
return true;
}
if (strstr(Platform.CPU.BrandString, "Core(TM) i5")) {
value->word = 0x602;// 1538 - Core i5
return true;
}
if (strstr(Platform.CPU.BrandString, "Core(TM) i7")) {
value->word = 0x702;// 1794 -Core i7
return true;
}
if (Platform.CPU.NoCores <= 2) {
value->word = 0x602;// 1538 - Core i5
}
return true;
case CPU_MODEL_JAKETOWN:// 0x2D - Intel Core i7, Xeon E5-xxxx LGA2011 (32nm)
case CPU_MODEL_SANDYBRIDGE:// 0x2A - Intel Core i3, i5, i7 LGA1155 (32nm)
case CPU_MODEL_IVYBRIDGE:// 0x3A - Intel Core i3, i5, i7 LGA1155 (22nm)
if (strstr(Platform.CPU.BrandString, "Xeon(R)")) {
value->word = 0x501;// 1281 - Xeon
return true;
}
return true;
case CPU_MODEL_IVYBRIDGE:// 0x3A - Intel Core i3, i5, i7 LGA1155 (22nm)
if (strstr(Platform.CPU.BrandString, "Xeon(R)")) {
value->word = 0xA01;// 2561 - Xeon
return true;
}
if (strstr(Platform.CPU.BrandString, "Core(TM) i3")) {
value->word = 0x903;// 2307 - Core i3 - Apple doesn't use it
return true;
}
if (strstr(Platform.CPU.BrandString, "Core(TM) i5")) {
value->word = 0x604;// 1540 - Core i5
return true;
}
if (strstr(Platform.CPU.BrandString, "Core(TM) i7")) {
value->word = 0x704;// 1796 - Core i7
return true;
}
if (Platform.CPU.NoCores <= 2) {
value->word = 0x604;// 1540 - Core i5
}
return true;
case CPU_MODEL_IVYBRIDGE_XEON:// 0x3E - Mac Pro 6,1
value->word = 0xA01;// 2561
return true;
case CPU_MODEL_HASWELL:// 0x3C -
case CPU_MODEL_HASWELL_SVR:// 0x3F -
case CPU_MODEL_HASWELL_ULT:// 0x45 -
case CPU_MODEL_CRYSTALWELL:// 0x46
if (strstr(Platform.CPU.BrandString, "Xeon(R)")) {
branches/Chimera/i386/boot2/boot.h
5353
5454
5555
56
56
5757
5858
5959
6060
61
61
6262
6363
6464
65
65
6666
6767
6868
69
69
7070
71
71
7272
7373
7474
75
76
77
78
75
76
77
78
7979
80
81
82
80
81
82
8383
8484
8585
86
87
88
86
87
88
8989
90
91
90
91
9292
9393
94
94
9595
9696
97
98
99
100
97
98
99
100
101101
102102
103103
104
104
105105
106106
107107
108108
109109
110
110
111111
112112
113113
114114
115
115
116116
117117
118118
......
125125
126126
127127
128
129
130
128
129
130
131131
132132
133133
134134
135135
136
137
136
137
138138
139139
140140
......
144144
145145
146146
147
148
149
150
151
152
153
154
147
148
149
150
151
152
153
154
155155
156156
157157
......
162162
163163
164164
165
166
167
168
169
165170
166171
167172
#define kKernelCacheKey"Kernel Cache"
#define kUseKernelCache"UseKernelCache"/* boot.c */
#define kBootDeviceKey"Boot Device"
#define kTimeoutKey"Timeout"
#define kTimeoutKey "Timeout"
#define kRootDeviceKey"rd"
#define kBootUUIDKey"boot-uuid"
#define kHelperRootUUIDKey"Root UUID"
#define kPlatformKey"platform"
#define kACPIKey"acpi"
#define kACPIKey "acpi"
#define kCDROMPromptKey"CD-ROM Prompt"
#define kCDROMOptionKey"CD-ROM Option Key"
#define kRescanPromptKey"Rescan Prompt"
#define kRescanKey"Rescan"
#define kRescanKey "Rescan"
#define kScanSingleDriveKey"Scan Single Drive"
#define kInstantMenuKey"Instant Menu"
#define kDefaultKernel"mach_kernel"
#define kGUIKey"GUI"
#define kGUIKey "GUI"
#define kBootBannerKey"Boot Banner"
#define kShowInfoKey"ShowInfo"// gui.c
#define kShowInfoKey"ShowInfo" /* gui.c */
#define kWaitForKeypressKey"Wait"
/* AsereBLN: added these keys */
#define kUseAtiROM"UseAtiROM"/* ati.c */
#define kWake"Wake"/* boot.c */
#define kForceWake"ForceWake"/* boot.c */
#define kWakeImage"WakeImage"/* boot.c */
#define kUseAtiROM "UseAtiROM" /* ati.c */
#define kWake "Wake" /* boot.c */
#define kForceWake "ForceWake" /* boot.c */
#define kWakeImage "WakeImage" /* boot.c */
#define kProductVersion"ProductVersion"/* boot.c */
#define karch"arch"/* boot.c */
#define kDSDT"DSDT"/* acpi_patcher.c */
#define kDropSSDT"DropSSDT"/* acpi_patcher.c */
#define karch "arch" /* boot.c */
#define kDSDT "DSDT" /* acpi_patcher.c */
#define kDropSSDT "DropSSDT" /* acpi_patcher.c */
#define kDeviceProperties"device-properties"/* device_inject.c */
#define kHidePartition"Hide Partition"/* disk.c */
#define kRenamePartition"Rename Partition"/* disk.c */
#define kSMBIOSKey"SMBIOS"/* fake_efi.c */
#define kSystemID"SystemId"/* fake_efi.c */
#define kSystemType"SystemType"/* fake_efi.c */
#define kSMBIOSKey "SMBIOS" /* fake_efi.c */
#define kSystemID "SystemId" /* fake_efi.c */
#define kSystemType "SystemType"/* fake_efi.c */
#define kUseNvidiaROM"UseNvidiaROM"/* nvidia.c */
#define kVBIOS"VBIOS"/* nvidia.c && ati.c */
#define kPCIRootUID"PCIRootUID"/* pci_root.c */
#define kVBIOS "VBIOS" /* nvidia.c && ati.c */
#define kPCIRootUID "PCIRootUID"/* pci_root.c */
#define kEthernetBuiltIn"EthernetBuiltIn"/* pci_setup.c */
#define kGraphicsEnabler"GraphicsEnabler"/* pci_setup.c */
#define kForceHPET"ForceHPET"/* pci_setup.c */
#define kForceHPET "ForceHPET" /* pci_setup.c */
#define kUseMemDetect"UseMemDetect"/* platform.c */
#define kSMBIOSdefaults"SMBIOSdefaults"/* smbios_patcher.c */
#define kUSBBusFix"USBBusFix"/* usb.c */
#define kEHCIacquire"EHCIacquire"/* usb.c */
#define kUHCIreset"UHCIreset"/* usb.c */
#define kEHCIhard"EHCIhard"/* usb.c */
#define kUSBBusFix "USBBusFix" /* usb.c */
#define kEHCIacquire "EHCIacquire"/* usb.c */
#define kUHCIreset "UHCIreset" /* usb.c */
#define kEHCIhard "EHCIhard" /* usb.c */
#define kDefaultPartition"Default Partition"/* sys.c */
/* Duvel300: added this */
#define kRestartFix"RestartFix"/* acpi_patcher.c */
#define kRestartFix "RestartFix"/* acpi_patcher.c */
/* Slice: added this */
#define kPS2RestartFix"PS2RestartFix"/* acpi_patcher.c */
/* Signal64: added this key */
#define kLegacyOff"USBLegacyOff"/* usb.c */
#define kLegacyOff "USBLegacyOff"/* usb.c */
/* Lebidou: added this key */
/* Meklort: added this key */
#define kMD0Image"md0"/* ramdisk.h */
#define kMD0Image "md0" /* ramdisk.h */
/* Andyvand: added these keys */
#define kEnableC4State"EnableC4State"/* acpi_patcher.c */
/* valv: added these keys */
#define kbusratio"busratio"/* cpu.c */
#define kDcfg0"display_0"/* nvidia.c */
#define kDcfg1"display_1"/* nvidia.c */
#define kbusratio "busratio" /* cpu.c */
#define kDcfg0 "display_0" /* nvidia.c */
#define kDcfg1 "display_1" /* nvidia.c */
/* Marchrius: added these keys */
#define kEnableBacklight"EnableBacklight"/* nvidia.c */
/* Kabyl: added these keys */
#define kAtiConfig"AtiConfig"/* ati.c */
#define kAtiPorts"AtiPorts"/* ati.c */
#define kAtiConfig "AtiConfig" /* ati.c */
#define kAtiPorts "AtiPorts" /* ati.c */
#define kATYbinimage"ATYbinimage"/* ati.c */
/* cosmo1: added these keys */
/* ErmaC: added these keys */
#define kEnableDualLink"EnableDualLink"/* nvidia.c && gma.c*/
#define kNvidiaGeneric"NvidiaGeneric"/* nvidia.c */
#define kSkipIntelGfx"SkipIntelGfx"/* pci_setup.c */
#define kSkipNvidiaGfx"SkipNvidiaGfx"/* pci_setup.c */
#define kSkipAtiGfx"SkipAtiGfx"/* pci_setup.c */
#define kIntelCapriFB"IntelCapriFB"/* gma.c was HD4K-ig */
#define kIntelAzulFB"IntelAzulFB"/* gma.c was HD5K-ig */
#define kAAPLCustomIG"InjectIntel-ig"/* gma.c */
#define kHDAEnabler"HDAEnabler"/* pci_setup.c */
//#define kNvidiaGeneric"NvidiaGeneric"/* nvidia.c */ // MacMan changed default to Yes
//#define kSkipIntelGfx"SkipIntelGfx"/* pci_setup.c */ // MacMan disabled for Chimera
//#define kSkipNvidiaGfx"SkipNvidiaGfx"/* pci_setup.c */ // MacMan disabled for Chimera
//#define kSkipAtiGfx"SkipAtiGfx"/* pci_setup.c */ // MacMan disabled for Chimera
//#define kIntelCapriFB"IntelCapriFB"/* gma.c was HD4K-ig */ // MacMan disabled for Chimera
//#define kIntelAzulFB"IntelAzulFB"/* gma.c was HD5K-ig */ // MacMan disabled for Chimera
//#define kAAPLCustomIG"InjectIntel-ig"/* gma.c */ // MacMan disabled for Chimera
#define kHDAEnabler "HDAEnabler"/* pci_setup.c */
#define kHDEFLayoutID"HDEFLayoutID"/* hda.c */
#define kHDAULayoutID"HDAULayoutID"/* hda.c */
// mask private data or no
#define kPrivateData"PrivateData"/* smbios_decode.c */
/* MacMan: added these keys */
#define kIGPDeviceID"IGPDeviceID"/* gma.c */ // MacMan
#define kIGPlatformID"IGPlatformID"/* gma.c */ // MacMan
#define kIGPEnabler "IGPEnabler" /* pci_setup.c */ // MacMan
/*
* Flags to the booter or kernel
*/
branches/Chimera/i386/boot2/options.c
10761076
10771077
10781078
1079
1079
1080
10801081
10811082
10821083
free(menuItems);
menuItems = NULL;
}
execute_hook("BootOptions", gBootArgs, gBootArgsPtr, NULL, NULL);
// MacMan commented out the next line to prevent writing the command line boot options to nvram
//execute_hook("BootOptions", gBootArgs, gBootArgsPtr, NULL, NULL);
return 0;
}
branches/Chimera/i386/modules/Cconfig
1313
1414
1515
16
16
1717
source "i386/modules/KernelPatcher/Cconfig"
#source "i386/modules/KextPatcher/Cconfig"
source "i386/modules/FileNVRAM/Cconfig"
#source "i386/modules/HDAEnabler/Cconfig"
source "i386/modules/HDAEnabler/Cconfig"
endmenu
branches/Chimera/i386/modules/Makefile
4949
5050
5151
52
53
54
52
53
54
5555
5656
5757
#SUBDIRS += KextPatcher
#endif
#ifdef CONFIG_HDAENABLER_MODULE
#SUBDIRS += HDAEnabler
#endif
ifdef CONFIG_HDAENABLER_MODULE
SUBDIRS += HDAEnabler
endif
CFLAGS= -O3 $(MORECPP) -arch i386 -g -static
DEFINES=
branches/Chimera/Chimera 3.0.1 Changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Chimera 3.0.1 changes from trunk:
Make config
In Modules, added HDAEnabler Module, kept Keylayout Module and disabled all others.
Make.rules
Added -Wno-unused-function to CFLAGS
Added -ffreestanding to CPPFLAGS
doc/BootHelp.txt
Added Chimera boot flags, removed Chameleon IGP flags and cleaned up.
Change ""Boot Banner"=Yes|No Show boot banner in GUI mode (enabled by default)." from disabled
Added "IGPDeviceID=<value> Override default unsupported device ID injection"
boot2/boot.h
Added Chimera 2.2 IGP keys
Added IGPDeviceID key
Cleaned up formatting.
boot2/options.c
Disabled writing the command line boot options to nvram by commenting out:
execute_hook("BootOptions", gBootArgs, gBootArgsPtr, NULL, NULL);
libsaio/ati.c
Edited card names to remove vendor name
Kept Chimera verbose strings which are easier to read and understand.
libsaio/console.c
Added "Chimera 3.0.0 Branch of " to msglog for displaying Chimera version in bdmesg
libsaio/cpu.c
Replaced with Chimera version and fixed Haswell CPU speed detection
libsaio/gma.c
Added Chimera 2.2 code
Replaced sscanf in Chimera 2.2 code with code not dependent on stdio.h
libsaio/gma.h
Added additional comments and:
#define HD_GRAPHICS_4200 "HD Graphics 4200"
#define HD_GRAPHICS_4400 "HD Graphics 4400"
libsaio/nvidia.c
Removed showGeneric code and returning exception names
Added NVIDIA in front of card names to duplicate what Apple does.
Added before "verbose("%s %dMB NV%02x [%04x:%04x]-[%04x:%04x] :: %s device number: %d\n",":
verbose("---------------------------------------------\n");
verbose("------------ NVIDIA DEVICE INFO --------------\n");
verbose("---------------------------------------------\n");
libsaio/pci_setup.c
Added code for Chimera IGP, removed trunk kSkipAtiGfx, kSkipIntelGfx and kSkipNvidiaGfx
libsaio/smbios.c
In setDefaultSMBData defaults moved CPU_MODEL_IVYBRIDGE_XEON: after case CPU_MODEL_JAKETOWN:
libsaio/smbios_getters.c
"getSMBOemProcessorBusSpeed" removed "case CPU_MODEL_SANDYBRIDGE:", "case CPU_MODEL_IVYBRIDGE:" and "case CPU_MODEL_HASWELL:"
Added code to hardcode DMI2 speed on CPU_MODEL_IVYBRIDGE_XEON and CPU_MODEL_JAKETOWN:
"getSMBOemProcessorType" modified to better reflect actual models
modules/Cconfig
Uncommented " source "i386/modules/HDAEnabler/Cconfig" "
modules/Makefile
Uncommented " ifdef CONFIG_HDAENABLER_MODULE " block
branches/Chimera/doc/BootHelp.txt
2525
2626
2727
28
29
30
28
29
3130
3231
3332
......
4241
4342
4443
45
44
4645
4746
4847
49
50
51
52
48
49
50
51
5352
5453
55
56
54
5755
5856
5957
......
6563
6664
6765
68
66
6967
7068
7169
7270
7371
7472
75
76
77
73
74
7875
7976
8077
8178
82
83
84
79
80
81
8582
86
87
88
89
83
84
85
86
9087
91
88
89
90
91
9292
9393
9494
95
96
97
98
99
100
101
102
103
104
95
96
10597
10698
10799
108100
109101
110
111
102
112103
113104
114
115
116
117
105
106
107
108
118109
119
120
121
110
111
112
122113
123114
124
125
126
127
115
116
117
128118
129
130
131
132
133
134
119
120
121
135122
136123
137124
......
141128
142129
143130
144
131
145132
146133
147134
148
149
150
135
136
151137
152
138
153139
154
155
140
141
156142
157
143
158144
159145
160
146
161147
162148
Example: mach_kernel rd=disk0s1 -v "Graphics Mode"="1920x1200x32"
If the computer won't start up properly, you may be able to start it up using
safe mode. Type -x to start up in safe mode, which ignores all cached
driver files.
If the computer won't start up properly, you may be able to start it up using safe mode.
Type -x to start up in safe mode, which ignores all cached driver files.
Special booter hotkeys:
-----------------------
Additional useful command-line options:
---------------------------------------
config=<file> Use an alternate Boot.plist file.
config=<file> Use an alternate Boot.plist file.
Options useful in the org.chameleon.Boot.plist file:
----------------------------------------------------
Wait=Yes|No Prompt for a key press before starting the kernel.
"Quiet Boot"=Yes|No Use quiet boot mode (no messages or prompt).
Timeout=8 Number of seconds to pause at the boot: prompt.
"Instant Menu"=Yes Force displaying the partition selection menu.
Wait=Yes|No Prompt for a key press before starting the kernel.
"Quiet Boot"=Yes|No Use quiet boot mode (no messages or prompt).
Timeout=8 Number of seconds to pause at the boot: prompt.
"Instant Menu"=Yes Force displaying the partition selection menu.
"Default Partition" Sets the default boot partition,
=hd(x,y)|UUID|"Label" Specified as a disk/partition pair, an UUID, or a
label enclosed in quotes.
=hd(x,y)|UUID|"Label" Specified as a disk/partition pair, an UUID, or a label enclosed in quotes.
"Hide Partition" Remove unwanted partition(s) from the boot menu.
=partition Specified, possibly multiple times, as hd(x,y), an
...]
GUI=No Disable the GUI (enabled by default).
"Boot Banner"=Yes|No Show boot banner in GUI mode (disabled by default).
"Boot Banner"=Yes|No Show boot banner in GUI mode (enabled by default).
ShowInfo=No Disables display of partition and resolution details.
"Boot Banner"=No will also disable this info.
"Legacy Logo"=Yes|No Use the legacy grey apple logo (disabled by default).
PciRoot=<value> Use an alternate value for PciRoot (default value 0).
UseKernelCache=Yes|No Yes will load pre-linked kernel and will ignore /E/E
and /S/L/E/Extensions.mkext.
Default is No but Yes if you use Lion on a Raid partition.
UseKernelCache=Yes|No Yes will load pre-linked kernel and will ignore /E/E and /S/L/E/Extensions.mkext.
Default is No but Yes if you use Lion on a Raid partition.
KeyLayout=keymap Use to change the keyboard mapping of the bootloader
(e.g. KeyLayout=mac-fr)
HDAEnabler=Yes|No Automatic device-properties generation for audio controllers.
HDEFLayoutID=<value> Inject alternate value of layout-id for HDEF (HEX).
HDAULayoutID=<value> Inject alternate value of layout-id for HDAU (HEX).
HDAEnabler=Yes|No Automatic device-properties generation for audio controllers.
HDEFLayoutID=<value> Inject alternate value of layout-id for HDEF (HEX).
HDAULayoutID=<value> Inject alternate value of layout-id for HDAU (HEX).
GraphicsEnabler=Yes|No Automatic device-properties generation for graphics cards.
SkipIntelGfx=Yes|No Skip the Automatic device-properties generation for Intel cards.
SkipNvidiaGfx=Yes|No Skip the Automatic device-properties generation for Nvidia cards.
SkipAtiGfx=Yes|No Skip the Automatic device-properties generation for Ati cards.
GraphicsEnabler=Yes|No Automatic device-properties generation for graphics cards.
IGPlatformID=<value> Override or set Intel HD Graphics Platform ID
IGPEnabler=Yes|No Automatic device-properties generation for Intel IGP when GraphicsEnabler=No
IGPDeviceID=<value> Override default unsupported device ID injection
NvidiaGeneric =Yes|No Use the classic Nvidia name for the SystemProfiler (disabled by default).
NvidiaGeneric =Yes|No Use the classic Nvidia name for the SystemProfiler (enabled by default).
UseNvidiaROM=Yes|No Use an alternate Nvidia ROM image (default path: /Extra/<vendorid>_<devid>.rom)
display_0=<value> Inject alternate value of display-cfg into NVDA,Display-A@0 (HEX).
display_1=<value> Inject alternate value of display-cfg into NVDA,Display-B@1 (HEX).
AtiConfig=<cardcfg> Use a different card config, e.g. AtiConfig=Megalodon.
AtiPorts=<value> Specify the number of ports, e.g. AtiPorts=2.
UseAtiROM=Yes|No Use an alternate Ati ROM image
(default path: /Extra/<vendorid>_<devid>_<subsysid>.rom)
UseNvidiaROM=Yes|No Use an alternate Nvidia ROM image
(default path: /Extra/<vendorid>_<devid>.rom)
VBIOS=Yes|No Inject VBIOS to device-properties.
display_0=<value> Inject alternate value of display-cfg into NVDA,Display-A@0 (HEX).
display_1=<value> Inject alternate value of display-cfg into NVDA,Display-B@1 (HEX).
IntelCapriFB=<value> For Intel HD 4xxx, range 0-11.
IntelAzulFB=<value> For Intel HD 5xxx/IRIS, range 0-15.
InjectIntel-ig=<value> Inject alternate value into AAPL,ig-platform-id (HEX).
UseAtiROM=Yes|No Use an alternate Ati ROM image (default path: /Extra/<vendorid>_<devid>_<subsysid>.rom)
VBIOS=Yes|No Inject VBIOS to device-properties.
EnableBacklight=Yes Enable Back light option for NVIDIA and ATI
EnableDualLink=Yes Enable DualLink option for NVIDIA and ATI
EnableHDMIAudio=Yes Inject HDMI audio for NVIDIA and ATI.
EthernetBuiltIn=Yes|No Automatic "built-in"=YES device-properties generation
for ethernet interfaces.
EthernetBuiltIn=Yes|No Automatic "built-in"=YES device-properties generation for ethernet interfaces.
ForceHPET=Yes|No Force HPET on (disabled by default).
USBBusFix=Yes Enable the EHCI and UHCI fixes (disabled by default).
EHCIacquire=Yes Enable the EHCI fix (disabled by default).
UHCIreset=Yes Enable the UHCI fix (disabled by default).
USBLegacyOff=Yes Force USB Legacy off (disabled by default).
USBBusFix=Yes Enable the EHCI and UHCI fixes (disabled by default).
EHCIacquire=Yes Enable the EHCI fix (disabled by default).
UHCIreset=Yes Enable the UHCI fix (disabled by default).
USBLegacyOff=Yes Force USB Legacy off (disabled by default).
Wake=No Disable wake up after hibernation (enbaled by default).
ForceWake=Yes Force using the sleepimage (disabled by default).
WakeImage=<file> Use an alternate sleepimage file
Wake=No Disable wake up after hibernation (enbaled by default).
ForceWake=Yes Force using the sleepimage (disabled by default).
WakeImage=<file> Use an alternate sleepimage file
(default path is /private/var/vm/sleepimage).
DropSSDT=Yes Skip the SSDT tables while relocating the ACPI tables.
DSDT=<file> Use an alternate DSDT.aml file
(default path: /DSDT.aml
/Extra/DSDT.aml bt(0,0)/Extra/DSDT.aml).
DropSSDT=Yes Skip the SSDT tables while relocating the ACPI tables.
DSDT=<file> Use an alternate DSDT.aml file
(default paths: /DSDT.aml /Extra/DSDT.aml bt(0,0)/Extra/DSDT.aml).
GenerateCStates=Yes Enable auto generation of processor idle sleep states
(C-States).
GeneratePStates=Yes Enable auto generation of processor power performance
states (P-States).
CSTUsingSystemIO=Yes New C-State _CST generation method using SystemIO
registers instead of FixedHW.
GenerateCStates=Yes Enable auto generation of processor idle sleep states (C-States).
GeneratePStates=Yes Enable auto generation of processor power performance states (P-States).
CSTUsingSystemIO=Yes New C-State _CST generation method using SystemIO registers instead of FixedHW.
EnableC2State=Yes Enable specific Processor power state, C2.
EnableC3State=Yes Enable specific Processor power state, C3.
ForceFullMemInfo=Yes Force SMBIOS Table 17 to be 27 bytes long (disabled by default).
SMBIOS=<file> Use an alternate SMBIOS.plist file
SMBIOS=<file> Use an alternate SMBIOS.plist file
(default path: /smbios.plist /Extra/smbios.plist
bt(0,0)/Extra/smbios.plist).
SMBIOSdefaults=No Don't use the Default values for SMBIOS overriding
if smbios.plist doesn't exist, factory
values are kept.
SMBIOSdefaults=No Don't use the Default values for SMBIOS overriding if smbios.plist doesn't exist,
factory values are kept.
"Scan Single Drive" Scan the drive only where the booter got loaded from.
"Scan Single Drive" Scan the drive only where the booter got loaded from.
=Yes|No Fix rescan issues when using a DVD reader in AHCI mode.
Rescan=Yes Enable CD-ROM rescan mode.
"Rescan Prompt"=Yes Prompts for enable CD-ROM rescan mode.
Rescan=Yes Enable CD-ROM rescan mode.
"Rescan Prompt"=Yes Prompts for enable CD-ROM rescan mode.
SystemId=<UUID> Set the system id manually to UUID.
Deprecated - Now SMsystemuuid in smbios.plist
Deprecated - Now SMsystemuuid in smbios.plist
SMUUID in smbios config (reserved field) isn't used then.
SystemType=<n> Set the system type to n, where n is between 0..6
(default=1 Desktop)
(default=1 Desktop)
md0=<file> Load raw img file into memory for use as XNU's md0
ramdisk. /Extra/Postboot.img is used otherwise.
branches/Chimera/Make.rules
1717
1818
1919
20
21
20
21
2222
2323
2424
NASM = $(shell which nasm) -p $(SRCROOT)/autoconf.inc
CFLAGS= $(CONFIG_OPTIMIZATION_LEVEL) -g -Wmost -Werror
CPPFLAGS = $(MORECPP) -g -Wmost -Werror -fno-exceptions -fno-rtti
CFLAGS= $(CONFIG_OPTIMIZATION_LEVEL) -g -Wmost -Werror -Wno-unused-function
CPPFLAGS = $(MORECPP) -g -Wmost -Werror -fno-exceptions -fno-rtti -ffreestanding
DEFINES=
DIST_SUBDIRS += $(SUBDIRS)

Archive Download the corresponding diff file

Revision: 2394