Chameleon

Chameleon Commit Details

Date:2014-08-04 02:10:21 (3 years 2 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,