Chameleon

Chameleon Commit Details

Date:2012-08-31 16:19:56 (11 years 6 months ago)
Author:ErmaC
Commit:2051
Parents: 2050
Message:Add new nVidia Devices ID and SubdevIDs.
Changes:
M/branches/ErmaC/Trunk/i386/libsaio/spd.c
M/branches/ErmaC/Trunk/i386/libsaio/dram_controllers.c
M/branches/ErmaC/Trunk/i386/libsaio/nvidia.c
M/branches/ErmaC/Trunk/i386/libsaio/device_inject.c
M/branches/ErmaC/Trunk/i386/libsaio/pci.c
M/branches/ErmaC/Trunk/i386/libsaio/ati.c
M/branches/ErmaC/Trunk/i386/libsaio/acpi_patcher.c

File differences

branches/ErmaC/Trunk/i386/libsaio/acpi_patcher.c
11
22
3
34
45
56
......
891892
892893
893894
894
895
896
895897
896898
897899
......
902904
903905
904906
907
905908
909
906910
911
907912
913
908914
909915
910916
......
939945
940946
941947
948
942949
950
943951
944952
945953
......
955963
956964
957965
966
958967
968
959969
960970
961971
......
10571067
10581068
10591069
1070
10601071
1072
10611073
10621074
10631075
......
10681080
10691081
10701082
1071
1083
1084
10721085
1086
10731087
10741088
10751089
/*
* Copyright 2008 mackerintel
* 2010 mojodojo, 2012 slice
*/
#include "libsaio.h"
}
// Do the same procedure for both versions of ACPI
for (version=0; version<2; version++) {
for (version=0; version<2; version++)
{
struct acpi_2_rsdp *rsdp, *rsdp_mod;
struct acpi_2_rsdt *rsdt, *rsdt_mod;
int rsdplength;
{
DBG("No ACPI version %d found. Ignoring\n", version+1);
if (version)
{
addConfigurationTable(&gEfiAcpi20TableGuid, NULL, "ACPI_20");
}
else
{
addConfigurationTable(&gEfiAcpiTableGuid, NULL, "ACPI");
}
continue;
}
rsdplength=version?rsdp->Length:20;
{
char *table=(char *)(rsdt_entries[i]);
if (!table)
{
continue;
}
DBG("TABLE %c%c%c%c,",table[0],table[1],table[2],table[3]);
DBG("DSDT found\n");
if(new_dsdt)
{
rsdt_entries[i-dropoffset]=(uint32_t)new_dsdt;
}
continue;
}
{
char *table=(char *)((uint32_t)(xsdt_entries[i]));
if (!table)
{
continue;
}
xsdt_entries[i-dropoffset]=xsdt_entries[i];
if (drop_ssdt && tableSign(table, "SSDT"))
{
{
DBG("DSDT found\n");
if (new_dsdt)
if (new_dsdt)
{
xsdt_entries[i-dropoffset]=(uint32_t)new_dsdt;
}
DBG("TABLE %c%c%c%c@%x,",table[0],table[1],table[2],table[3],xsdt_entries[i]);
branches/ErmaC/Trunk/i386/libsaio/spd.c
399399
400400
401401
402
402403
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
418427
419428
420429
}
static struct smbus_controllers_t smbus_controllers[] = {
// Info from here: http://cateee.net/lkddb/web-lkddb/I2C_I801.html
{0x8086, 0x269B, "ESB2",read_smb_intel },
{0x8086, 0x25A4, "6300ESB",read_smb_intel },
{0x8086, 0x24C3, "ICH4",read_smb_intel },
{0x8086, 0x24D3, "ICH5",read_smb_intel },
{0x8086, 0x266A, "ICH6",read_smb_intel },
{0x8086, 0x27DA, "ICH7",read_smb_intel },
{0x8086, 0x283E, "ICH8",read_smb_intel },
{0x8086, 0x2930, "ICH9",read_smb_intel },
{0x8086, 0x3A30, "ICH10R",read_smb_intel },
{0x8086, 0x3A60, "ICH10B",read_smb_intel },
{0x8086, 0x3B30, "5 Series",read_smb_intel },
{0x8086, 0x1C22, "6 Series",read_smb_intel },
{0x8086, 0x1E22, "7 Series",read_smb_intel },
{0x8086, 0x1D70, "X79",read_smb_intel },
{0x8086, 0x5032, "EP80579",read_smb_intel }
{0x8086, 0x1C22, "6 Series", read_smb_intel },
{0x8086, 0x1D22, "C600/X79 Series", read_smb_intel },
{0x8086, 0x1D70, "C600/X79 Series", read_smb_intel },
{0x8086, 0x1D71, "C608/C606/X79 Series", read_smb_intel },
{0x8086, 0x1D72, "C608", read_smb_intel },
{0x8086, 0x1E22, "7 Series/C210 Series", read_smb_intel },
{0x8086, 0x2330, "DH89xxCC", read_smb_intel },
{0x8086, 0x2413, "82801AA", read_smb_intel },
{0x8086, 0x2423, "82801BA/BAM", read_smb_intel },
{0x8086, 0x2443, "82801BA/BAM", read_smb_intel },
{0x8086, 0x2483, "82801CA/CAM", read_smb_intel },
{0x8086, 0x24C3, "82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)", read_smb_intel },
{0x8086, 0x24D3, "82801EB/ER (ICH5/ICH5R)", read_smb_intel },
{0x8086, 0x25A4, "6300ESB", read_smb_intel },
{0x8086, 0x266A, "82801FB/FBM/FR/FW/FRW (ICH6 Family)", read_smb_intel },
{0x8086, 0x269B, "631xESB/632xESB/3100", read_smb_intel },
{0x8086, 0x27DA, "N10/ICH 7 Family", read_smb_intel },
{0x8086, 0x283E, "82801H (ICH8 Family) ", read_smb_intel },
{0x8086, 0x2930, "82801I (ICH9 Family)", read_smb_intel },
{0x8086, 0x3A30, "82801JI (ICH10 Family)", read_smb_intel },
{0x8086, 0x3A60, "82801JD/DO (ICH10 Family)", read_smb_intel },
{0x8086, 0x3B30, "5 Series/3400 Series", read_smb_intel },
{0x8086, 0x5032, "EP80579", read_smb_intel }
};
branches/ErmaC/Trunk/i386/libsaio/device_inject.c
2323
2424
2525
26
27
28
29
30
26
27
28
29
30
3131
3232
3333
......
281281
282282
283283
284
285
284286
285287
286288
......
292294
293295
294296
295
296
297
297298
298299
299300
......
397398
398399
399400
401
400402
403
401404
402405
403406
#define DBG(x...)
#endif
uint32_t devices_number = 1;
uint32_t builtin_set = 0;
struct DevPropString *string = 0;
uint8_t *stringdata = 0;
uint32_t stringlength = 0;
uint32_t devices_number= 1;
uint32_t builtin_set= 0;
struct DevPropString *string= 0;
uint8_t *stringdata= 0;
uint32_t stringlength= 0;
char *efi_inject_get_devprop_string(uint32_t *len)
{
char *devprop_generate_string(struct DevPropString *string)
{
int i = 0, x = 0;
char *buffer = (char*)malloc(string->length * 2);
char *ptr = buffer;
sprintf(buffer, "%08x%08x%04x%04x", dp_swap32(string->length), string->WHAT2,
dp_swap16(string->numentries), string->WHAT3);
buffer += 24;
int i = 0, x = 0;
while(i < string->numentries)
{
sprintf(buffer, "%08x%04x%04x", dp_swap32(string->entries[i]->length),
verbose("LAN Controller [%04x:%04x] :: %s\n", eth_dev->vendor_id, eth_dev->device_id, devicepath);
if (!string)
{
string = devprop_create_string();
}
device = devprop_add_device(string, devicepath);
if(device)
branches/ErmaC/Trunk/i386/libsaio/dram_controllers.c
531531
532532
533533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
534555
535556
536
557
537558
538
539
559
560
540561
541562
542563
543564
544565
545566
546
547
548
549
567
568
569
570
571
572
550573
551574
552575
553576
577
578
554579
555580
556581
557
558
559
560
561
562
563
564
565
582
583
584
585
586
587
588
589
566590
567591
568592
......
578602
579603
580604
581
605
582606
583607
584608
{ 0, 0, "",NULL, NULL, NULL },
// Intel
//{ 0x8086, 0x0100, "2rd Gen Core processor",NULL, NULL, NULL },
//{ 0x8086, 0x0104, "2rd Gen Core processor",NULL, NULL, NULL },
//{ 0x8086, 0x010C, "Xeon E3-1200/2rd Gen Core processor",NULL, NULL, NULL },
//{ 0x8086, 0x0150, "Xeon E3-1200 v2/3rd Gen Core processor",NULL, NULL, NULL },
//{ 0x8086, 0x0154, "3rd Gen Core processor",NULL, NULL, NULL },
//{ 0x8086, 0x0158, "Xeon E3-1200 v2/Ivy Bridge",NULL, NULL, NULL },
//{ 0x8086, 0x015C, "Xeon E3-1200 v2/3rd Gen Core processor",NULL, NULL, NULL },
//{ 0x8086, 0x0BF0, "Atom Processor D2xxx/N2xxx",NULL, NULL, NULL },
//{ 0x8086, 0x0BF1, "Atom Processor D2xxx/N2xxx",NULL, NULL, NULL },
//{ 0x8086, 0x0BF2, "Atom Processor D2xxx/N2xxx",NULL, NULL, NULL },
//{ 0x8086, 0x0BF3, "Atom Processor D2xxx/N2xxx",NULL, NULL, NULL },
//{ 0x8086, 0x0BF4, "Atom Processor D2xxx/N2xxx",NULL, NULL, NULL },
//{ 0x8086, 0x0BF5, "Atom Processor D2xxx/N2xxx",NULL, NULL, NULL },
//{ 0x8086, 0x0BF6, "Atom Processor D2xxx/N2xxx",NULL, NULL, NULL },
//{ 0x8086, 0x0BF7, "Atom Processor D2xxx/N2xxx",NULL, NULL, NULL },
//{ 0x8086, 0x0C00, "Haswell",NULL, NULL, NULL },
//{ 0x8086, 0x0C04, "Haswell",NULL, NULL, NULL },
//{ 0x8086, 0x0C08, "Haswell",NULL, NULL, NULL },
{ 0x8086, 0x7190, "VMWare",NULL, NULL, NULL },
{ 0x8086, 0x1A30, "i845",NULL, NULL, NULL },
{ 0x8086, 0x1A30, "82845 845 [Brookdale]",NULL, NULL, NULL },
{ 0x8086, 0x2970, "i946PL/GZ",setup_p35, get_fsb_i965,get_timings_i965},
{ 0x8086, 0x2990, "Q963/Q965",setup_p35, get_fsb_i965,get_timings_i965},
{ 0x8086, 0x2970, "82946GZ/PL/GL",setup_p35, get_fsb_i965,get_timings_i965},
{ 0x8086, 0x2990, "82Q963/Q965",setup_p35, get_fsb_i965,get_timings_i965},
{ 0x8086, 0x29A0, "P965/G965",setup_p35, get_fsb_i965,get_timings_i965},
{ 0x8086, 0x2A00, "GM965/GL960",setup_p35, get_fsb_im965,get_timings_im965},
{ 0x8086, 0x2A10, "GME965/GLE960",setup_p35, get_fsb_im965,get_timings_im965},
{ 0x8086, 0x2A40, "PM/GM45/47",setup_p35, get_fsb_im965,get_timings_im965},
{ 0x8086, 0x29B0, "Q35",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x29C0, "P35/G33",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x29D0, "Q33",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x29E0, "X38/X48",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x29B0, "82Q35 Express",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x29C0, "82G33/G31/P35/P31",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x29D0, "82Q33 Express",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x29E0, "82X38/X48 Express",setup_p35, get_fsb_i965,get_timings_p35},
//{ 0x8086, 0x29F0, "3200/3210 Chipset",NULL, NULL, NULL },
{ 0x8086, 0x2E00, "Eaglelake",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x2E10, "Q45/Q43",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x2E20, "P45/G45",setup_p35, get_fsb_i965,get_timings_p35},
{ 0x8086, 0x2E30, "G41",setup_p35, get_fsb_i965,get_timings_p35},
//{ 0x8086, 0x2E40, "4 Series Chipset",NULL, NULL, NULL },
//{ 0x8086, 0x2E90, "4 Series Chipset",NULL, NULL, NULL },
{ 0x8086, 0xD131, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0xD132, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3400, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3401, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3402, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3403, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3404, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3405, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3406, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3407, "NHM IMC",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3400, "5520/5500/X58",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3401, "5520/5500/X58",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3402, "5520/5500/X58",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3403, "5500",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3404, "5520/5500/X58",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3405, "5520/5500/X58",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3406, "5520",setup_nhm, get_fsb_nhm,get_timings_nhm},
{ 0x8086, 0x3407, "5520/5500/X58",setup_nhm, get_fsb_nhm,get_timings_nhm},
};
static const char *memory_channel_types[] =
if ((dram_controllers[i].vendor == dram_dev->vendor_id) && (dram_controllers[i].device == dram_dev->device_id))
{
verbose("%s%s DRAM Controller [%4x:%4x] at %02x:%02x.%x\n",
(dram_dev->vendor_id == 0x8086) ? "Intel " : "" ,
(dram_dev->vendor_id == 0x8086) ? "Intel Corporation " : "" ,
dram_controllers[i].name, dram_dev->vendor_id, dram_dev->device_id,
dram_dev->dev.bits.bus, dram_dev->dev.bits.dev, dram_dev->dev.bits.func);
branches/ErmaC/Trunk/i386/libsaio/nvidia.c
557557
558558
559559
560
560
561561
562562
563563
......
571571
572572
573573
574
575
576
577
578
574579
575580
576581
582
583
584
585
577586
587
588
578589
579590
591
580592
593
594
595
596
597
581598
582599
583600
......
775792
776793
777794
795
778796
779797
780798
......
15231541
15241542
15251543
1544
15261545
1546
15271547
15281548
15291549
......
15381558
15391559
15401560
1561
1562
1563
1564
15411565
15421566
15431567
......
15471571
15481572
15491573
1574
15501575
15511576
15521577
......
15961621
15971622
15981623
1624
15991625
16001626
16011627
16021628
16031629
16041630
1631
16051632
16061633
16071634
......
26232650
26242651
26252652
2653
26262654
26272655
26282656
2657
26292658
26302659
26312660
2661
2662
2663
26322664
26332665
26342666
......
26522684
26532685
26542686
2655
2687
26562688
26572689
26582690
......
26782710
26792711
26802712
2681
2713
26822714
26832715
26842716
......
26892721
26902722
26912723
2692
2724
26932725
26942726
26952727
......
28292861
28302862
28312863
2832
2864
28332865
28342866
28352867
......
28482880
28492881
28502882
2851
2883
28522884
28532885
28542886
......
30923124
30933125
30943126
3095
3127
30963128
30973129
30983130
......
31123144
31133145
31143146
3115
3147
31163148
31173149
31183150
......
33253357
33263358
33273359
3328
3360
33293361
33303362
33313363
......
33403372
33413373
33423374
3343
3375
33443376
33453377
33463378
33473379
33483380
3349
3381
33503382
33513383
33523384
{ 0x10DE0618,0x102802A2,"Dell GeForce GTX 260M" },
{ 0x10DE0618,0x10431A52,"Asus GeForce GTX 260M" },
{ 0x10DE0618,0x10432028,"Asus GeForce GTX 170M" },
{ 0x10DE0618,0x1043202B,"Asus GTX 680" },
{ 0x10DE0618,0x1043202B,"Asus GeForce GTX 680" },
{ 0x10DE0618,0x10432033,"Asus GeForce GTX 260M" },
{ 0x10DE0618,0x15580481,"Clevo/Kapok GeForce GTX 260M" },
{ 0x10DE0618,0x15580577,"Clevo/Kapok GeForce GTX 260M" },
{ 0x10DE0622,0x10621432,"MSi GeForce 9600GT" },
// 0630 - 063F
// 0640 - 064F
{ 0x10DE0640,0x101910BD,"Elitegroup GeForge 9500 GT" },
{ 0x10DE0640,0x101910C0,"Elitegroup GeForge 9500 GT" },
{ 0x10DE0640,0x1043829A,"Asus GeForge 9500 GT" },
{ 0x10DE0640,0x104382B4,"Asus GeForge 9500 GT" },
{ 0x10DE0640,0x104382FD,"Asus GeForge 9500 GT" },
{ 0x10DE0640,0x106B00AD,"Apple GeForge 9500 GT" },
{ 0x10DE0640,0x106B00B3,"Apple GeForge 9500 GT" },
{ 0x10DE0640,0x106B061B,"Apple GeForge 9500 GT" },
{ 0x10DE0640,0x10B01401,"Gainward GeForge 9500 GT" },
{ 0x10DE0640,0x10DE0551,"nVidia GeForge 9500 GT" },
{ 0x10DE0640,0x10DE057D,"nVidia GeForge 9500 GT" },
{ 0x10DE0640,0x10DE0648,"nVidia GeForge 9500 GT" },
{ 0x10DE0640,0x10DE077F,"Inno3D GeForge 9500GT HDMI" },
{ 0x10DE0640,0x14583498,"GigaByte GeForge 9500 GT" },
{ 0x10DE0640,0x145834A9,"GigaByte GeForge 9500 GT" },
{ 0x10DE0640,0x14621290,"MSi GeForge 9500 GT" },
{ 0x10DE0640,0x14621291,"MSi GeForge 9500 GT" },
{ 0x10DE0640,0x14621575,"MSi GeForge 9500 GT" },
{ 0x10DE0640,0x16423796,"Bitland GeForge 9500 GT" },
{ 0x10DE0640,0x1682400A,"XFX GeForge 9500 GT" },
{ 0x10DE0640,0x196E0643,"PNY GeForge 9500GT" },
{ 0x10DE0640,0x19DA7046,"Zotac GeForge 9500 GT" },
{ 0x10DE0640,0x1ACC9091,"Point of View GeForge 9500 GT" },
{ 0x10DE0640,0x3842C958,"EVGA GeForge 9500 GT" },
{ 0x10DE0647,0x106B00A9,"Apple GeForge 9600M GT" },
{ 0x10DE0647,0x106B00B0,"Apple GeForge 9600M GT" },
{ 0x10DE0A20,0x16423920,"Bitland GeForce GT 220" },
{ 0x10DE0A28,0x10338897,"NEC GeForce GT 230" },
{ 0x10DE0A28,0x103C1000,"HP GeForce GT 230" },
{ 0x10DE0A28,0x103C2AA7,"HP GeForce GT 230" },
{ 0x10DE0A28,0x103C363C,"HP GeForce GT 230" },
{ 0x10DE0A28,0x103C363E,"HP GeForce GT 230" },
// 1160 - 116F
// 1170 - 117F
// 1180 - 118F
{ 0x10DE1180,0x00001255,"Afox GTX 680" },
{ 0x10DE1180,0x104383F0,"Asus GTX680-2GD5" },
{ 0x10DE1180,0x104383F6,"Asus GTX 680 Direct CU II" },
{ 0x10DE1180,0x104383F7,"Asus GTX 680 Direct CU II" },
{ 0x10DE1180,0x10DE0969,"nVidia GTX 680" },
{ 0x10DE1180,0x10DE097A,"nVidia GeForce GTX 680" },
{ 0x10DE1180,0x38422680,"EVGA GTX 680" },
{ 0x10DE1180,0x38422682,"EVGA GTX 680 SC" },
{ 0x10DE1183,0x10DE1000,"nVidia GTX 660 Ti" },
{ 0x10DE1183,0x14622843,"MSi GTX 660 Ti" },
{ 0x10DE1183,0x19DA1280,"Zoac GTX 660 Ti" },
{ 0x10DE1185,0x174B2260,"PC Partner GeForce GTX 660" },
{ 0x10DE1188,0x10438406,"Asus GeForce GTX 690" },
{ 0x10DE1189,0x10438405,"Asus GTX 670 Direct CU II TOP" },
{ 0x10DE1189,0x10DE097A,"nVidia GeForce GTX 670" },
{ 0x10DE1189,0x14583542,"Gigabyte GeForce GTX 670" },
{ 0x10DE1189,0x14622840,"MSi GeForce GTX 670" },
{ 0x10DE1189,0x15691189,"Palit GTX 670 JetStream" },
{ 0x10DE1189,0x174B1260,"PC Partner GeForce GTX 670" },
{ 0x10DE1189,0x19DA1255,"Zotac GTX 670 AMP! Edition" },
{ 0x10DE1211,0x15587200,"Clevo GeForce GTX 580M" },
{ 0x10DE1212,0x1028057B,"Dell GeForce GTX 675M" },
{ 0x10DE1212,0x10DE095D,"nVidia GeForce GTX 675M" },
{ 0x10DE1212,0x144DC0D0,"Samsung GeForce GTX 675M" },
{ 0x10DE1212,0x146210CB,"MSi GeForce GTX 675M" },
{ 0x10DE1213,0x102804BA,"Dell GeForce GTX 670M" },
{ 0x10DE1213,0x10432119,"Dell GeForce GTX 670M" },
{ 0x10DE1213,0x10432120,"Dell GeForce GTX 670M" },
{ 0x10DE1213,0x10DE095E,"nVidia GeForce GTX 670M" },
{ 0x10DE1213,0x1179FB12,"Toshiba GeForce GTX 670M" },
{ 0x10DE1213,0x1179FB18,"Toshiba GeForce GTX 670M" },
{ 0x10DE1213,0x1179FB1A,"Toshiba GeForce GTX 670M" },
// 1170 - 117F
// 1180 - 118F
{ 0x10DE1180,NV_SUB_IDS,"GeForce GTX 680" },
{ 0x10DE1183,NV_SUB_IDS,"GeForce GTX 660 Ti" },
{ 0x10DE1185,NV_SUB_IDS,"GeForce GTX 660" },
{ 0x10DE1188,NV_SUB_IDS,"GeForce GTX 690" },
{ 0x10DE1189,NV_SUB_IDS,"GeForce GTX 670" },
{ 0x10DE118F,NV_SUB_IDS,"Tesla K10" },
// 1190 - 119F
// 11A0 - 11AF
// 11B0 - 11BF
{ 0x10DE11BC,NV_SUB_IDS,"Quadro K5000M" },
{ 0x10DE11BD,NV_SUB_IDS,"Quadro K4000M" },
{ 0x10DE11BE,NV_SUB_IDS,"Quadro K3000M" },
// 11C0 - 11CF
// 11D0 - 11DF
// 11E0 - 11EF
{ 0x10DE1244,NV_SUB_IDS,"GeForce GTX 550 Ti" },
{ 0x10DE1245,NV_SUB_IDS,"GeForce GTS 450" },
{ 0x10DE1246,NV_SUB_IDS,"GeForce GTX 550M" },
{ 0x10DE1247,NV_SUB_IDS,"GeForce GT 635M" },
{ 0x10DE1247,NV_SUB_IDS,"GeForce GT 635M" }, // 555M ?
{ 0x10DE1248,NV_SUB_IDS,"GeForce GTX 555M" },
{ 0x10DE1249,NV_SUB_IDS,"GeForce GTS 450M" }, // no M?
{ 0x10DE124B,NV_SUB_IDS,"GeForce GT 640" },
printf("False ROM signature: 0x%02x%02x\n", rom[0], rom[1]);
return PATCH_ROM_FAILED;
}
uint16_t dcbptr = READ_LE_SHORT(rom, 0x36);
if (!dcbptr)
//else
//printf("dcb table at offset 0x%04x\n", dcbptr);
uint8_t *dcbtable = &rom[dcbptr];
uint8_t *dcbtable = &rom[dcbptr];
uint8_t dcbtable_version = dcbtable[0];
uint8_t headerlength = 0;
uint8_t numentries = 0;
channel1 |= ( 0x1 << entries[i].index);
entries[i].type = TYPE_GROUPED;
if ((entries[i-1].type == 0x0))
if (entries[i-1].type == 0x0)
{
channel1 |= ( 0x1 << entries[i-1].index);
entries[i-1].type = TYPE_GROUPED;
channel2 |= ( 0x1 << entries[i].index);
entries[i].type = TYPE_GROUPED;
if ((entries[i - 1].type == 0x0))
if (entries[i - 1].type == 0x0)
{
channel2 |= ( 0x1 << entries[i-1].index);
entries[i-1].type = TYPE_GROUPED;
break;
}
if (!vram_size)
if (!vram_size)
{
// Finally, if vram_size still not set do the calculation with our own method
if (nvCardType < NV_ARCH_50)
vram_size *= REG32(NVC0_MEM_CTRLR_COUNT);
}
}
return vram_size;
}
if (getValueForKey(kNVCAP, &value, &len, &bootInfo->chameleonConfig) && len == NVCAP_LEN * 2)
{
uint8_t new_NVCAP[NVCAP_LEN];
if (hex2bin(value, new_NVCAP, NVCAP_LEN) == 0)
{
verbose("Using user supplied NVCAP for %s :: %s\n", model, devicepath);
if (hex2bin(value, new_dcfg0, DCFG0_LEN) == 0)
{
memcpy(default_dcfg_0, new_dcfg0, DCFG0_LEN);
verbose("Using user supplied @0,display-cfg\n");
printf("@0,display-cfg: %02x%02x%02x%02x\n",
default_dcfg_0[0], default_dcfg_0[1], default_dcfg_0[2], default_dcfg_0[3]);
}
}
if (getValueForKey(kDcfg1, &value, &len, &bootInfo->chameleonConfig) && len == DCFG1_LEN * 2)
{
uint8_t new_dcfg1[DCFG1_LEN];
branches/ErmaC/Trunk/i386/libsaio/ati.c
638638
639639
640640
641
641642
642643
643644
......
869870
870871
871872
872
873
873
874
874875
875876
876877
......
10601061
10611062
10621063
1063
1064
1065
1064
1065
1066
10661067
10671068
1068
1069
1070
1069
1070
1071
1072
1073
1074
10711075
1072
1073
1076
1077
10741078
1075
1076
1079
1080
10771081
1078
1082
1083
10791084
1080
1085
10811086
1082
1087
10831088
1084
1089
1090
1091
10851092
1093
1094
10861095
1087
1096
10881097
10891098
10901099
10911100
1092
1101
10931102
10941103
10951104
......
11021111
11031112
11041113
1105
1114
11061115
11071116
11081117
1109
1118
11101119
11111120
11121121
......
11161125
11171126
11181127
1119
1120
1128
1129
11211130
1122
1123
1131
1132
11241133
11251134
11261135
1127
1136
11281137
1129
1138
11301139
1131
1132
1140
1141
11331142
11341143
11351144
11361145
11371146
11381147
1139
1148
11401149
11411150
11421151
......
11461155
11471156
11481157
1149
1158
11501159
11511160
11521161
1153
1162
11541163
11551164
11561165
......
11831192
11841193
11851194
1186
1195
11871196
11881197
11891198
......
11931202
11941203
11951204
1196
1197
1205
1206
11981207
1199
1208
12001209
1201
1210
12021211
12031212
12041213
......
12081217
12091218
12101219
1211
1212
1220
1221
12131222
12141223
12151224
12161225
12171226
1218
1227
12191228
12201229
12211230
12221231
12231232
12241233
1225
1234
12261235
12271236
12281237
1229
1238
12301239
1231
1240
12321241
1233
1242
12341243
1244
12351245
12361246
12371247
1238
1248
12391249
1240
1241
1250
1251
12421252
1243
1253
1254
12441255
1245
1246
1256
1257
12471258
1248
1259
12491260
1250
1251
1252
1261
1262
1263
1264
12531265
1254
1266
12551267
12561268
12571269
{ 0x68F9,0x174B3000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6230", kNull},
{ 0x68F9,0x174B6250, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull},
{ 0x68F9,0x174B6290, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6290", kNull},
{ 0x68F9,0x174BE164, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x20091787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x21261028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x2126103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x6818,0x32501682, CHIP_FAMILY_PITCAIRN,"ATI Radeon HD 7870", kNull},
{ 0x6818,0xE217174B, CHIP_FAMILY_PITCAIRN,"ATI Radeon HD 7870", kNull},
{ 0x6819,0x04311043, CHIP_FAMILY_PITCAIRN,"Asus HD 7850", kNull},
{ 0x6819,0x04331043, CHIP_FAMILY_PITCAIRN,"Asus HD 7850", kNull},
{ 0x6819,0x04311043, CHIP_FAMILY_PITCAIRN,"Asus HD 7850", kNull}, // Asus
{ 0x6819,0x04331043, CHIP_FAMILY_PITCAIRN,"Asus HD 7850", kNull}, // Asus
{ 0x6819,0x0B041002, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD 7850", kNull}, // ATI
{ 0x6819,0x201C1787, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD 7850", kNull}, // HIS
{ 0x6819,0x23201787, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD 7850", kNull}, // HIS
{ 0x940B,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull},
{ 0x940F,0x00000000, CHIP_FAMILY_R600,"ATI Radeon HD 2900 GT", kNull},
{ 0x9440,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9441,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot},
{ 0x9442,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9440,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9441,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot},
{ 0x9442,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9443,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4850 X2", kMotmot},
{ 0x9444,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V8750 (FireGL)", kMotmot},
{ 0x944A,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x944C,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x944E,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4700 Series",kMotmot},
{ 0x9446,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V7770 (FireGL)",kMotmot},
{ 0x9447,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V8700 Duo (FireGL)",kMotmot},
{ 0x944A,0x00000000, CHIP_FAMILY_RV770,"ATI Mobility Radeon HD 4850",kMotmot},
{ 0x944B,0x00000000, CHIP_FAMILY_RV770,"ATI Mobility Radeon HD 4850 X2",kMotmot},
{ 0x944C,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4830 Series",kMotmot},
{ 0x944E,0x00000000, CHIP_FAMILY_RV770,"ATI Radeon HD 4810 Series",kMotmot},
{ 0x9450,0x00000000, CHIP_FAMILY_RV770,"AMD FireStream 9270", kMotmot},
{ 0x9452,0x00000000, CHIP_FAMILY_RV770,"AMD FireStream 9250", kMotmot},
{ 0x9450,0x00000000, CHIP_FAMILY_RV770,"AMD FireStream 9270", kMotmot},
{ 0x9452,0x00000000, CHIP_FAMILY_RV770,"AMD FireStream 9250", kMotmot},
{ 0x9460,0x00000000, CHIP_FAMILY_RV790,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9462,0x00000000, CHIP_FAMILY_RV790,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9456,0x00000000, CHIP_FAMILY_RV770,"ATI FirePro V8700 (FireGL)",kMotmot},
{ 0x945A,0x00000000, CHIP_FAMILY_RV770,"ATI Mobility Radeon HD 4870",kMotmot},
{ 0x9480,0x00000000, CHIP_FAMILY_RV730,"ATI Mobility Radeon HD 4650 Series", kGliff},
{ 0x9460,0x00000000, CHIP_FAMILY_RV790,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9462,0x00000000, CHIP_FAMILY_RV790,"ATI Radeon HD 4800 Series",kMotmot},
{ 0x9488,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4650 Series",kGliff},
{ 0x9480,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4650 Series",kGliff},
{ 0x9490,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4600 Series",kFlicker},
{ 0x9488,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4650 Series",kGliff},
{ 0x9498,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4600 Series",kFlicker},
{ 0x9490,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4710 Series",kGliff},
{ 0x9491,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4600 Series",kGliff},
{ 0x9495,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4650 Series",kGliff},
{ 0x9498,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4710 Series",kGliff},
{ 0x94B3,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker},
{ 0x94B4,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4700 Series",kFlicker},
{ 0x94B4,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4700 Series",kFlicker},
{ 0x94B5,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker},
{ 0x94C1,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C3,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C3,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2350 Series", kIago},
{ 0x94C4,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C5,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94CC,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x9500,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon},
{ 0x9501,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon},
{ 0x9501,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3690 Series", kMegalodon},
{ 0x9505,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon},
{ 0x9507,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850", kMegalodon},
{ 0x9507,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3830", kMegalodon},
{ 0x950F,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3870 X2", kMegalodon},
{ 0x9519,0x00000000, CHIP_FAMILY_RV670,"AMD FireStream 9170", kMegalodon},
{ 0x9540,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4550", kNull},
{ 0x954F,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4300/4500 Series",kNull},
{ 0x9540,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4550", kFlicker},
{ 0x954F,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4350",kFlicker},
{ 0x9552,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4300/4500 Series",kShrike},
{ 0x9553,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4500M/5100M Series", kShrike },
{ 0x9552,0x00000000, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4300/4500 Series",kShrike},
{ 0x9553,0x00000000, CHIP_FAMILY_RV710,"ATI Mobility Radeon HD 4500M/5100M Series",kShrike},
{ 0x9555,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD4300/HD4500 series",kNull},
{ 0x9581,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3600 Series",kNull},
{ 0x9581,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3600 Series",kHypoprion},
{ 0x9583,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3600 Series",kNull},
{ 0x9583,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3600 Series",kHypoprion},
{ 0x9588,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT", kNull},
{ 0x9589,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3610 Series",kNull},
{ 0x9588,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 XT",kHypoprion},
{ 0x9589,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3610 Series",kHypoprion},
{ 0x958A,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x958B,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x958C,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x958D,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x958E,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 2600 X2 Series",kLamna},
{ 0x9591,0x00000000, CHIP_FAMILY_RV635,"ATI Radeon HD 3600 Series",kNull},
{ 0x9591,0x00000000, CHIP_FAMILY_RV635,"ATI Radeon HD 3600 Series",kMegalodon},
{ 0x9598,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3600 Series",kMegalodon},
/* IGP */
{ 0x9610,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon HD 3200 Graphics",kNull},
{ 0x9611,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon 3100 Graphics", kNull},
{ 0x9611,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon 3100 Graphics", kNull},
{ 0x9614,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon HD 3300 Graphics",kNull},
{ 0x9616,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon 3000 Graphics", kNull},
{ 0x9616,0x00000000, CHIP_FAMILY_RS780,"ATI Radeon 3000 Graphics", kNull},
{ 0x9710,0x00000000, CHIP_FAMILY_RS880,"ATI Radeon HD 4200 Series",kNull},
{ 0x68A9,0x00000000, CHIP_FAMILY_JUNIPER,"ATI FirePro V5800 (FireGL)",kNull},
{ 0x68B0,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Mobility Radeon HD 5800 Series", kNull}, // CHIP_FAMILY_BROADWAY ??
{ 0x68B0,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Mobility Radeon HD 5800 Series", kVervet}, // CHIP_FAMILY_BROADWAY ??
{ 0x68B1,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770 Series",kVervet},
{ 0x68B8,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5700 Series",kVervet},
{ 0x68BE,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5700 Series",kVervet},
{ 0x68BF,0x00000000, CHIP_FAMILY_JUNIPER,"AMD Radeon HD 6700 Series",kVervet},
{ 0x68C0,0x00000000, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6570M/5700 Series",kNull},
{ 0x68C1,0x00000000, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6500M/5600/5700 Series", kNull},
{ 0x68C0,0x00000000, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6570M/5700 Series",kBaboon},
{ 0x68C1,0x00000000, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6500M/5600/5700 Series",kBaboon},
{ 0x68C8,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5650 Series",kVervet},
{ 0x68C9,0x00000000, CHIP_FAMILY_REDWOOD,"ATI FirePro V3800 (FireGL)",kNull},
{ 0x68C9,0x00000000, CHIP_FAMILY_REDWOOD,"ATI FirePro V3800 (FireGL)",kBaboon},
{ 0x68D8,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5600 Series",kBaboon},
{ 0x68D8,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5670 Series",kBaboon},
{ 0x68D9,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5500/5600 Series",kBaboon},
{ 0x68DA,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5500 Series",kBaboon},
{ 0x68E0,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5400 Series", kEulemur},
{ 0x68E1,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5400 Series", kEulemur},
{ 0x68E4,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6300M Series",kNull},
{ 0x68E5,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6300M Series",kNull},
{ 0x68E4,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6370M Series",kEulemur},
{ 0x68E5,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6300M Series",kEulemur},
//{ 0x68E8,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
//{ 0x68E9,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
//{ 0x68F8,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
{ 0x68F9,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5400 Series",kNull},
{ 0x68F9,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470 Series",kEulemur},
{ 0x68FA,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 7300 Series",kNull},
//{ 0x68FE,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
/* Northen Islands */
{ 0x6718,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970 Series",kNull},
{ 0x6718,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970 Series",kLotus},
{ 0x6719,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950 Series",kGibba},
{ 0x671C,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970 Series",kLotus},
{ 0x671D,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6900 Series",kNull},
{ 0x671D,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950 Series",kLotus},
{ 0x671F,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6900 Series",kNull},
{ 0x671F,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6930 Series",kLotus},
{ 0x6720,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6900M Series",kNull},
{ 0x6720,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6900M Series",kDuckweed},
{ 0x6722,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6900M Series",kDuckweed},
{ 0x6738,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870 Series",kDuckweed},
{ 0x6739,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850 Series",kDuckweed},
{ 0x673E,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790 Series",kNull},
{ 0x673E,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6790 Series",kDuckweed},
{ 0x6740,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6700M Series",kNull},
{ 0x6741,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6600M/6700M Series",kNull},
{ 0x6740,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M Series",kPithecia},
{ 0x6741,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6600M/6700M Series",kPithecia},
{ 0x6750,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6600A Series",kNull},
{ 0x6745,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6600M Series",kPithecia},
{ 0x6750,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6600A Series",kPithecia},
{ 0x6758,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670 Series",kBulrushes},
{ 0x6759,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570/7570 Series",kNull},
{ 0x6758,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670 Series",kPithecia},
{ 0x6759,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570/7570 Series",kPithecia},
{ 0x675D,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 7500 Series",kNull},
{ 0x675D,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 7500 Series",kBulrushes},
{ 0x675F,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 5500 Series",kNull},
{ 0x6760,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400M Series",kNull},
{ 0x6761,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6430M Series",kNull},
{ 0x675F,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 5500 Series",kBulrushes},
{ 0x6760,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400M Series",kBulrushes},
{ 0x6761,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6430M Series",kBulrushes},
{ 0x6768,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400M Series",kBulrushes},
{ 0x6770,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400 Series",kNull},
{ 0x6770,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400 Series",kBulrushes},
{ 0x6772,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7400A Series",kNull},
branches/ErmaC/Trunk/i386/libsaio/pci.c
9292
9393
9494
95
9596
9697
9798
98
99
99100
100101
101102
continue;
}
bzero(new, sizeof(pci_dt_t));
new->dev.addr= pci_addr;
new->vendor_id= id & 0xffff;
new->device_id= (id >> 16) & 0xffff;
new->subsys_id.subsys_id= pci_config_read32(pci_addr, PCI_SUBSYSTEM_VENDOR_ID);
new->subsys_id.subsys_id= pci_config_read32(pci_addr, PCI_SUBSYSTEM_VENDOR_ID);
new->class_id= pci_config_read16(pci_addr, PCI_CLASS_DEVICE);
new->parent= start;

Archive Download the corresponding diff file

Revision: 2051