Index: branches/Chimera/i386/libsaio/console.c =================================================================== --- branches/Chimera/i386/libsaio/console.c (revision 2393) +++ branches/Chimera/i386/libsaio/console.c (revision 2394) @@ -91,7 +91,7 @@ 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, ...) Index: branches/Chimera/i386/libsaio/gma.c =================================================================== --- branches/Chimera/i386/libsaio/gma.c (revision 2393) +++ branches/Chimera/i386/libsaio/gma.c (revision 2394) @@ -53,11 +53,6 @@ #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" @@ -212,110 +207,110 @@ /* 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 */ @@ -323,22 +318,22 @@ // 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])) @@ -363,19 +358,59 @@ 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; + char buf[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_t bar[7]; char *model = NULL; - uint8_t BuiltIn = 0x00; + uint8_t BuiltIn = 0x00; + int len; + const char *value; uint16_t vendor_id = gma_dev->vendor_id; uint16_t device_id = gma_dev->device_id; uint8_t ClassFix[4] = { 0x00, 0x00, 0x03, 0x00 }; - int n_igs = 0; - int len; - 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); @@ -410,10 +445,9 @@ 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: @@ -425,7 +459,6 @@ 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: @@ -434,18 +467,17 @@ 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); @@ -455,7 +487,7 @@ 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); @@ -465,229 +497,388 @@ //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: Index: branches/Chimera/i386/libsaio/gma.h =================================================================== --- branches/Chimera/i386/libsaio/gma.h (revision 2393) +++ branches/Chimera/i386/libsaio/gma.h (revision 2394) @@ -60,6 +60,8 @@ #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" @@ -91,7 +93,7 @@ //#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 @@ -133,13 +135,13 @@ /* ========== 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_PLUS GFX_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_PLUS GFX_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_PLUS GFX_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 // ?? @@ -149,10 +151,10 @@ /* ========== 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 @@ -169,39 +171,39 @@ // 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) @@ -215,15 +217,15 @@ //#define GMA_HASWELL_SDV_S_GT2_PLUS_IG GFX_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_IG GFX_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) @@ -235,4 +237,4 @@ /* END */ -#endif /* !__LIBSAIO_GMA_H */ +#endif /* !__LIBSAIO_GMA_H */ \ No newline at end of file Index: branches/Chimera/i386/libsaio/nvidia.c =================================================================== --- branches/Chimera/i386/libsaio/nvidia.c (revision 2393) +++ branches/Chimera/i386/libsaio/nvidia.c (revision 2394) @@ -77,7 +77,7 @@ #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; @@ -115,7 +115,7 @@ #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" }, @@ -172,282 +172,282 @@ // 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 @@ -481,12 +481,12 @@ // 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 @@ -498,20 +498,20 @@ // 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 @@ -523,111 +523,111 @@ { 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 @@ -637,52 +637,52 @@ // 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 @@ -700,70 +700,70 @@ // 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 @@ -790,57 +790,57 @@ // 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" }, @@ -879,22 +879,22 @@ // 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 @@ -912,73 +912,73 @@ // 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 @@ -994,8 +994,8 @@ // 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 @@ -1008,105 +1008,105 @@ // 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 @@ -1114,9 +1114,9 @@ // 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" }, @@ -1129,125 +1129,125 @@ // 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[] = { @@ -1675,22 +1675,24 @@ } //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; } } @@ -1972,6 +1974,9 @@ } } + 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, Index: branches/Chimera/i386/libsaio/ati.c =================================================================== --- branches/Chimera/i386/libsaio/ati.c (revision 2393) +++ branches/Chimera/i386/libsaio/ati.c (revision 2394) @@ -145,66 +145,66 @@ // 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 }, @@ -218,13 +218,13 @@ { 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 }, @@ -235,66 +235,66 @@ { 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 }, @@ -309,23 +309,23 @@ { 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 }, @@ -345,881 +345,881 @@ { 0x9553, 0xFFA21179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kPeregrine }, { 0x9553, 0xFFC01179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kPeregrine }, - { 0x9555, 0x29241682, CHIP_FAMILY_RV710, "ATI Radeon HD 4550", kNull }, - { 0x9555, 0x24651682, CHIP_FAMILY_RV710, "ATI Radeon HD4300/HD4500", kNull }, - { 0x9555, 0x3711174B, CHIP_FAMILY_RV710, "ATI Radeon HD4300/HD4500", kNull }, + { 0x9555, 0x29241682, CHIP_FAMILY_RV710, "ATI Radeon HD 4550", kNull }, + { 0x9555, 0x24651682, CHIP_FAMILY_RV710, "ATI Radeon HD4300/HD4500", kNull }, + { 0x9555, 0x3711174B, CHIP_FAMILY_RV710, "ATI Radeon HD4300/HD4500", kNull }, - { 0x9581, 0x011F1025, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, - { 0x9581, 0x0562107B, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, - { 0x9581, 0x15621043, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, - { 0x9581, 0x3000148C, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, - { 0x9581, 0x30C5103C, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, - { 0x9581, 0x3C2D17AA, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, - { 0x9581, 0x63F61462, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, - { 0x9581, 0x95811002, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, - { 0x9581, 0xFF001179, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, - { 0x9581, 0xFF011179, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, + { 0x9581, 0x011F1025, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, + { 0x9581, 0x0562107B, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, + { 0x9581, 0x15621043, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, + { 0x9581, 0x3000148C, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, + { 0x9581, 0x30C5103C, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, + { 0x9581, 0x3C2D17AA, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, + { 0x9581, 0x63F61462, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, + { 0x9581, 0x95811002, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, + { 0x9581, 0xFF001179, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, + { 0x9581, 0xFF011179, CHIP_FAMILY_RV630, "ATI Radeon HD 2600", kNull }, - { 0x9583, 0x0083106B, CHIP_FAMILY_RV630, "ATI Mobility Radeon HD 2600 XT", kNull }, - { 0x9583, 0x11071734, CHIP_FAMILY_RV630, "ATI Mobility Radeon HD 2600 XT", kNull }, - { 0x9583, 0x3000148C, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, - { 0x9583, 0x30D4103C, CHIP_FAMILY_RV630, "ATI Mobility Radeon HD 2600 XT", kNull }, + { 0x9583, 0x0083106B, CHIP_FAMILY_RV630, "ATI Mobility Radeon HD 2600 XT", kNull }, + { 0x9583, 0x11071734, CHIP_FAMILY_RV630, "ATI Mobility Radeon HD 2600 XT", kNull }, + { 0x9583, 0x3000148C, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, + { 0x9583, 0x30D4103C, CHIP_FAMILY_RV630, "ATI Mobility Radeon HD 2600 XT", kNull }, - { 0x9588, 0x01021A93, CHIP_FAMILY_RV630, "Qimonda Radeon HD 2600 XT", kNull }, + { 0x9588, 0x01021A93, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 XT", kNull }, - { 0x9589, 0x01001A93, CHIP_FAMILY_RV630, "Qimonda Radeon HD 2600 PRO", kNull }, - { 0x9589, 0x0E41174B, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, - { 0x9589, 0x30001462, CHIP_FAMILY_RV630, "ATI Radeon HD 3610", kNull }, - { 0x9589, 0x30001642, CHIP_FAMILY_RV630, "ATI Radeon HD 3610", kNull }, - { 0x9589, 0x30001787, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, + { 0x9589, 0x01001A93, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Pro", kNull }, + { 0x9589, 0x0E41174B, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, + { 0x9589, 0x30001462, CHIP_FAMILY_RV630, "ATI Radeon HD 3610", kNull }, + { 0x9589, 0x30001642, CHIP_FAMILY_RV630, "ATI Radeon HD 3610", kNull }, + { 0x9589, 0x30001787, CHIP_FAMILY_RV630, "ATI Radeon HD 3600", kNull }, - { 0x9591, 0x15453992, CHIP_FAMILY_RV635, "ATI Radeon HD 3600", kNull }, - { 0x9591, 0x2303148C, CHIP_FAMILY_RV635, "VisionTek Radeon HD 2600/3600 Series", kNull }, + { 0x9591, 0x15453992, CHIP_FAMILY_RV635, "ATI Radeon HD 3600", kNull }, + { 0x9591, 0x2303148C, CHIP_FAMILY_RV635, "ATI Radeon HD 2600/3600 Series", kNull }, - { 0x9598, 0xB3831002, CHIP_FAMILY_RV635, "ATI All-in-Wonder HD", kNull }, - { 0x9598, 0x30001043, CHIP_FAMILY_RV635, "ATI Radeon HD 3730", kNull }, - { 0x9598, 0x3000148C, CHIP_FAMILY_RV635, "ATI Radeon HD 3730", kNull }, - { 0x9598, 0x30001545, CHIP_FAMILY_RV635, "VisionTek Radeon HD 2600 XT", kNull }, - { 0x9598, 0x3000174B, CHIP_FAMILY_RV635, "Sapphire Radeon HD 3730", kNull }, - { 0x9598, 0x30011043, CHIP_FAMILY_RV635, "ATI Radeon HD 4570", kNull }, - { 0x9598, 0x3001148C, CHIP_FAMILY_RV635, "ATI Radeon HD 4580", kNull }, - { 0x9598, 0x3031148C, CHIP_FAMILY_RV635, "ATI Radeon HD 4570", kNull }, - { 0x9598, 0x30011545, CHIP_FAMILY_RV635, "VisionTek Radeon HD 2600 Pro", kNull }, - { 0x9598, 0x3001174B, CHIP_FAMILY_RV635, "Sapphire Radeon HD 3750", kNull }, - { 0x9598, 0x300117AF, CHIP_FAMILY_RV635, "ATI Radeon HD 3750", kNull }, - { 0x9598, 0x301017AF, CHIP_FAMILY_RV635, "ATI Radeon HD 4570", kNull }, - { 0x9598, 0x301117AF, CHIP_FAMILY_RV635, "ATI Radeon HD 4580", kNull }, - { 0x9598, 0x30501787, CHIP_FAMILY_RV635, "ATI Radeon HD 4610", kNull }, - { 0x9598, 0x4570174B, CHIP_FAMILY_RV635, "ATI Radeon HD 4570", kNull }, - { 0x9598, 0x4580174B, CHIP_FAMILY_RV635, "ATI Radeon HD 4580", kNull }, - { 0x9598, 0x4610174B, CHIP_FAMILY_RV635, "ATI Radeon HD 4610", kNull }, + { 0x9598, 0xB3831002, CHIP_FAMILY_RV635, "ATI All-in-Wonder HD", kNull }, + { 0x9598, 0x30001043, CHIP_FAMILY_RV635, "ATI Radeon HD 3730", kNull }, + { 0x9598, 0x3000148C, CHIP_FAMILY_RV635, "ATI Radeon HD 3730", kNull }, + { 0x9598, 0x30001545, CHIP_FAMILY_RV635, "ATI Radeon HD 2600 XT", kNull }, + { 0x9598, 0x3000174B, CHIP_FAMILY_RV635, "ATI Radeon HD 3730", kNull }, + { 0x9598, 0x30011043, CHIP_FAMILY_RV635, "ATI Radeon HD 4570", kNull }, + { 0x9598, 0x3001148C, CHIP_FAMILY_RV635, "ATI Radeon HD 4580", kNull }, + { 0x9598, 0x3031148C, CHIP_FAMILY_RV635, "ATI Radeon HD 4570", kNull }, + { 0x9598, 0x30011545, CHIP_FAMILY_RV635, "ATI Radeon HD 2600 Pro", kNull }, + { 0x9598, 0x3001174B, CHIP_FAMILY_RV635, "ATI Radeon HD 3750", kNull }, + { 0x9598, 0x300117AF, CHIP_FAMILY_RV635, "ATI Radeon HD 3750", kNull }, + { 0x9598, 0x301017AF, CHIP_FAMILY_RV635, "ATI Radeon HD 4570", kNull }, + { 0x9598, 0x301117AF, CHIP_FAMILY_RV635, "ATI Radeon HD 4580", kNull }, + { 0x9598, 0x30501787, CHIP_FAMILY_RV635, "ATI Radeon HD 4610", kNull }, + { 0x9598, 0x4570174B, CHIP_FAMILY_RV635, "ATI Radeon HD 4570", kNull }, + { 0x9598, 0x4580174B, CHIP_FAMILY_RV635, "ATI Radeon HD 4580", kNull }, + { 0x9598, 0x4610174B, CHIP_FAMILY_RV635, "ATI Radeon HD 4610", kNull }, - { 0x95C0, 0x3000148C, CHIP_FAMILY_RV620, "ATI Radeon HD 3550", kNull }, - { 0x95C0, 0x3000174B, CHIP_FAMILY_RV620, "Sapphire Radeon HD 3550", kNull }, - { 0x95C0, 0x3002174B, CHIP_FAMILY_RV620, "ATI Radeon HD 3570", kNull }, - { 0x95C0, 0x3020174B, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, - { 0x95C0, 0xE3901745, CHIP_FAMILY_RV620, "ATI Radeon HD 3550", kNull }, + { 0x95C0, 0x3000148C, CHIP_FAMILY_RV620, "ATI Radeon HD 3550", kNull }, + { 0x95C0, 0x3000174B, CHIP_FAMILY_RV620, "ATI Radeon HD 3550", kNull }, + { 0x95C0, 0x3002174B, CHIP_FAMILY_RV620, "ATI Radeon HD 3570", kNull }, + { 0x95C0, 0x3020174B, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, + { 0x95C0, 0xE3901745, CHIP_FAMILY_RV620, "ATI Radeon HD 3550", kNull }, - { 0x95C5, 0x01041A93, CHIP_FAMILY_RV620, "Qimonda Radeon HD 3450", kNull }, - { 0x95C5, 0x01051A93, CHIP_FAMILY_RV620, "Qimonda Radeon HD 3450", kNull }, - { 0x95C5, 0x3000148C, CHIP_FAMILY_RV620, "ATI Radeon HD 3450", kNull }, - { 0x95C5, 0x3001148C, CHIP_FAMILY_RV620, "ATI Radeon HD 3550", kNull }, - { 0x95C5, 0x3002148C, CHIP_FAMILY_RV620, "ATI Radeon HD 4230", kNull }, - { 0x95C5, 0x3003148C, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, - { 0x95C5, 0x3010174B, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, - { 0x95C5, 0x301017AF, CHIP_FAMILY_RV620, "ATI Radeon HD 4230", kNull }, - { 0x95C5, 0x3032148C, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, - { 0x95C5, 0x3033148C, CHIP_FAMILY_RV620, "ATI Radeon HD 4230", kNull }, - { 0x95C5, 0x30501787, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, - { 0x95C5, 0x4250174B, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, + { 0x95C5, 0x01041A93, CHIP_FAMILY_RV620, "ATI Radeon HD 3450", kNull }, + { 0x95C5, 0x01051A93, CHIP_FAMILY_RV620, "ATI Radeon HD 3450", kNull }, + { 0x95C5, 0x3000148C, CHIP_FAMILY_RV620, "ATI Radeon HD 3450", kNull }, + { 0x95C5, 0x3001148C, CHIP_FAMILY_RV620, "ATI Radeon HD 3550", kNull }, + { 0x95C5, 0x3002148C, CHIP_FAMILY_RV620, "ATI Radeon HD 4230", kNull }, + { 0x95C5, 0x3003148C, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, + { 0x95C5, 0x3010174B, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, + { 0x95C5, 0x301017AF, CHIP_FAMILY_RV620, "ATI Radeon HD 4230", kNull }, + { 0x95C5, 0x3032148C, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, + { 0x95C5, 0x3033148C, CHIP_FAMILY_RV620, "ATI Radeon HD 4230", kNull }, + { 0x95C5, 0x30501787, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, + { 0x95C5, 0x4250174B, CHIP_FAMILY_RV620, "ATI Radeon HD 4250", kNull }, /* Evergreen */ - { 0x6898, 0x00D0106B, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kLangur }, - { 0x6898, 0x032E1043, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kUakari }, - { 0x6898, 0x038C1043, CHIP_FAMILY_CYPRESS, "ASUS 5870 Eyefinity 6", kNull }, - { 0x6898, 0x0B001002, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kZonalis }, - { 0x6898, 0x21E51458, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kUakari }, - { 0x6898, 0x29611682, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kUakari }, - { 0x6898, 0xE140174B, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kUakari }, + { 0x6898, 0x00D0106B, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kLangur }, + { 0x6898, 0x032E1043, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kUakari }, + { 0x6898, 0x038C1043, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kNull }, + { 0x6898, 0x0B001002, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kZonalis }, + { 0x6898, 0x21E51458, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kUakari }, + { 0x6898, 0x29611682, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kUakari }, + { 0x6898, 0xE140174B, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870", kUakari }, - { 0x6899, 0x200A1787, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850", kUakari }, - { 0x6899, 0x21E41458, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850", kUakari }, - { 0x6899, 0x22901787, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850", kUakari }, - { 0x6899, 0xE140174B, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850", kUakari }, - { 0x6899, 0xE174174B, CHIP_FAMILY_CYPRESS, "ATI Sapphire Radeon HD 5850", kUakari }, + { 0x6899, 0x200A1787, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850", kUakari }, + { 0x6899, 0x21E41458, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850", kUakari }, + { 0x6899, 0x22901787, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850", kUakari }, + { 0x6899, 0xE140174B, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850", kUakari }, + { 0x6899, 0xE174174B, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850", kUakari }, - { 0x689C, 0x034A1043, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5970", kUakari }, - { 0x689C, 0x03521043, CHIP_FAMILY_HEMLOCK, "ASUS ARES", kUakari }, - { 0x689C, 0x039E1043, CHIP_FAMILY_HEMLOCK, "ASUS EAH5870", kUakari }, - { 0x689C, 0x25421002, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5970", kUakari }, - { 0x689C, 0x30201682, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5970", kUakari }, + { 0x689C, 0x034A1043, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5970", kUakari }, + { 0x689C, 0x03521043, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5870", kUakari }, + { 0x689C, 0x039E1043, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5870", kUakari }, + { 0x689C, 0x25421002, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5970", kUakari }, + { 0x689C, 0x30201682, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5970", kUakari }, - { 0x68A0, 0x03081025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5830", kNomascus }, - { 0x68A0, 0x030A1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5830", kNomascus }, - { 0x68A0, 0x043A1028, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5870", kNomascus }, + { 0x68A0, 0x03081025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5830", kNomascus }, + { 0x68A0, 0x030A1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5830", kNomascus }, + { 0x68A0, 0x043A1028, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5870", kNomascus }, - { 0x68A1, 0x03081025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x030A1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x03671025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x03681025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x038B1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x038C1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x042E1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x042F1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x144D103C, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kNomascus }, - { 0x68A1, 0x1522103C, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x22411462, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A1, 0x39961462, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x03081025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x030A1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x03671025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x03681025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x038B1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x038C1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x042E1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x042F1025, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x144D103C, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kNomascus }, + { 0x68A1, 0x1522103C, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x22411462, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, + { 0x68A1, 0x39961462, CHIP_FAMILY_JUNIPER, "ATI Mobility Radeon HD 5850", kHoolock }, - { 0x68A8, 0x04421025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x04511025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x048F1028, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6870M", kHoolock }, - { 0x68A8, 0x04901028, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6870M", kHoolock }, - { 0x68A8, 0x04B91028, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6870M", kHoolock }, - { 0x68A8, 0x04BA1028, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6870M", kHoolock }, - { 0x68A8, 0x050A1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x050B1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x050C1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x050E1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x050F1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x05131025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x05141025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x05151025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x05161025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x05251025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x05261025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x056D1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0x159B103C, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68A8, 0xC0AD144D, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x04421025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x04511025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x048F1028, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6870M", kHoolock }, + { 0x68A8, 0x04901028, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6870M", kHoolock }, + { 0x68A8, 0x04B91028, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6870M", kHoolock }, + { 0x68A8, 0x04BA1028, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6870M", kHoolock }, + { 0x68A8, 0x050A1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x050B1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x050C1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x050E1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x050F1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x05131025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x05141025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x05151025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x05161025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x05251025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x05261025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x056D1025, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0x159B103C, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, + { 0x68A8, 0xC0AD144D, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6850M", kUakari }, - { 0x68B8, 0x00CF106B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kHoolock }, - { 0x68B8, 0x0044144D, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6770", kVervet }, - { 0x68B8, 0x1482174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x200A1787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x200B1787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x21D71458, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x21F61458, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x22881787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x25431002, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x25431458, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x29901682, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x29911682, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x30001002, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6700", kVervet }, - { 0x68B8, 0x6880103C, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0x6881103C, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6770", kVervet }, - { 0x68B8, 0xE144174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kHoolock }, - { 0x68B8, 0xE147174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0xE160174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, - { 0x68B8, 0xEA60174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6770", kVervet }, + { 0x68B8, 0x00CF106B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kHoolock }, + { 0x68B8, 0x0044144D, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6770", kVervet }, + { 0x68B8, 0x1482174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x200A1787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x200B1787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x21D71458, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x21F61458, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x22881787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x25431002, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x25431458, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x29901682, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x29911682, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x30001002, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6700", kVervet }, + { 0x68B8, 0x6880103C, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0x6881103C, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6770", kVervet }, + { 0x68B8, 0xE144174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kHoolock }, + { 0x68B8, 0xE147174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0xE160174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, + { 0x68B8, 0xEA60174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6770", kVervet }, - { 0x68BA, 0x03FE1043, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BA, 0x1482174B, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BA, 0x174B1482, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BA, 0x200A1787, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BA, 0x21421462, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BA, 0x25431458, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BA, 0x31501682, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BA, 0x31521682, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BA, 0x31531682, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BA, 0xE144174B, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0x03FE1043, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0x1482174B, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0x174B1482, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0x200A1787, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0x21421462, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0x25431458, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0x31501682, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0x31521682, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0x31531682, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, + { 0x68BA, 0xE144174B, CHIP_FAMILY_JUNIPER, "AMD Radeon HD 6770", kVervet }, - { 0x68BE, 0x200A1787, CHIP_FAMILY_JUNIPER, "HIS ATI 5750", kVervet }, - { 0x68BE, 0x22881787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5750", kVervet }, - { 0x68BE, 0x3000148C, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kNull }, - { 0x68BE, 0x3000174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kNull }, - { 0x68BE, 0x300017AF, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kNull }, - { 0x68BE, 0x39821642, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kNull }, + { 0x68BE, 0x200A1787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5750", kVervet }, + { 0x68BE, 0x22881787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5750", kVervet }, + { 0x68BE, 0x3000148C, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kNull }, + { 0x68BE, 0x3000174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kNull }, + { 0x68BE, 0x300017AF, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kNull }, + { 0x68BE, 0x39821642, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kNull }, - { 0x68BF, 0x220E1458, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kVervet }, - { 0x68BF, 0x3000148C, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kVervet }, - { 0x68BF, 0x31401682, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kVervet }, - { 0x68BF, 0x6750174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kVervet }, - { 0x68BF, 0xE144174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kHoolock }, + { 0x68BF, 0x220E1458, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kVervet }, + { 0x68BF, 0x3000148C, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kVervet }, + { 0x68BF, 0x31401682, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kVervet }, + { 0x68BF, 0x6750174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kVervet }, + { 0x68BF, 0xE144174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6750", kHoolock }, - { 0x68C0, 0x1594103C, CHIP_FAMILY_REDWOOD, "AMD Radeon HD 6570M", kNull }, - { 0x68C0, 0x392717AA, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5730", kNull }, - { 0x68C0, 0x395217AA, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5730", kNull }, - { 0x68C0, 0x84721043, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5000", kNull }, + { 0x68C0, 0x1594103C, CHIP_FAMILY_REDWOOD, "AMD Radeon HD 6570M", kNull }, + { 0x68C0, 0x392717AA, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5730", kNull }, + { 0x68C0, 0x395217AA, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5730", kNull }, + { 0x68C0, 0x84721043, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5000", kNull }, - { 0x68C1, 0x02051025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x02961025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x030A1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x033D1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x033E1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, - { 0x68C1, 0x03471025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x03561025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x03581025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x035A1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x035C1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x03641025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x036D1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, - { 0x68C1, 0x03791025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x037E1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x03821025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, - { 0x68C1, 0x04121025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, - { 0x68C1, 0x042E1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, - { 0x68C1, 0x042F1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, - { 0x68C1, 0x9071104D, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, - { 0x68C1, 0x1449103C, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, - { 0x68C1, 0xFD001179, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, - { 0x68C1, 0xFD121179, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, - { 0x68C1, 0xFD501179, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, - { 0x68C1, 0xFDD01179, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, + { 0x68C1, 0x02051025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x02961025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x030A1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x033D1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x033E1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, + { 0x68C1, 0x03471025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x03561025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x03581025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x035A1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x035C1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x03641025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x036D1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, + { 0x68C1, 0x03791025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x037E1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x03821025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5750", kNull }, + { 0x68C1, 0x04121025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, + { 0x68C1, 0x042E1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, + { 0x68C1, 0x042F1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, + { 0x68C1, 0x9071104D, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, + { 0x68C1, 0x1449103C, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, + { 0x68C1, 0xFD001179, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, + { 0x68C1, 0xFD121179, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, + { 0x68C1, 0xFD501179, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, + { 0x68C1, 0xFDD01179, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, - { 0x68C8, 0x2306103C, CHIP_FAMILY_REDWOOD, "ATI FirePro V4800 (FireGL)", kNull }, - { 0x68C8, 0x240A1002, CHIP_FAMILY_REDWOOD, "ATI FirePro V4800 (FireGL)", kNull }, - { 0x68C8, 0x240A1028, CHIP_FAMILY_REDWOOD, "ATI FirePro V4800 (FireGL)", kNull }, + { 0x68C8, 0x2306103C, CHIP_FAMILY_REDWOOD, "ATI FirePro V4800 (FireGL)", kNull }, + { 0x68C8, 0x240A1002, CHIP_FAMILY_REDWOOD, "ATI FirePro V4800 (FireGL)", kNull }, + { 0x68C8, 0x240A1028, CHIP_FAMILY_REDWOOD, "ATI FirePro V4800 (FireGL)", kNull }, - { 0x68D8, 0x03561043, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kBaboon }, - { 0x68D8, 0x03C01043, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kNull }, - { 0x68D8, 0x20091787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kNull }, - { 0x68D8, 0x200B1787, CHIP_FAMILY_REDWOOD, "HIS ATI HD5670 XT Redwood ICEQ", kBaboon }, // catalinz - { 0x68D8, 0x21D91458, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kBaboon }, - { 0x68D8, 0x21F41458, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kNull }, - { 0x68D8, 0x22051462, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, - { 0x68D8, 0x22941787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, - { 0x68D8, 0x30001787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5730", kNull }, - { 0x68D8, 0x301017AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5730", kNull }, - { 0x68D8, 0x301117AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, - { 0x68D8, 0x30601682, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, - { 0x68D8, 0x30651682, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, - { 0x68D8, 0x56701545, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, - { 0x68D8, 0x5690174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, - { 0x68D8, 0x5730174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5730", kNull }, - { 0x68D8, 0x68E01028, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kBaboon }, - { 0x68D8, 0xE151174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kEulemur }, - { 0x68D8, 0xE155174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kNull }, - { 0x68D8, 0xE166174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kUakari }, + { 0x68D8, 0x03561043, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kBaboon }, + { 0x68D8, 0x03C01043, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kNull }, + { 0x68D8, 0x20091787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kNull }, + { 0x68D8, 0x200B1787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kBaboon }, // catalinz + { 0x68D8, 0x21D91458, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kBaboon }, + { 0x68D8, 0x21F41458, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kNull }, + { 0x68D8, 0x22051462, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, + { 0x68D8, 0x22941787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, + { 0x68D8, 0x30001787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5730", kNull }, + { 0x68D8, 0x301017AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5730", kNull }, + { 0x68D8, 0x301117AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, + { 0x68D8, 0x30601682, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, + { 0x68D8, 0x30651682, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, + { 0x68D8, 0x56701545, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, + { 0x68D8, 0x5690174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, + { 0x68D8, 0x5730174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5730", kNull }, + { 0x68D8, 0x68E01028, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kBaboon }, + { 0x68D8, 0xE151174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kEulemur }, + { 0x68D8, 0xE155174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kNull }, + { 0x68D8, 0xE166174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670", kUakari }, - { 0x68D9, 0x03CE1043, CHIP_FAMILY_REDWOOD, "ASUS EAH5550 series", kNull }, - { 0x68D9, 0x22401462, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5570", kNull }, - { 0x68D9, 0x3000148C, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6510", kNull }, - { 0x68D9, 0x3000174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6510", kNull }, - { 0x68D9, 0x301017AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5630", kNull }, - { 0x68D9, 0x39691642, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5570", kNull }, + { 0x68D9, 0x03CE1043, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5550", kNull }, + { 0x68D9, 0x22401462, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5570", kNull }, + { 0x68D9, 0x3000148C, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6510", kNull }, + { 0x68D9, 0x3000174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6510", kNull }, + { 0x68D9, 0x301017AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5630", kNull }, + { 0x68D9, 0x39691642, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5570", kNull }, - { 0x68DA, 0x3000148C, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6390", kNull }, - { 0x68DA, 0x3000174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6390", kNull }, - { 0x68DA, 0x30001787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5630", kNull }, - { 0x68DA, 0x300017AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6390", kNull }, - { 0x68DA, 0x301017AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5630", kNull }, - { 0x68DA, 0x5630174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5630", kNull }, + { 0x68DA, 0x3000148C, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6390", kNull }, + { 0x68DA, 0x3000174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6390", kNull }, + { 0x68DA, 0x30001787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5630", kNull }, + { 0x68DA, 0x300017AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 6390", kNull }, + { 0x68DA, 0x301017AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5630", kNull }, + { 0x68DA, 0x5630174B, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5630", kNull }, - { 0x68E0, 0x02931025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x03581025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x03591025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x035C1025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x035D1025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x036D1025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kLangur }, - { 0x68E0, 0x04471028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x04561028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x04831025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x1433103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x1441103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x144A103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0x1BF21043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kNull }, - { 0x68E0, 0x848F1043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kNull }, - { 0x68E0, 0xFD001179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0xFD121179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0xFD501179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0xFD921179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E0, 0xFDD01179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x02931025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x03581025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x03591025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x035C1025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x035D1025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x036D1025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kLangur }, + { 0x68E0, 0x04471028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x04561028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x04831025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x1433103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x1441103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x144A103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0x1BF21043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kNull }, + { 0x68E0, 0x848F1043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kNull }, + { 0x68E0, 0xFD001179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0xFD121179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0xFD501179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0xFD921179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E0, 0xFDD01179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E1, 0x04661028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x10021B61, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450M", kEulemur }, - { 0x68E1, 0x10501462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x1426103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x142A103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 545vM", kEulemur }, - { 0x68E1, 0x14E110CF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5400M", kEulemur }, - { 0x68E1, 0x21D81458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x21E21458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x21F11458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x22021458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x23421462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x23431462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x25481458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5400M Series", kEulemur }, - { 0x68E1, 0x254A1458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5000M Series", kEulemur }, - { 0x68E1, 0x30001043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x3000148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x30001682, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x3000174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68E1, 0x30001787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, // 5430M ??? - { 0x68E1, 0x300017AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x3001148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x301417AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kEulemur }, - { 0x68E1, 0x3002148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x3003148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450M", kEulemur }, - { 0x68E1, 0x54501545, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x5470174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, - { 0x68E1, 0x60001092, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x60001682, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x6000174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E1, 0x6230174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kEulemur }, - { 0x68E1, 0x6350174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kEulemur }, - { 0x68E1, 0xFDD01179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x04661028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x10021B61, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450M", kEulemur }, + { 0x68E1, 0x10501462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x1426103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x142A103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 545vM", kEulemur }, + { 0x68E1, 0x14E110CF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5400M", kEulemur }, + { 0x68E1, 0x21D81458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x21E21458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x21F11458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x22021458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x23421462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x23431462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x25481458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5400M Series", kEulemur }, + { 0x68E1, 0x254A1458, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5000M Series", kEulemur }, + { 0x68E1, 0x30001043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x3000148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x30001682, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x3000174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68E1, 0x30001787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, // 5430M ??? + { 0x68E1, 0x300017AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x3001148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x301417AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kEulemur }, + { 0x68E1, 0x3002148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x3003148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450M", kEulemur }, + { 0x68E1, 0x54501545, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x5470174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470M", kEulemur }, + { 0x68E1, 0x60001092, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x60001682, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x6000174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, + { 0x68E1, 0x6230174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kEulemur }, + { 0x68E1, 0x6350174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kEulemur }, + { 0x68E1, 0xFDD01179, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", kEulemur }, - { 0x68E4, 0x04821025, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, - { 0x68E4, 0x1426103C, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, - { 0x68E4, 0x1C921043, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, - { 0x68E4, 0x397917AA, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, - { 0x68E4, 0x397F17AA, CHIP_FAMILY_CEDAR, "AMD Radeon HD 7370M", kNull }, - { 0x68E4, 0x84A01043, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, + { 0x68E4, 0x04821025, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, + { 0x68E4, 0x1426103C, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, + { 0x68E4, 0x1C921043, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, + { 0x68E4, 0x397917AA, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, + { 0x68E4, 0x397F17AA, CHIP_FAMILY_CEDAR, "AMD Radeon HD 7370M", kNull }, + { 0x68E4, 0x84A01043, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, - { 0x68F9, 0x00011019, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x00021019, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x00191019, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x010E1002, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x010E1028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x03741043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x03CA1043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x05181025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x05191025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x174B3000, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6230", kNull }, - { 0x68F9, 0x174B6250, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6250", kNull }, - { 0x68F9, 0x174B6290, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6290", kNull }, - { 0x68F9, 0x174BE164, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x20091787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x21261028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x2126103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x21301462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x21311462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x21331462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kEulemur }, - { 0x68F9, 0x21801462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x21811462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x21821462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x21831462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x22911787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x22301462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x22311462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x23401462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x24951462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x2AAC103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x2AEC103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x30001787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470", kNull }, - { 0x68F9, 0x300017AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6250", kNull }, - { 0x68F9, 0x3001148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6250", kNull }, - { 0x68F9, 0x30011787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5530", kNull }, - { 0x68F9, 0x3002148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6290", kNull }, - { 0x68F9, 0x30021787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5490", kNull }, - { 0x68F9, 0x300217AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6290", kNull }, - { 0x68F9, 0x3003148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6230", kNull }, - { 0x68F9, 0x301117AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470", kNull }, - { 0x68F9, 0x301217AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5490", kNull }, - { 0x68F9, 0x301317AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470", kNull }, - { 0x68F9, 0x301417AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x30321682, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x303A1682, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x3580103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x360217AA, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x360317AA, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x360F17AA, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x361917AA, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x39831642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x39841642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x39871642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x3987174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x39971462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0x3A051642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, - { 0x68F9, 0x3B311642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350A", kNull }, - { 0x68F9, 0x5470174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470", kNull }, - { 0x68F9, 0x5490174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5490", kNull }, - { 0x68F9, 0x5530174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5530", kNull }, - { 0x68F9, 0x6230174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6230", kNull }, - { 0x68F9, 0x6350174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, - { 0x68F9, 0x7350148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 7350", kNull }, - { 0x68F9, 0xE127174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0xE145174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0xE153174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, - { 0x68F9, 0xE164174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x00011019, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x00021019, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x00191019, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x010E1002, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x010E1028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x03741043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x03CA1043, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x05181025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x05191025, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x174B3000, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6230", kNull }, + { 0x68F9, 0x174B6250, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6250", kNull }, + { 0x68F9, 0x174B6290, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6290", kNull }, + { 0x68F9, 0x174BE164, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x20091787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x21261028, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x2126103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x21301462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x21311462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x21331462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kEulemur }, + { 0x68F9, 0x21801462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x21811462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x21821462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x21831462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x22911787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x22301462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x22311462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x23401462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x24951462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x2AAC103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x2AEC103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x30001787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470", kNull }, + { 0x68F9, 0x300017AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6250", kNull }, + { 0x68F9, 0x3001148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6250", kNull }, + { 0x68F9, 0x30011787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5530", kNull }, + { 0x68F9, 0x3002148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6290", kNull }, + { 0x68F9, 0x30021787, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5490", kNull }, + { 0x68F9, 0x300217AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6290", kNull }, + { 0x68F9, 0x3003148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6230", kNull }, + { 0x68F9, 0x301117AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470", kNull }, + { 0x68F9, 0x301217AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5490", kNull }, + { 0x68F9, 0x301317AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470", kNull }, + { 0x68F9, 0x301417AF, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x30321682, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x303A1682, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x3580103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x360217AA, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x360317AA, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x360F17AA, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x361917AA, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x39831642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x39841642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x39871642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x3987174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x39971462, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0x3A051642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kNull }, + { 0x68F9, 0x3B311642, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350A", kNull }, + { 0x68F9, 0x5470174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470", kNull }, + { 0x68F9, 0x5490174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5490", kNull }, + { 0x68F9, 0x5530174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5530", kNull }, + { 0x68F9, 0x6230174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6230", kNull }, + { 0x68F9, 0x6350174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 6350", kNull }, + { 0x68F9, 0x7350148C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 7350", kNull }, + { 0x68F9, 0xE127174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0xE145174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0xE153174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, + { 0x68F9, 0xE164174B, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, /* Northen Islands */ - { 0x6718, 0x03B81043, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0x03BC1043, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0x0B001002, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0x20101458, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0x20101787, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0x22001458, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0x22011458, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0x23061787, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, // HIS - { 0x6718, 0x23701462, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, // MSI - { 0x6718, 0x24701462, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, // MSI - { 0x6718, 0x31301682, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0x67181002, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0xE182174B, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6718, 0xE203174B, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0x03B81043, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0x03BC1043, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0x0B001002, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0x20101458, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0x20101787, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0x22001458, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0x22011458, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0x23061787, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, // HIS + { 0x6718, 0x23701462, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, // MSI + { 0x6718, 0x24701462, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, // MSI + { 0x6718, 0x31301682, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0x67181002, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0xE182174B, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, + { 0x6718, 0xE203174B, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970", kGibba }, - { 0x6719, 0x03BE1043, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0x03D41043, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0x0B001002, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0x186B174B, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0x20101787, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0x21FD1458, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0x23071787, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0x24611462, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0x31211682, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0x31221682, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, - { 0x6719, 0xE189174B, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x03BE1043, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x03D41043, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x0B001002, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x186B174B, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x20101787, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x21FD1458, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x23071787, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x24611462, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x31211682, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0x31221682, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, + { 0x6719, 0xE189174B, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950", kGibba }, -// { 0x671D, 0x0B2A1002, CHIP_FAMILY_ANTILLES, "AMD Radeon HD 6990", kNull }, -// { 0x671D, 0x1B2A1002, CHIP_FAMILY_ANTILLES, "AMD Radeon HD 6990", kNull }, -// { 0x671D, 0x31601682, CHIP_FAMILY_ANTILLES, "AMD Radeon HD 6990", kNull }, +// { 0x671D, 0x0B2A1002, CHIP_FAMILY_ANTILLES, "AMD Radeon HD 6990", kNull }, +// { 0x671D, 0x1B2A1002, CHIP_FAMILY_ANTILLES, "AMD Radeon HD 6990", kNull }, +// { 0x671D, 0x31601682, CHIP_FAMILY_ANTILLES, "AMD Radeon HD 6990", kNull }, - { 0x6720, 0x048F1028, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, - { 0x6720, 0x04901028, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, - { 0x6720, 0x04A41028, CHIP_FAMILY_BARTS, "AMD FirePro M8900M", kElodea }, - { 0x6720, 0x04B91028, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, - { 0x6720, 0x04BA1028, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, - { 0x6720, 0x51021558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, - { 0x6720, 0x51041558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6990M", kElodea }, - { 0x6720, 0x71001558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, - { 0x6720, 0x72001558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, - { 0x6720, 0x72011558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6990M", kElodea }, - { 0x6720, 0xC0AD144D, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, + { 0x6720, 0x048F1028, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, + { 0x6720, 0x04901028, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, + { 0x6720, 0x04A41028, CHIP_FAMILY_BARTS, "AMD FirePro M8900M", kElodea }, + { 0x6720, 0x04B91028, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, + { 0x6720, 0x04BA1028, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, + { 0x6720, 0x51021558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, + { 0x6720, 0x51041558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6990M", kElodea }, + { 0x6720, 0x71001558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, + { 0x6720, 0x72001558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, + { 0x6720, 0x72011558, CHIP_FAMILY_BARTS, "AMD Radeon HD 6990M", kElodea }, + { 0x6720, 0xC0AD144D, CHIP_FAMILY_BARTS, "AMD Radeon HD 6970M", kElodea }, - { 0x6738, 0x00D01002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x03AE1043, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x03C61043, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x174B174B, CHIP_FAMILY_BARTS, "Sapphire Radeon HD6870", kBulrushes }, // ?? kDuckweed ?? - { 0x6738, 0x20101787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x21FA1002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x21FA1458, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x23051787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x25101462, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x31031682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x31041682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x31071682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0x31081682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, // ?? kJuncus ?? - { 0x6738, 0x67381002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6738, 0xE178174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x00D01002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x03AE1043, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x03C61043, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x174B174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kBulrushes }, // ?? kDuckweed ?? + { 0x6738, 0x20101787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x21FA1002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x21FA1458, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x23051787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x25101462, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x31031682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x31041682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x31071682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0x31081682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, // ?? kJuncus ?? + { 0x6738, 0x67381002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, + { 0x6738, 0xE178174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870", kDuckweed }, - { 0x6739, 0x03B41043, CHIP_FAMILY_BARTS, "ASUS EAH6850 DirectCU", kDuckweed }, - { 0x6739, 0x174B174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x200F1787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x21F81458, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kBulrushes }, - { 0x6739, 0x23041787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x24001462, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x24411462, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x25201462, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x30001787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x31101682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x31131682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x31141682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x31161682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x31171682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0x67391002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0xAA881002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0xE174174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0xE177174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x6739, 0xE183174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x03B41043, CHIP_FAMILY_BARTS, "ATI Radeon HD 6850", kDuckweed }, + { 0x6739, 0x174B174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x200F1787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x21F81458, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kBulrushes }, + { 0x6739, 0x23041787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x24001462, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x24411462, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x25201462, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x30001787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x31101682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x31131682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x31141682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x31161682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x31171682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x67391002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0xAA881002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0xE174174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0xE177174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0xE183174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - { 0x673E, 0x174B174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790", kNull }, - { 0x673E, 0x23101787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790", kNull }, - { 0x673E, 0x31701682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790", kNull }, - { 0x673E, 0x31721682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790", kNull }, + { 0x673E, 0x174B174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790", kNull }, + { 0x673E, 0x23101787, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790", kNull }, + { 0x673E, 0x31701682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790", kNull }, + { 0x673E, 0x31721682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790", kNull }, - { 0x6740, 0x04A31028, CHIP_FAMILY_TURKS, "Dell HD 6770M", kNull }, // ?? - { 0x6740, 0x1D121043, CHIP_FAMILY_TURKS, "AMD Radeon HD 6730M", kNull }, - { 0x6740, 0x1631103C, CHIP_FAMILY_TURKS, "AMD FirePro M5950", kNull }, - { 0x6740, 0x1657103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, - { 0x6740, 0x165A103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, - { 0x6740, 0x3388103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, - { 0x6740, 0x3389103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, // ?? kHydrilla ?? - { 0x6740, 0x6740106B, CHIP_FAMILY_TURKS, "Apple HD 6770M", kNull }, // ?? + { 0x6740, 0x04A31028, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, // ?? + { 0x6740, 0x1D121043, CHIP_FAMILY_TURKS, "AMD Radeon HD 6730M", kNull }, + { 0x6740, 0x1631103C, CHIP_FAMILY_TURKS, "AMD FirePro M5950", kNull }, + { 0x6740, 0x1657103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, + { 0x6740, 0x165A103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, + { 0x6740, 0x3388103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, + { 0x6740, 0x3389103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, // ?? kHydrilla ?? + { 0x6740, 0x6740106B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, // ?? - { 0x6741, 0x050E1025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, - { 0x6741, 0x050F1025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, - { 0x6741, 0x05131025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, - { 0x6741, 0x1646103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6750M", kNull }, - { 0x6741, 0x1688103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 7690M", kNull }, - { 0x6741, 0x358D103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6630M/6650M/6750M", kNull }, - { 0x6741, 0x9080104D, CHIP_FAMILY_TURKS, "AMD Radeon HD 6630M", kNull }, + { 0x6741, 0x050E1025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, + { 0x6741, 0x050F1025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, + { 0x6741, 0x05131025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, + { 0x6741, 0x1646103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6750M", kNull }, + { 0x6741, 0x1688103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 7690M", kNull }, + { 0x6741, 0x358D103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6630M/6650M/6750M", kNull }, + { 0x6741, 0x9080104D, CHIP_FAMILY_TURKS, "AMD Radeon HD 6630M", kNull }, - { 0x6758, 0x00121028, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0x0B0E1002, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kPithecia }, - { 0x6758, 0x0B0E1028, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0x20121787, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kPithecia }, - { 0x6758, 0x20141787, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0x22051458, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0x31811682, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0x31831682, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0x67581002, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0x6882103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0xE181174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0xE1941746, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, - { 0x6758, 0xE194174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kMangabey }, + { 0x6758, 0x00121028, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0x0B0E1002, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kPithecia }, + { 0x6758, 0x0B0E1028, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0x20121787, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kPithecia }, + { 0x6758, 0x20141787, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0x22051458, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0x31811682, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0x31831682, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0x67581002, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0x6882103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0xE181174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0xE1941746, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0xE194174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kMangabey }, - { 0x6759, 0x20121787, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570", kPithecia }, - { 0x6759, 0x31951682, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570", kGibba }, - { 0x6759, 0x32801682, CHIP_FAMILY_TURKS, "AMD Radeon HD 7570", kPithecia }, - { 0x6759, 0xE193174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570", kPithecia }, + { 0x6759, 0x20121787, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570", kPithecia }, + { 0x6759, 0x31951682, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570", kGibba }, + { 0x6759, 0x32801682, CHIP_FAMILY_TURKS, "AMD Radeon HD 7570", kPithecia }, + { 0x6759, 0xE193174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570", kPithecia }, - { 0x675F, 0x23141787, CHIP_FAMILY_TURKS, "AMD Radeon HD 5570", kNull }, - { 0x675F, 0x254B1458, CHIP_FAMILY_TURKS, "AMD Radeon HD 5570", kNull }, - { 0x675F, 0x6510148C, CHIP_FAMILY_TURKS, "AMD Radeon HD 5570", kNull }, - { 0x675F, 0x6510174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 5570", kNull }, + { 0x675F, 0x23141787, CHIP_FAMILY_TURKS, "AMD Radeon HD 5570", kNull }, + { 0x675F, 0x254B1458, CHIP_FAMILY_TURKS, "AMD Radeon HD 5570", kNull }, + { 0x675F, 0x6510148C, CHIP_FAMILY_TURKS, "AMD Radeon HD 5570", kNull }, + { 0x675F, 0x6510174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 5570", kNull }, - { 0x6760, 0x00031179, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, - { 0x6760, 0x04C11028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, - { 0x6760, 0x04CA1028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, - { 0x6760, 0x04CC1028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, - { 0x6760, 0x101C1043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, - { 0x6760, 0x165A103C, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kIpomoea }, - { 0x6760, 0x167D103C, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kIpomoea }, - { 0x6760, 0x1CB21043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kIpomoea }, - { 0x6760, 0x20011043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kIpomoea }, - { 0x6760, 0x85171043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 7470M", kNull }, + { 0x6760, 0x00031179, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, + { 0x6760, 0x04C11028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, + { 0x6760, 0x04CA1028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, + { 0x6760, 0x04CC1028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, + { 0x6760, 0x101C1043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450M", kIpomoea }, + { 0x6760, 0x165A103C, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kIpomoea }, + { 0x6760, 0x167D103C, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kIpomoea }, + { 0x6760, 0x1CB21043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kIpomoea }, + { 0x6760, 0x20011043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kIpomoea }, + { 0x6760, 0x85171043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 7470M", kNull }, - { 0x6778, 0x00241019, CHIP_FAMILY_CAICOS, "AMD Radeon HD 7470", kBulrushes }, // Elitegroup - { 0x6778, 0x00271019, CHIP_FAMILY_CAICOS, "AMD Radeon HD 8470", kBulrushes }, // Elitegroup - { 0x6778, 0x21201028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 7470", kBulrushes }, // Dell - { 0x6778, 0xB4911462, CHIP_FAMILY_CAICOS, "AMD Radeon HD 8470", kBulrushes }, // MSi - { 0x6778, 0xB4921462, CHIP_FAMILY_CAICOS, "AMD Radeon HD 8470", kBulrushes }, // MSi - { 0x6778, 0xB4931462, CHIP_FAMILY_CAICOS, "AMD Radeon HD 8470", kBulrushes }, // MSi + { 0x6778, 0x00241019, CHIP_FAMILY_CAICOS, "AMD Radeon HD 7470", kBulrushes }, // Elitegroup + { 0x6778, 0x00271019, CHIP_FAMILY_CAICOS, "AMD Radeon HD 8470", kBulrushes }, // Elitegroup + { 0x6778, 0x21201028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 7470", kBulrushes }, // Dell + { 0x6778, 0xB4911462, CHIP_FAMILY_CAICOS, "AMD Radeon HD 8470", kBulrushes }, // MSi + { 0x6778, 0xB4921462, CHIP_FAMILY_CAICOS, "AMD Radeon HD 8470", kBulrushes }, // MSi + { 0x6778, 0xB4931462, CHIP_FAMILY_CAICOS, "AMD Radeon HD 8470", kBulrushes }, // MSi - { 0x6779, 0x00001002, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x03DA1043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x03DC1043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x20121787, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x21201028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x21251462, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x22031458, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x22041458, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x23111787, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x32001682, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x64501092, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0x909D1B0A, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0xE164174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kIpomoea }, - { 0x6779, 0xE180174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kPithecia }, - { 0x6779, 0xE190174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0xE199174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x00001002, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x03DA1043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x03DC1043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x20121787, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x21201028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x21251462, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x22031458, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x22041458, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x23111787, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x32001682, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x64501092, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0x909D1B0A, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0xE164174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kIpomoea }, + { 0x6779, 0xE180174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kPithecia }, + { 0x6779, 0xE190174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0xE199174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, /* Southen Islands */ - { 0x6798, 0x04181043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x041C1043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x04201043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x04421043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x04441043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x04461043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x04481043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x044A1043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x044C1043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x044E1043, CHIP_FAMILY_TAHITI, "Asus HD7970 7970", kAji }, - { 0x6798, 0x0B001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x201C1787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, // 7990 ??? - { 0x6798, 0x23171787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x254D1458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x27701462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x30001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x30001787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x32101682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x32111682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x32121682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x32131682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x6798, 0x99991043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7990", kAji }, // Asus - { 0x6798, 0xE208174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x04181043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x041C1043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x04201043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x04421043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x04441043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x04461043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x04481043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x044A1043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x044C1043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x044E1043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x0B001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x201C1787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, // 7990 ??? + { 0x6798, 0x23171787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x254D1458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x27701462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x30001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x30001787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x32101682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x32111682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x32121682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x32131682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, + { 0x6798, 0x99991043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7990", kAji }, // Asus + { 0x6798, 0xE208174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970", kAji }, - { 0x679A, 0x04241043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x04261043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x0B001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x0B011002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 8900", kAji }, - { 0x679A, 0x201C1787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x23161787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x254C1458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x27601462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x27711462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x30001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x30001462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 8950", kAji }, - { 0x679A, 0x3000174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x30001787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x32121682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x32201682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x32211682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x32221682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x6616103C, CHIP_FAMILY_TAHITI, "HP Radeon HD 7950", kAji }, - { 0x679A, 0x30001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0x7950174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0xE207174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x679A, 0xE208174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x04241043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x04261043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x0B001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x0B011002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 8900", kAji }, + { 0x679A, 0x201C1787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x23161787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x254C1458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x27601462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x27711462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x30001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x30001462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 8950", kAji }, + { 0x679A, 0x3000174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x30001787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x32121682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x32201682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x32211682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x32221682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x6616103C, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x30001002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0x7950174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0xE207174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, + { 0x679A, 0xE208174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950", kAji }, - { 0x6800, 0x03711558, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, - { 0x6800, 0x05501028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, - { 0x6800, 0x05511028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, - { 0x6800, 0x05544028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, - { 0x6800, 0x057B1028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, - { 0x6800, 0x05861028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, - { 0x6800, 0x05871028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, - { 0x6800, 0x05881028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, + { 0x6800, 0x03711558, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, + { 0x6800, 0x05501028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, + { 0x6800, 0x05511028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, + { 0x6800, 0x05544028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, + { 0x6800, 0x057B1028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, + { 0x6800, 0x05861028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, + { 0x6800, 0x05871028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, + { 0x6800, 0x05881028, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kDashimaki }, - { 0x6818, 0x042F1043, CHIP_FAMILY_TAHITI, "Asus HD 7870", kAji }, - { 0x6818, 0x04311043, CHIP_FAMILY_TAHITI, "Asus HD 7870", kAji }, - { 0x6818, 0x0B041002, CHIP_FAMILY_TAHITI, "ATI Radeon HD 7870", kAji }, - { 0x6818, 0x0B051002, CHIP_FAMILY_TAHITI, "ATI Radeon HD 8800", kAji }, - { 0x6818, 0x201C1787, CHIP_FAMILY_TAHITI, "ATI Radeon HD 7870", kAji }, - { 0x6818, 0x23211787, CHIP_FAMILY_TAHITI, "ATI Radeon HD 7870", kAji }, - { 0x6818, 0x25541458, CHIP_FAMILY_TAHITI, "Gigabyte HD 7870", kAji }, - { 0x6818, 0x27401462, CHIP_FAMILY_TAHITI, "ATI Radeon HD 7870", kAji }, - { 0x6818, 0x32501682, CHIP_FAMILY_TAHITI, "ATI Radeon HD 7870", kChutoro }, - { 0x6818, 0x32511682, CHIP_FAMILY_TAHITI, "ATI Radeon HD 7870", kAji }, - { 0x6818, 0x7870174B, CHIP_FAMILY_TAHITI, "ATI Radeon HD 7870", kAji }, - { 0x6818, 0x8B04174B, CHIP_FAMILY_TAHITI, "ATI Radeon HD 8860", kAji }, - { 0x6818, 0xE217174B, CHIP_FAMILY_TAHITI, "ATI Radeon HD 7870", kAji }, + { 0x6818, 0x042F1043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, + { 0x6818, 0x04311043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, + { 0x6818, 0x0B041002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, + { 0x6818, 0x0B051002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 8800", kAji }, + { 0x6818, 0x201C1787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, + { 0x6818, 0x23211787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, + { 0x6818, 0x25541458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, + { 0x6818, 0x27401462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, + { 0x6818, 0x32501682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kChutoro }, + { 0x6818, 0x32511682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, + { 0x6818, 0x7870174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, + { 0x6818, 0x8B04174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 8860", kAji }, + { 0x6818, 0xE217174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870", kAji }, - { 0x6819, 0x042C1043, CHIP_FAMILY_TAHITI, "Asus HD 7850", kAji }, // Asus - { 0x6819, 0x04311043, CHIP_FAMILY_TAHITI, "Asus HD 7850", kAji }, // Asus - { 0x6819, 0x04331043, CHIP_FAMILY_TAHITI, "Asus HD 7850", kAji }, // Asus - { 0x6819, 0x043A1043, CHIP_FAMILY_TAHITI, "Asus HD 7850", kAji }, // Asus - { 0x6819, 0x045B1043, CHIP_FAMILY_TAHITI, "Asus HD 7850", kAji }, // Asus - { 0x6819, 0x0B041002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // ATI - { 0x6819, 0x201C1787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // HIS - { 0x6819, 0x23201787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // HIS - { 0x6819, 0x25531458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Gigabyte - { 0x6819, 0x27301462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // MSI - { 0x6819, 0x27311462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // MSI - { 0x6819, 0x27321462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // MSI - { 0x6819, 0x32601682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // XFX - { 0x6819, 0x32621682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // XFX - { 0x6819, 0x32641682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // XFX - { 0x6819, 0xE218174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Sapphire - { 0x6819, 0xE221174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Sapphire + { 0x6819, 0x042C1043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Asus + { 0x6819, 0x04311043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Asus + { 0x6819, 0x04331043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Asus + { 0x6819, 0x043A1043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Asus + { 0x6819, 0x045B1043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Asus + { 0x6819, 0x0B041002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // ATI + { 0x6819, 0x201C1787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // HIS + { 0x6819, 0x23201787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // HIS + { 0x6819, 0x25531458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Gigabyte + { 0x6819, 0x27301462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // MSI + { 0x6819, 0x27311462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // MSI + { 0x6819, 0x27321462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // MSI + { 0x6819, 0x32601682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // XFX + { 0x6819, 0x32621682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // XFX + { 0x6819, 0x32641682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // XFX + { 0x6819, 0xE218174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Sapphire + { 0x6819, 0xE221174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850", kAji }, // Sapphire - { 0x682F, 0x15271043, CHIP_FAMILY_TAHITI, "Asus Radeon HD 7700M", kAji }, - { 0x682F, 0x1831103C, CHIP_FAMILY_TAHITI, "HP Radeon HD 7730M", kAji }, - { 0x682F, 0x1832103C, CHIP_FAMILY_TAHITI, "HP Radeon HD 7730M", kAji }, - { 0x682F, 0x1834103C, CHIP_FAMILY_TAHITI, "HP Radeon HD 7730M", kAji }, - { 0x682F, 0x18A7103C, CHIP_FAMILY_TAHITI, "HP Radeon HD 7730M", kAji }, - { 0x682F, 0xC0DA144D, CHIP_FAMILY_TAHITI, "Samsung Radeon HD 7730M", kAji }, + { 0x682F, 0x15271043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7700M", kAji }, + { 0x682F, 0x1831103C, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7730M", kAji }, + { 0x682F, 0x1832103C, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7730M", kAji }, + { 0x682F, 0x1834103C, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7730M", kAji }, + { 0x682F, 0x18A7103C, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7730M", kAji }, + { 0x682F, 0xC0DA144D, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7730M", kAji }, - { 0x683D, 0x00301002, CHIP_FAMILY_TAHITI, "Radeon HD 8760 OEM", kAji }, // VERDE? - { 0x683D, 0x00301019, CHIP_FAMILY_TAHITI, "Radeon HD 8760 OEM", kAji }, // VERDE? - { 0x683D, 0x04211043, CHIP_FAMILY_TAHITI, "Asus Radeon HD 7770", kAji }, - { 0x683D, 0x23041002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7700", kAji }, - { 0x683D, 0x25561458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, - { 0x683D, 0x27101462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, - { 0x683D, 0x2B301002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, - { 0x683D, 0x32331682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, - { 0x683D, 0x6886103C, CHIP_FAMILY_TAHITI, "HP Radeon HD 7700", kAji }, - { 0x683D, 0x6890103C, CHIP_FAMILY_TAHITI, "Radeon HD 8760 OEM", kAji }, // VERDE? - { 0x683D, 0xE214174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, + { 0x683D, 0x00301002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 8760", kAji }, // VERDE? + { 0x683D, 0x00301019, CHIP_FAMILY_TAHITI, "AMD Radeon HD 8760", kAji }, // VERDE? + { 0x683D, 0x04211043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, + { 0x683D, 0x23041002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7700", kAji }, + { 0x683D, 0x25561458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, + { 0x683D, 0x27101462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, + { 0x683D, 0x2B301002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, + { 0x683D, 0x32331682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, + { 0x683D, 0x6886103C, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7700", kAji }, + { 0x683D, 0x6890103C, CHIP_FAMILY_TAHITI, "AMD Radeon HD 8760", kAji }, // VERDE? + { 0x683D, 0xE214174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7770", kAji }, - { 0x683F, 0x04231043, CHIP_FAMILY_TAHITI, "Asus HD 7750", kChutoro }, - { 0x683F, 0x04271043, CHIP_FAMILY_TAHITI, "Asus HD 7750", kChutoro }, - { 0x683F, 0x04591043, CHIP_FAMILY_TAHITI, "Asus HD 7750", kChutoro }, + { 0x683F, 0x04231043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, + { 0x683F, 0x04271043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, + { 0x683F, 0x04591043, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, { 0x683F, 0x200B1787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, - { 0x683F, 0x23181787, CHIP_FAMILY_TAHITI, "Vertex3D HD 7750", kChutoro }, - { 0x683F, 0x25511458, CHIP_FAMILY_TAHITI, "Gigabyte HD 7750", kChutoro }, + { 0x683F, 0x23181787, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, + { 0x683F, 0x25511458, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, { 0x683F, 0x27921462, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, - { 0x683F, 0x2B301002, CHIP_FAMILY_TAHITI, "Ati HD 7750", kChutoro }, - { 0x683F, 0x32411682, CHIP_FAMILY_TAHITI, "XFX HD 7750", kChutoro }, - { 0x683F, 0x32421682, CHIP_FAMILY_TAHITI, "XFX HD 7750", kChutoro }, - { 0x683F, 0x32451682, CHIP_FAMILY_TAHITI, "XFX HD 7750", kChutoro }, - { 0x683F, 0xE2131019, CHIP_FAMILY_TAHITI, "Diamond HD 7750", kChutoro }, + { 0x683F, 0x2B301002, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, + { 0x683F, 0x32411682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, + { 0x683F, 0x32421682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, + { 0x683F, 0x32451682, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, + { 0x683F, 0xE2131019, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, { 0x683F, 0xE213174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, - { 0x683F, 0xE215174B, CHIP_FAMILY_TAHITI, "Sapphire HD 7750", kChutoro }, + { 0x683F, 0xE215174B, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7750", kChutoro }, - { 0x6840, 0x01241002, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, - { 0x6840, 0x01341002, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, - { 0x6840, 0x050E1025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x050F1025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x05131025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x05141025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x056D1025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x059A1025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x059B1025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x059E1025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x06001025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x06061025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x06961025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x06971025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x06981025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x06991025, CHIP_FAMILY_LOMBOK, "Acer HD 7670M", kPondweed }, - { 0x6840, 0x100A1043, CHIP_FAMILY_LOMBOK, "Asus HD 7670M", kPondweed }, - { 0x6840, 0x104B1043, CHIP_FAMILY_LOMBOK, "Asus HD 7670M", kPondweed }, - { 0x6840, 0x10DC1043, CHIP_FAMILY_LOMBOK, "Asus HD 7670M", kPondweed }, - { 0x6840, 0x1813103C, CHIP_FAMILY_LOMBOK, "HP HD 7590M", kPondweed }, - { 0x6840, 0x182F103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x1830103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x1835103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x183A103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x183C103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x183E103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x1840103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x1842103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x1844103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x1848103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x184A103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x184C103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x1895103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x1897103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x18A5103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x18A7103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x18F4103C, CHIP_FAMILY_LOMBOK, "HP HD 7670M", kPondweed }, - { 0x6840, 0x21211043, CHIP_FAMILY_LOMBOK, "Asus HD 7670M", kPondweed }, - { 0x6840, 0x21221043, CHIP_FAMILY_LOMBOK, "Asus HD 7670M", kPondweed }, - { 0x6840, 0x21231043, CHIP_FAMILY_LOMBOK, "Asus HD 7670M", kPondweed }, - { 0x6840, 0x21251043, CHIP_FAMILY_LOMBOK, "Asus HD 7670M", kPondweed }, - { 0x6840, 0x21271043, CHIP_FAMILY_LOMBOK, "Asus HD 7670M", kPondweed }, - { 0x6840, 0x397017AA, CHIP_FAMILY_LOMBOK, "Lenovo HD 7670M", kPondweed }, - { 0x6840, 0x397B17AA, CHIP_FAMILY_LOMBOK, "Lenovo HD 7670M", kPondweed }, - { 0x6840, 0xC0C5144D, CHIP_FAMILY_LOMBOK, "Samsung HD 6000M series", kPondweed }, - { 0x6840, 0xC0CE144D, CHIP_FAMILY_LOMBOK, "Samsung HD 7670M", kPondweed }, - { 0x6840, 0xC0DA144D, CHIP_FAMILY_LOMBOK, "Samsung HD 7670M", kPondweed }, - { 0x6840, 0xFB111179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB221179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB231179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB2C1179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB311179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB321179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB381179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB391179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB3A1179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB401179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB411179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB471179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB481179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB511179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB521179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB531179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB811179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB821179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFB831179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFC561179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFCD41179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, - { 0x6840, 0xFCEE1179, CHIP_FAMILY_LOMBOK, "Toshiba HD 7670M", kPondweed }, + { 0x6840, 0x01241002, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, + { 0x6840, 0x01341002, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, + { 0x6840, 0x050E1025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x050F1025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x05131025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x05141025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x056D1025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x059A1025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x059B1025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x059E1025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x06001025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x06061025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x06961025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x06971025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x06981025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x06991025, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x100A1043, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x104B1043, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x10DC1043, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x1813103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7590M", kPondweed }, + { 0x6840, 0x182F103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x1830103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x1835103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x183A103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x183C103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x183E103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x1840103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x1842103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x1844103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x1848103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x184A103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x184C103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x1895103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x1897103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x18A5103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x18A7103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x18F4103C, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x21211043, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x21221043, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x21231043, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x21251043, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x21271043, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x397017AA, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0x397B17AA, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xC0C5144D, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 6000M Series", kPondweed }, + { 0x6840, 0xC0CE144D, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xC0DA144D, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB111179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB221179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB231179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB2C1179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB311179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB321179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB381179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB391179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB3A1179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB401179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB411179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB471179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB481179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB511179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB521179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB531179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB811179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB821179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFB831179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFC561179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFCD41179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, + { 0x6840, 0xFCEE1179, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M", kPondweed }, /*old series*/ - { 0x5D48, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Mobile ", kNull }, - { 0x5D49, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Mobile ", kNull }, - { 0x5D4A, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Mobile ", kNull }, + { 0x5D48, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Mobile ", kNull }, + { 0x5D49, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Mobile ", kNull }, + { 0x5D4A, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Mobile ", kNull }, - { 0x5D4C, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, - { 0x5D4D, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, - { 0x5D4E, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, - { 0x5D4F, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, - { 0x5D50, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, + { 0x5D4C, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, + { 0x5D4D, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, + { 0x5D4E, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, + { 0x5D4F, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, + { 0x5D50, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, - { 0x5D52, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, + { 0x5D52, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, - { 0x5D57, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, + { 0x5D57, 0x00000000, CHIP_FAMILY_R420, "ATI Radeon HD Desktop ", kNull }, - { 0x5E48, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, + { 0x5E48, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, - { 0x5E4A, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, - { 0x5E4B, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, - { 0x5E4C, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, - { 0x5E4D, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, + { 0x5E4A, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, + { 0x5E4B, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, + { 0x5E4C, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, + { 0x5E4D, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, - { 0x5E4F, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, + { 0x5E4F, 0x00000000, CHIP_FAMILY_RV410, "ATI Radeon HD Desktop ", kNull }, - { 0x7100, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x7101, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Mobile ", kNull }, - { 0x7102, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Mobile ", kNull }, - { 0x7103, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Mobile ", kNull }, - { 0x7104, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x7105, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x7106, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Mobile ", kNull }, - { 0x7108, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x7109, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x710A, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x710B, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x710C, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x7100, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x7101, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Mobile ", kNull }, + { 0x7102, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Mobile ", kNull }, + { 0x7103, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Mobile ", kNull }, + { 0x7104, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x7105, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x7106, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Mobile ", kNull }, + { 0x7108, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x7109, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x710A, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x710B, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x710C, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x710E, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x710F, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x710E, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, + { 0x710F, 0x00000000, CHIP_FAMILY_R520, "ATI Radeon HD Desktop ", kNull }, - { 0x7140, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7141, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7142, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7143, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7144, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x7145, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x7146, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7147, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7140, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7141, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7142, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7143, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7144, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x7145, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x7146, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7147, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7149, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x714A, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x714B, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x714C, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x714D, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x714E, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x714F, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7149, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x714A, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x714B, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x714C, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x714D, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x714E, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x714F, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7151, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7152, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7153, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7151, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7152, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7153, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x715E, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x715F, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x715E, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x715F, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7180, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7181, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7183, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7180, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7181, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7183, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7186, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x7187, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7188, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD2300 Mobile ", kCaretta }, + { 0x7186, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x7187, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7188, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD2300 Mobile ", kCaretta }, - { 0x718A, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x718B, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x718C, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x718D, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x718A, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x718B, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x718C, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x718D, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x718F, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x718F, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7193, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x7193, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x7196, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, + { 0x7196, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kCaretta }, - { 0x719B, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x719B, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x719F, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, + { 0x719F, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kCaretta }, - { 0x71C0, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71C1, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71C2, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71C3, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71C4, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Mobile ", kWormy }, + { 0x71C0, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71C1, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71C2, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71C3, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71C4, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Mobile ", kWormy }, - { 0x71C5, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD 1600 Mobile ", kWormy }, - { 0x71C6, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71C7, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71C5, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD 1600 Mobile ", kWormy }, + { 0x71C6, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71C7, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71CD, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71CE, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71CD, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71CE, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71D2, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71D2, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71D4, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Mobile ", kWormy }, - { 0x71D5, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Mobile ", kWormy }, - { 0x71D6, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Mobile ", kWormy }, + { 0x71D4, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Mobile ", kWormy }, + { 0x71D5, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Mobile ", kWormy }, + { 0x71D6, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Mobile ", kWormy }, - { 0x71DA, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, + { 0x71DA, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon HD Desktop ", kWormy }, - { 0x71DE, 0x00000000, CHIP_FAMILY_RV530, "ASUS M66 ATI Radeon Mobile ", kWormy }, + { 0x71DE, 0x00000000, CHIP_FAMILY_RV530, "ATI Radeon Mobile ", kWormy }, - { 0x7200, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kWormy }, + { 0x7200, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Desktop ", kWormy }, - { 0x7210, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kWormy }, - { 0x7211, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kWormy }, + { 0x7210, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kWormy }, + { 0x7211, 0x00000000, CHIP_FAMILY_RV515, "ATI Radeon HD Mobile ", kWormy }, - { 0x7240, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7240, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7243, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7244, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7245, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7246, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7247, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7248, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7249, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x724A, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x724B, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x724C, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x724D, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x724E, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, - { 0x724F, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7243, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7244, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7245, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7246, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7247, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7248, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7249, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x724A, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x724B, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x724C, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x724D, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x724E, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + { 0x724F, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Desktop ", kAlopias }, + + { 0x7280, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon X1950 Pro ", kAlopias }, + { 0x7281, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7283, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7284, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Mobile ", kAlopias }, - { 0x7280, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon X1950 Pro ", kAlopias }, - { 0x7281, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7283, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7284, 0x00000000, CHIP_FAMILY_R580, "ATI Radeon HD Mobile ", kAlopias }, + { 0x7287, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7288, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7289, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7287, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7288, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7289, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon HD Desktop ", kAlopias }, + { 0x728B, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon HD Desktop ", kAlopias }, + { 0x728C, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon HD Desktop ", kAlopias }, - { 0x728B, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon HD Desktop ", kAlopias }, - { 0x728C, 0x00000000, CHIP_FAMILY_RV570, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7290, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7291, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7290, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7291, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7293, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7293, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, + { 0x7297, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, - { 0x7297, 0x00000000, CHIP_FAMILY_RV560, "ATI Radeon HD Desktop ", kAlopias }, - /* IGP */ - + { 0x791E, 0x00000000, CHIP_FAMILY_RS690, "ATI Radeon IGP ", kNull }, { 0x791F, 0x00000000, CHIP_FAMILY_RS690, "ATI Radeon IGP ", kNull }, { 0x796C, 0x00000000, CHIP_FAMILY_RS740, "ATI Radeon IGP ", kNull }, @@ -1229,305 +1229,303 @@ /* standard/default models */ - { 0x9400, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 XT", kNull }, - { 0x9401, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 GT", kNull }, - { 0x9402, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 GT", kNull }, - { 0x9403, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 GT", kNull }, - { 0x9405, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 GT", kNull }, - { 0x940A, 0x00000000, CHIP_FAMILY_R600, "ATI FireGL V8650", kNull }, - { 0x940B, 0x00000000, CHIP_FAMILY_R600, "ATI FireGL V8600", kNull }, - { 0x940F, 0x00000000, CHIP_FAMILY_R600, "ATI FireGL V7600", kNull }, + { 0x9400, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 XT", kNull }, + { 0x9401, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 GT", kNull }, + { 0x9402, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 GT", kNull }, + { 0x9403, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 GT", kNull }, + { 0x9405, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 GT", kNull }, + { 0x940A, 0x00000000, CHIP_FAMILY_R600, "ATI FireGL V8650", kNull }, + { 0x940B, 0x00000000, CHIP_FAMILY_R600, "ATI FireGL V8600", kNull }, + { 0x940F, 0x00000000, CHIP_FAMILY_R600, "ATI FireGL V7600", kNull }, - { 0x9440, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4870 ", kMotmot }, - { 0x9441, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4870 X2", kMotmot }, - { 0x9442, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4850 Series", kMotmot }, - { 0x9443, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4850 X2", kMotmot }, - { 0x9444, 0x00000000, CHIP_FAMILY_RV770, "ATI FirePro V8750 (FireGL)", kMotmot }, - { 0x9446, 0x00000000, CHIP_FAMILY_RV770, "ATI FirePro V7770 (FireGL)", kMotmot }, - { 0x9447, 0x00000000, CHIP_FAMILY_RV770, "ATI FirePro V8700 Duo (FireGL)", kMotmot }, - { 0x944A, 0x00000000, CHIP_FAMILY_RV770, "ATI Mobility Radeon HD 4850", kMotmot }, - { 0x944B, 0x00000000, CHIP_FAMILY_RV770, "ATI Mobility Radeon HD 4850 X2", kMotmot }, - { 0x944C, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4830 Series", kMotmot }, - { 0x944E, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4810 Series", kMotmot }, + { 0x9440, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4870 ", kMotmot }, + { 0x9441, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4870 X2", kMotmot }, + { 0x9442, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4850 Series", kMotmot }, + { 0x9443, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4850 X2", kMotmot }, + { 0x9444, 0x00000000, CHIP_FAMILY_RV770, "ATI FirePro V8750 (FireGL)", kMotmot }, + { 0x9446, 0x00000000, CHIP_FAMILY_RV770, "ATI FirePro V7770 (FireGL)", kMotmot }, + { 0x9447, 0x00000000, CHIP_FAMILY_RV770, "ATI FirePro V8700 Duo (FireGL)", kMotmot }, + { 0x944A, 0x00000000, CHIP_FAMILY_RV770, "ATI Mobility Radeon HD 4850", kMotmot }, + { 0x944B, 0x00000000, CHIP_FAMILY_RV770, "ATI Mobility Radeon HD 4850 X2", kMotmot }, + { 0x944C, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4830 Series", kMotmot }, + { 0x944E, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4810 Series", kMotmot }, - { 0x9450, 0x00000000, CHIP_FAMILY_RV770, "AMD FireStream 9270", kMotmot }, - { 0x9452, 0x00000000, CHIP_FAMILY_RV770, "AMD FireStream 9250", kMotmot }, + { 0x9450, 0x00000000, CHIP_FAMILY_RV770, "AMD FireStream 9270", kMotmot }, + { 0x9452, 0x00000000, CHIP_FAMILY_RV770, "AMD FireStream 9250", kMotmot }, - { 0x9456, 0x00000000, CHIP_FAMILY_RV770, "ATI FirePro V8700 (FireGL)", kMotmot }, - { 0x945A, 0x00000000, CHIP_FAMILY_RV770, "ATI Mobility Radeon HD 4870", kMotmot }, + { 0x9456, 0x00000000, CHIP_FAMILY_RV770, "ATI FirePro V8700 (FireGL)", kMotmot }, + { 0x945A, 0x00000000, CHIP_FAMILY_RV770, "ATI Mobility Radeon HD 4870", kMotmot }, - { 0x9460, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4800 Series", kMotmot }, - { 0x9462, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4800 Series", kMotmot }, + { 0x9460, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4800 Series", kMotmot }, + { 0x9462, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4800 Series", kMotmot }, - { 0x9480, 0x00000000, CHIP_FAMILY_RV730, "ATI Mobility Radeon HD 550v", kGliff }, + { 0x9480, 0x00000000, CHIP_FAMILY_RV730, "ATI Mobility Radeon HD 550v", kGliff }, - { 0x9487, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD Series", kGliff }, - { 0x9488, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4650 Series", kGliff }, - { 0x9489, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD Series", kGliff }, - { 0x948A, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD Series", kGliff }, - { 0x948F, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD Series", kGliff }, - { 0x9490, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4670 Series", kGliff }, - { 0x9491, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4600 Series", kGliff }, - { 0x9495, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4650 Series", kGliff }, + { 0x9487, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD Series", kGliff }, + { 0x9488, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4650 Series", kGliff }, + { 0x9489, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD Series", kGliff }, + { 0x948A, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD Series", kGliff }, + { 0x948F, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD Series", kGliff }, + { 0x9490, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4670 Series", kGliff }, + { 0x9491, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4600 Series", kGliff }, + { 0x9495, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4650 Series", kGliff }, - { 0x9498, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4710 Series", kGliff }, - { 0x949C, 0x00000000, CHIP_FAMILY_RV730, "ATI FirePro V7750 (FireGL)", kGliff }, - { 0x949E, 0x00000000, CHIP_FAMILY_RV730, "ATI FirePro V5700 (FireGL)", kGliff }, - { 0x949F, 0x00000000, CHIP_FAMILY_RV730, "ATI FirePro V3750 (FireGL)", kGliff }, + { 0x9498, 0x00000000, CHIP_FAMILY_RV730, "ATI Radeon HD 4710 Series", kGliff }, + { 0x949C, 0x00000000, CHIP_FAMILY_RV730, "ATI FirePro V7750 (FireGL)", kGliff }, + { 0x949E, 0x00000000, CHIP_FAMILY_RV730, "ATI FirePro V5700 (FireGL)", kGliff }, + { 0x949F, 0x00000000, CHIP_FAMILY_RV730, "ATI FirePro V3750 (FireGL)", kGliff }, - { 0x94A0, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4830M", kFlicker }, - { 0x94A1, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4860M", kFlicker }, - { 0x94A3, 0x00000000, CHIP_FAMILY_RV740, "ATI FirePro M7740", kFlicker }, - { 0x94B1, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD", kFlicker }, - { 0x94B3, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4770", kFlicker }, - { 0x94B4, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4700 Series", kFlicker }, - { 0x94B5, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4770", kFlicker }, - { 0x94B9, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD", kFlicker }, + { 0x94A0, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4830M", kFlicker }, + { 0x94A1, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4860M", kFlicker }, + { 0x94A3, 0x00000000, CHIP_FAMILY_RV740, "ATI FirePro M7740", kFlicker }, + { 0x94B1, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD", kFlicker }, + { 0x94B3, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4770", kFlicker }, + { 0x94B4, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4700 Series", kFlicker }, + { 0x94B5, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD 4770", kFlicker }, + { 0x94B9, 0x00000000, CHIP_FAMILY_RV740, "ATI Radeon HD", kFlicker }, - { 0x94C0, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD Series", kIago }, - { 0x94C1, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, + { 0x94C0, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD Series", kIago }, + { 0x94C1, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, - { 0x94C3, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2350 Series", kIago }, - { 0x94C4, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, - { 0x94C5, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, - { 0x94C6, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, - { 0x94C7, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2350", kIago }, - { 0x94C8, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, - { 0x94C9, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, + { 0x94C3, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2350 Series", kIago }, + { 0x94C4, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, + { 0x94C5, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, + { 0x94C6, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, + { 0x94C7, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2350", kIago }, + { 0x94C8, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, + { 0x94C9, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, - { 0x94CB, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, - { 0x94CC, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, - { 0x94CD, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 PRO Series", kIago }, + { 0x94CB, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, + { 0x94CC, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 Series", kIago }, + { 0x94CD, 0x00000000, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 PRO Series", kIago }, - { 0x9500, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3800 Series", kMegalodon }, - { 0x9501, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3690 Series", kMegalodon }, + { 0x9500, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3800 Series", kMegalodon }, + { 0x9501, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3690 Series", kMegalodon }, - { 0x9504, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3850M Series", kMegalodon }, - { 0x9505, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3800 Series", kMegalodon }, - { 0x9506, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3850 X2 M Series", kMegalodon }, - { 0x9507, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3830", kMegalodon }, - { 0x9508, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3870M Series", kMegalodon }, - { 0x9509, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3870 X2 MSeries", kMegalodon }, + { 0x9504, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3850M Series", kMegalodon }, + { 0x9505, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3800 Series", kMegalodon }, + { 0x9506, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3850 X2 M Series", kMegalodon }, + { 0x9507, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3830", kMegalodon }, + { 0x9508, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3870M Series", kMegalodon }, + { 0x9509, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3870 X2 MSeries", kMegalodon }, - { 0x950F, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3870 X2", kMegalodon }, + { 0x950F, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3870 X2", kMegalodon }, - { 0x9511, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3850 X2", kMegalodon }, + { 0x9511, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3850 X2", kMegalodon }, - { 0x9513, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 3850 X2", kMegalodon }, - { 0x9515, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3850 Series", kMegalodon }, - { 0x9517, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD Series", kMegalodon }, + { 0x9513, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 3850 X2", kMegalodon }, + { 0x9515, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD 3850 Series", kMegalodon }, + { 0x9517, 0x00000000, CHIP_FAMILY_RV670, "ATI Radeon HD Series", kMegalodon }, - { 0x9519, 0x00000000, CHIP_FAMILY_RV670, "AMD FireStream 9170", kMegalodon }, + { 0x9519, 0x00000000, CHIP_FAMILY_RV670, "AMD FireStream 9170", kMegalodon }, - { 0x9540, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD 4550", kFlicker }, - { 0x9541, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD", kFlicker }, - { 0x9542, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD", kFlicker }, - { 0x954E, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD", kFlicker }, - { 0x954F, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD 4350", kFlicker }, + { 0x9540, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD 4550", kFlicker }, + { 0x9541, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD", kFlicker }, + { 0x9542, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD", kFlicker }, + { 0x954E, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD", kFlicker }, + { 0x954F, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD 4350", kFlicker }, { 0x9552, 0x00000000, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4300/4500 Series", kShrike }, - { 0x9553, 0x00000000, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500M/5100M Series", kShrike }, + { 0x9553, 0x00000000, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500M/5100M Series",kShrike }, - { 0x9555, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD4300/HD4500 series", kShrike }, + { 0x9555, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD4300/HD4500 Series", kShrike }, - { 0x9557, 0x00000000, CHIP_FAMILY_RV710, "ATI FirePro RG220", kFlicker }, + { 0x9557, 0x00000000, CHIP_FAMILY_RV710, "ATI FirePro RG220", kFlicker }, - { 0x955F, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD 4330M series", kFlicker }, + { 0x955F, 0x00000000, CHIP_FAMILY_RV710, "ATI Radeon HD 4330M Series", kFlicker }, - { 0x9580, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD Series", kHypoprion }, - { 0x9581, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 XT", kHypoprion }, + { 0x9580, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD Series", kHypoprion }, + { 0x9581, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 XT", kHypoprion }, - { 0x9583, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 XT", kHypoprion }, + { 0x9583, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 XT", kHypoprion }, - { 0x9586, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 XT Series", kHypoprion }, - { 0x9587, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Pro Series", kHypoprion }, - { 0x9588, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 XT", kHypoprion }, - { 0x9589, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 PRO", kHypoprion }, - { 0x958A, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, - { 0x958B, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, - { 0x958C, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, - { 0x958D, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, - { 0x958E, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, - { 0x958F, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD Series", kHypoprion }, + { 0x9586, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 XT Series", kHypoprion }, + { 0x9587, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Pro Series", kHypoprion }, + { 0x9588, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 XT", kHypoprion }, + { 0x9589, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Pro", kHypoprion }, + { 0x958A, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, + { 0x958B, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, + { 0x958C, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, + { 0x958D, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, + { 0x958E, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 X2 Series", kLamna }, + { 0x958F, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD Series", kHypoprion }, { 0x9591, 0x00000000, CHIP_FAMILY_RV635, "ATI Radeon HD 3600 Series", kMegalodon }, - { 0x9598, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 3600 Series", kMegalodon }, + { 0x9598, 0x00000000, CHIP_FAMILY_RV630, "ATI Radeon HD 3600 Series", kMegalodon }, - { 0x95C0, 0x00000000, CHIP_FAMILY_RV620, "ATI Radeon HD 3550 Series", kIago }, + { 0x95C0, 0x00000000, CHIP_FAMILY_RV620, "ATI Radeon HD 3550 Series", kIago }, - { 0x95C4, 0x00000000, CHIP_FAMILY_RV620, "ATI Radeon HD 3470 Series", kIago }, + { 0x95C4, 0x00000000, CHIP_FAMILY_RV620, "ATI Radeon HD 3470 Series", kIago }, - { 0x95C5, 0x00000000, CHIP_FAMILY_RV620, "ATI Radeon HD 3450 Series", kIago }, - { 0x95C6, 0x00000000, CHIP_FAMILY_RV620, "ATI Radeon HD 3450 AGP", kIago }, + { 0x95C5, 0x00000000, CHIP_FAMILY_RV620, "ATI Radeon HD 3450 Series", kIago }, + { 0x95C6, 0x00000000, CHIP_FAMILY_RV620, "ATI Radeon HD 3450 AGP", kIago }, - /* IGP */ - { 0x9610, 0x00000000, CHIP_FAMILY_RS780, "ATI Radeon HD 3200 Graphics", kNull }, - { 0x9611, 0x00000000, CHIP_FAMILY_RS780, "ATI Radeon HD 3100 Graphics", kNull }, - { 0x9614, 0x00000000, CHIP_FAMILY_RS780, "ATI Radeon HD 3300 Graphics", kNull }, + { 0x9610, 0x00000000, CHIP_FAMILY_RS780, "ATI Radeon HD 3200 Graphics", kNull }, + { 0x9611, 0x00000000, CHIP_FAMILY_RS780, "ATI Radeon HD 3100 Graphics", kNull }, - { 0x9616, 0x00000000, CHIP_FAMILY_RS780, "AMD 760G", kNull }, + { 0x9614, 0x00000000, CHIP_FAMILY_RS780, "ATI Radeon HD 3300 Graphics", kNull }, - { 0x9640, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6550D", kNull }, - { 0x9641, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6620G", kNull }, - { 0x9642, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6370D", kNull }, - { 0x9643, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6380G", kNull }, - { 0x9644, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6410D", kNull }, - { 0x9645, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6410D", kNull }, - { 0x9647, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6520G", kNull }, - { 0x9648, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6480G", kNull }, - { 0x9649, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon(TM) HD 6480G", kNull }, + { 0x9616, 0x00000000, CHIP_FAMILY_RS780, "AMD 760G", kNull }, - { 0x964A, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6530D", kNull }, + { 0x9640, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6550D", kNull }, + { 0x9641, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6620G", kNull }, + { 0x9642, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6370D", kNull }, + { 0x9643, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6380G", kNull }, + { 0x9644, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6410D", kNull }, + { 0x9645, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6410D", kNull }, + { 0x9647, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6520G", kNull }, + { 0x9648, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6480G", kNull }, + { 0x9649, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon(TM) HD 6480G", kNull }, - { 0x9710, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 4200 Series", kNull }, + { 0x964A, 0x00000000, CHIP_FAMILY_SUMO, "AMD Radeon HD 6530D", kNull }, - { 0x9712, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 4200 Series", kNull} , + { 0x9710, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 4200 Series", kNull }, - { 0x9714, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 4290", kNull }, - { 0x9715, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 4250", kNull }, + { 0x9712, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 4200 Series", kNull }, - { 0x9723, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 5450 Series", kNull }, + { 0x9714, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 4290", kNull }, + { 0x9715, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 4250", kNull }, - { 0x9802, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6310 Series", kNull }, - { 0x9803, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6310 Series", kNull }, - { 0x9804, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6310 Series", kNull }, - { 0x9805, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6250 Series", kNull }, - { 0x9806, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6320 Series", kNull }, - { 0x9806, 0x00000000, CHIP_FAMILY_WRESTLER, "AMD Radeon HD 6320 Graphics", kNull }, - { 0x9807, 0x00000000, CHIP_FAMILY_WRESTLER, "AMD Radeon HD 6290 Graphics", kNull }, - { 0x9808, 0x00000000, CHIP_FAMILY_WRESTLER, "AMD Radeon HD 7340 Graphics", kNull }, - { 0x9809, 0x00000000, CHIP_FAMILY_WRESTLER, "AMD Radeon HD 7310 Graphics", kNull }, + { 0x9723, 0x00000000, CHIP_FAMILY_RS880, "ATI Radeon HD 5450 Series", kNull }, - { 0x9900, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7660G", kNull }, - { 0x9901, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7660D", kNull }, - { 0x9903, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7640G", kNull }, - { 0x9904, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7560D", kNull }, - { 0x9906, 0x00000000, CHIP_FAMILY_TRINITY, "AMD FirePro A300 Series", kNull }, - { 0x9907, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7620G", kNull }, - { 0x9908, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7600G", kNull }, - { 0x9910, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7660G", kNull }, - { 0x9913, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7640G", kNull }, + { 0x9802, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6310 Series", kNull }, + { 0x9803, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6310 Series", kNull }, + { 0x9804, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6310 Series", kNull }, + { 0x9805, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6250 Series", kNull }, + { 0x9806, 0x00000000, CHIP_FAMILY_WRESTLER, "ATI Radeon HD 6320 Series", kNull }, + { 0x9806, 0x00000000, CHIP_FAMILY_WRESTLER, "AMD Radeon HD 6320 Graphics", kNull }, + { 0x9807, 0x00000000, CHIP_FAMILY_WRESTLER, "AMD Radeon HD 6290 Graphics", kNull }, + { 0x9808, 0x00000000, CHIP_FAMILY_WRESTLER, "AMD Radeon HD 7340 Graphics", kNull }, + { 0x9809, 0x00000000, CHIP_FAMILY_WRESTLER, "AMD Radeon HD 7310 Graphics", kNull }, + + { 0x9900, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7660G", kNull }, + { 0x9901, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7660D", kNull }, + { 0x9903, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7640G", kNull }, + { 0x9904, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7560D", kNull }, + { 0x9906, 0x00000000, CHIP_FAMILY_TRINITY, "AMD FirePro A300 Series", kNull }, + { 0x9907, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7620G", kNull }, + { 0x9908, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7600G", kNull }, + { 0x9910, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7660G", kNull }, + { 0x9913, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7640G", kNull }, - { 0x9990, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7520G", kNull }, - { 0x9991, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7540D", kNull }, - { 0x9992, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7420G", kNull }, - { 0x9994, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7400G", kNull }, + { 0x9990, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7520G", kNull }, + { 0x9991, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7540D", kNull }, + { 0x9992, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7420G", kNull }, + { 0x9994, 0x00000000, CHIP_FAMILY_TRINITY, "AMD Radeon HD 7400G", kNull }, /* Evergreen */ - { 0x688D, 0x00000000, CHIP_FAMILY_CYPRESS, "AMD FireStream 9350", kZonalis }, - { 0x6898, 0x00000000, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870 Series", kUakari }, - { 0x6899, 0x00000000, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850 Series", kUakari }, + { 0x688D, 0x00000000, CHIP_FAMILY_CYPRESS, "AMD FireStream 9350", kZonalis }, -// { 0x689B, 0x00000000, CHIP_FAMILY_???, "AMD Radeon HD 6800 Series", kNull }, - { 0x689C, 0x00000000, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5900 Series", kUakari }, + { 0x6898, 0x00000000, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5870 Series", kUakari }, + { 0x6899, 0x00000000, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5850 Series", kUakari }, - { 0x689E, 0x00000000, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5800 Series", kUakari }, +// { 0x689B, 0x00000000, CHIP_FAMILY_???, "AMD Radeon HD 6800 Series", kNull }, + { 0x689C, 0x00000000, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5900 Series", kUakari }, - { 0x68A0, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 5770 Series", kHoolock }, // CHIP_FAMILY_BROADWAY ?? - { 0x68A1, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 5850 Series", kHoolock }, // CHIP_FAMILY_BROADWAY ?? + { 0x689E, 0x00000000, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5800 Series", kUakari }, - { 0x68A8, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 6850M", kHoolock }, - { 0x68A9, 0x00000000, CHIP_FAMILY_JUNIPER, "ATI FirePro V5800 (FireGL)", kHoolock }, + { 0x68A0, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 5770 Series", kHoolock }, // CHIP_FAMILY_BROADWAY ?? + { 0x68A1, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 5850 Series", kHoolock }, // CHIP_FAMILY_BROADWAY ?? + { 0x68A8, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 6850M", kHoolock }, + { 0x68A9, 0x00000000, CHIP_FAMILY_JUNIPER, "ATI FirePro V5800 (FireGL)", kHoolock }, - { 0x68B0, 0x00000000, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5800 Series", kHoolock }, // CHIP_FAMILY_BROADWAY ?? + { 0x68B0, 0x00000000, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5800 Series", kHoolock }, // CHIP_FAMILY_BROADWAY ?? { 0x68B1, 0x00000000, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770 Series", kHoolock }, { 0x68B8, 0x00000000, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770 Series", kHoolock }, { 0x68B9, 0x00000000, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5700 Series", kHoolock }, { 0x68BA, 0x00000000, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 6700 Series", kHoolock }, - { 0x68BC, 0x00000000, CHIP_FAMILY_JUNIPER, "AMD FireStream 9370", kHoolock }, - { 0x68BD, 0x00000000, CHIP_FAMILY_JUNIPER, "AMD FireStream 9350", kHoolock }, + { 0x68BC, 0x00000000, CHIP_FAMILY_JUNIPER, "AMD FireStream 9370", kHoolock }, + { 0x68BD, 0x00000000, CHIP_FAMILY_JUNIPER, "AMD FireStream 9350", kHoolock }, { 0x68BE, 0x00000000, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5750 Series", kHoolock }, { 0x68BF, 0x00000000, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5700 Series", kHoolock }, - { 0x68C0, 0x00000000, CHIP_FAMILY_MANHATTAN, "AMD Radeon HD 6570M/5700 Series", kBaboon }, - { 0x68C1, 0x00000000, CHIP_FAMILY_MANHATTAN, "AMD Radeon HD 6500M/5600/5700 Series", kBaboon }, - { 0x68C7, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Mobility Radeon HD 5570", kEulemur }, - { 0x68C8, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5650 Series", kBaboon }, - { 0x68C9, 0x00000000, CHIP_FAMILY_REDWOOD, "FirePro 3D V3800", kBaboon }, + { 0x68C0, 0x00000000, CHIP_FAMILY_MANHATTAN, "AMD Radeon HD 6570M/5700 Series", kBaboon }, + { 0x68C1, 0x00000000, CHIP_FAMILY_MANHATTAN, "AMD Radeon HD 6500M/5600/5700 Series", kBaboon }, + { 0x68C7, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Mobility Radeon HD 5570", kEulemur }, + { 0x68C8, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5650 Series", kBaboon }, + { 0x68C9, 0x00000000, CHIP_FAMILY_REDWOOD, "FirePro 3D V3800", kBaboon }, - { 0x68D8, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670 Series", kBaboon }, - { 0x68D9, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5500/5600 Series", kBaboon }, - { 0x68DA, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5500 Series", kBaboon }, + { 0x68D8, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5670 Series", kBaboon }, + { 0x68D9, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5500/5600 Series", kBaboon }, + { 0x68DA, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5500 Series", kBaboon }, -// { 0x68DE, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD ??? Series", kNull }, +// { 0x68DE, 0x00000000, CHIP_FAMILY_REDWOOD, "ATI Radeon HD ??? Series", kNull }, + { 0x68E0, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 5470 Series", kEulemur }, + { 0x68E1, 0x00000000, CHIP_FAMILY_MANHATTAN, "AMD Radeon HD 6230", kEulemur }, - { 0x68E0, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 5470 Series", kEulemur }, - { 0x68E1, 0x00000000, CHIP_FAMILY_MANHATTAN, "AMD Radeon HD 6230", kEulemur }, - { 0x68E4, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 6370M Series", kEulemur }, { 0x68E5, 0x00000000, CHIP_FAMILY_MANHATTAN, "ATI Radeon HD 6300M Series", kEulemur }, -// { 0x68E8, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD ??? Series", kNull }, -// { 0x68E9, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD ??? Series", kNull }, +// { 0x68E8, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD ??? Series", kNull }, +// { 0x68E9, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD ??? Series", kNull }, - { 0x68F1, 0x00000000, CHIP_FAMILY_CEDAR, "AMD FirePro 2460", kEulemur }, - { 0x68F2, 0x00000000, CHIP_FAMILY_CEDAR, "AMD FirePro 2270", kEulemur }, + { 0x68F1, 0x00000000, CHIP_FAMILY_CEDAR, "AMD FirePro 2460", kEulemur }, + { 0x68F2, 0x00000000, CHIP_FAMILY_CEDAR, "AMD FirePro 2270", kEulemur }, -// { 0x68F8, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD ??? Series", kNull }, +// { 0x68F8, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD ??? Series", kNull }, { 0x68F9, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5470 Series", kEulemur }, - { 0x68FA, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD 7300 Series", kNull }, + { 0x68FA, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD 7300 Series", kNull }, -// { 0x68FE, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD ??? Series", kNull }, +// { 0x68FE, 0x00000000, CHIP_FAMILY_CEDAR, "ATI Radeon HD ??? Series", kNull }, - /* Northen Islands */ - { 0x6704, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD FirePro V7900", kLotus }, - { 0x6707, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD FirePro V5900", kLotus }, - { 0x6718, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970 Series", kLotus }, - { 0x6719, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950 Series", kLotus }, + { 0x6704, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD FirePro V7900", kLotus }, + { 0x6707, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD FirePro V5900", kLotus }, - { 0x671C, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970 Series", kLotus }, - { 0x671D, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950 Series", kLotus }, + { 0x6718, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970 Series", kLotus }, + { 0x6719, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950 Series", kLotus }, + + { 0x671C, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970 Series", kLotus }, + { 0x671D, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950 Series", kLotus }, - { 0x671F, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6930 Series", kLotus }, + { 0x671F, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6930 Series", kLotus }, - { 0x6720, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 6900M Series", kFanwort }, + { 0x6720, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 6900M Series", kFanwort }, - { 0x6722, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6900M Series", kFanwort }, - { 0x6729, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6900M Series", kFanwort }, - { 0x6738, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870 Series", kDuckweed }, - { 0x6739, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850 Series", kDuckweed }, + { 0x6722, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6900M Series", kFanwort }, + { 0x6729, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6900M Series", kFanwort }, + { 0x6738, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870 Series", kDuckweed }, + { 0x6739, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850 Series", kDuckweed }, { 0x673E, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790 Series", kDuckweed }, - { 0x6740, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 6770M Series", kCattail }, - { 0x6741, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 6750M", kCattail }, - { 0x6742, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 7500/7600 Series", kCattail }, + { 0x6740, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 6770M Series", kCattail }, + { 0x6741, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 6750M", kCattail }, + { 0x6742, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 7500/7600 Series", kCattail }, - { 0x6745, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 6600M Series", kCattail }, - { 0x6749, 0x00000000, CHIP_FAMILY_TURKS, "ATI Radeon FirePro V4900", kPithecia }, + { 0x6745, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 6600M Series", kCattail }, + { 0x6749, 0x00000000, CHIP_FAMILY_TURKS, "ATI Radeon FirePro V4900", kPithecia }, { 0x674A, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6600M Series", kPithecia }, { 0x6750, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670 Series", kPithecia }, - { 0x6758, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670 Series", kPithecia }, + { 0x6758, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670 Series", kPithecia }, { 0x6759, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570/7570 Series", kPithecia }, - { 0x675B, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 7600 Series", kPithecia }, + { 0x675B, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 7600 Series", kPithecia }, { 0x675D, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 7570M Series", kCattail }, { 0x675F, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570 Series", kPithecia }, { 0x6760, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M Series", kHydrilla }, { 0x6761, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6430M Series", kHydrilla }, - { 0x6763, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon E6460 Series", kHydrilla }, + { 0x6763, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon E6460 Series", kHydrilla }, + { 0x6768, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6400M Series", kHydrilla }, - { 0x6768, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6400M Series", kHydrilla }, - { 0x6770, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6400 Series", kBulrushes }, { 0x6772, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 7400A Series", kBulrushes }, { 0x6778, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 7000 Series", kBulrushes }, - { 0x6779, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450 Series", kBulrushes }, + { 0x6779, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450 Series", kBulrushes }, { 0x677B, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 7400 Series", kBulrushes }, @@ -1535,9 +1533,9 @@ { 0x6780, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7900 Series", kFutomaki }, // ATI7000Controller.kext -// { 0x6784, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD ??? Series", kFutomaki }, +// { 0x6784, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD ??? Series", kFutomaki }, -// { 0x6788, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD ??? Series", kFutomaki }, +// { 0x6788, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD ??? Series", kFutomaki }, { 0x678A, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7900 Series", kFutomaki }, @@ -1546,67 +1544,67 @@ { 0x6792, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7900 Series", kFutomaki }, { 0x6798, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970 X-Edition", kFutomaki }, // ATI7000Controller.kext - { 0x6799, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7990 Series", kAji }, + { 0x6799, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7990 Series", kAji }, { 0x679A, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950 Series", kFutomaki }, // ATI7000Controller.kext { 0x679B, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7900 Series", kFutomaki }, - { 0x679E, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870 XT", kFutomaki }, // ATI7000Controller.kext + { 0x679E, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870 XT", kFutomaki }, // ATI7000Controller.kext { 0x679F, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7950 Series", kFutomaki }, - { 0x6800, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kBuri }, // ATI7000Controller.kext + { 0x6800, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7970M", kBuri }, // ATI7000Controller.kext // { 0x6801, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon HD 8970M Series", kFutomaki }, // { 0x6802, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon HD ???M Series", kFutomaki }, - { 0x6806, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7600 Series", kFutomaki }, // ATI7000Controller.kext + { 0x6806, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7600 Series", kFutomaki }, // ATI7000Controller.kext - { 0x6808, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7600 Series", kFutomaki }, // ATI7000Controller.kext -// { 0x6809, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon HD ??? Series", kNull }, - { 0x6810, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon R9 270X", kNull }, + { 0x6808, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7600 Series", kFutomaki }, // ATI7000Controller.kext +// { 0x6809, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon HD ??? Series", kNull }, + { 0x6810, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon R9 270X", kNull }, - { 0x6818, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870 Series", kFutomaki }, // CHIP_FAMILY_PITCAIRN ??// ATI7000Controller.kext - { 0x6819, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850 Series", kFutomaki },// CHIP_FAMILY_PITCAIRN ?? - { 0x6820, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext - { 0x6821, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext + { 0x6818, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7870 Series", kFutomaki }, // CHIP_FAMILY_PITCAIRN ??// ATI7000Controller.kext + { 0x6819, 0x00000000, CHIP_FAMILY_TAHITI, "AMD Radeon HD 7850 Series", kFutomaki },// CHIP_FAMILY_PITCAIRN ?? + { 0x6820, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext + { 0x6821, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext -// { 0x6823, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 8850M Series", kBuri }, -// { 0x6824, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700M Series", kBuri }, - { 0x6825, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7870 Series", kBuri }, // ATI7000Controller.kext - { 0x6826, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, - { 0x6827, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7850M/8850M Series", kBuri }, // ATI7000Controller.kext -// { 0x6828, 0x00000000, CHIP_FAMILY_VERDE, "FirePro W600", kBuri }, -// { 0x6829, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD ??? Series", kBuri }, +// { 0x6823, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 8850M Series", kBuri }, +// { 0x6824, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700M Series", kBuri }, + { 0x6825, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7870 Series", kBuri }, // ATI7000Controller.kext + { 0x6826, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, + { 0x6827, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7850M/8850M Series", kBuri }, // ATI7000Controller.kext +// { 0x6828, 0x00000000, CHIP_FAMILY_VERDE, "FirePro W600", kBuri }, +// { 0x6829, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD ??? Series", kBuri }, - { 0x682B, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 8800M Series", kBuri }, + { 0x682B, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 8800M Series", kBuri }, - { 0x682D, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext + { 0x682D, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext - { 0x682F, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7730 Series", kBuri }, // ATI7000Controller.kext + { 0x682F, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7730 Series", kBuri }, // ATI7000Controller.kext - { 0x6830, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7800M Series", kBuri }, - { 0x6831, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, + { 0x6830, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7800M Series", kBuri }, + { 0x6831, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, - { 0x6837, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, - { 0x6838, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, - { 0x6839, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext + { 0x6837, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, + { 0x6838, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, + { 0x6839, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext - { 0x683B, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext + { 0x683B, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7700 Series", kBuri }, // ATI7000Controller.kext - { 0x683D, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7770 Series", kBuri }, // ATI7000Controller.kext + { 0x683D, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7770 Series", kBuri }, // ATI7000Controller.kext - { 0x683F, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7750 Series", kBuri }, // ATI7000Controller.kext + { 0x683F, 0x00000000, CHIP_FAMILY_VERDE, "AMD Radeon HD 7750 Series", kBuri }, // ATI7000Controller.kext - { 0x6840, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M Series", kPondweed }, // THAMES?? - { 0x6841, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7500M/7600M Series", kPondweed }, - { 0x6842, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, - { 0x6843, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 7670M Series", kPondweed }, - { 0x6849, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, + { 0x6840, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7670M Series", kPondweed }, // THAMES?? + { 0x6841, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7500M/7600M Series", kPondweed }, + { 0x6842, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, + { 0x6843, 0x00000000, CHIP_FAMILY_VANCOUVER, "AMD Radeon HD 7670M Series", kPondweed }, + { 0x6849, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, -// { 0x684C, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon HD ??? Series", kNull }, - { 0x6850, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, - { 0x6858, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7400 Series", kPondweed }, - { 0x6859, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, +// { 0x684C, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon HD ??? Series", kNull }, + { 0x6850, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, + { 0x6858, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7400 Series", kPondweed }, + { 0x6859, 0x00000000, CHIP_FAMILY_LOMBOK, "AMD Radeon HD 7600M Series", kPondweed }, - { 0x0000, 0x00000000, CHIP_FAMILY_UNKNOW, NULL, kNull } + { 0x0000, 0x00000000, CHIP_FAMILY_UNKNOW, NULL, kNull } }; @@ -2229,11 +2227,11 @@ card->mmio = (uint8_t *)(pci_config_read32(pci_dev->dev.addr, PCI_BASE_ADDRESS_2) & ~0x0f); card->io = (uint8_t *)(pci_config_read32(pci_dev->dev.addr, PCI_BASE_ADDRESS_4) & ~0x03); - verbose("Framebuffer @0x%08X MMIO @0x%08X I/O Port @0x%08X ROM Addr @0x%08X\n", + verbose("ATI/AMD Framebuffer Addr: @0x%08X MMIO Addr: @0x%08X I/O Port Addr: @0x%08X ROM Addr: @0x%08X\n", card->fb, card->mmio, card->io, pci_config_read32(pci_dev->dev.addr, PCI_ROM_ADDRESS)); card->posted = radeon_card_posted(); - verbose("ATI card %s, ", card->posted ? "POSTed" : "non-POSTed"); + verbose("ATI/AMD card %s, ", card->posted ? "POSTed" : "non-POSTed"); get_vram_size(); @@ -2273,12 +2271,12 @@ card->cfg_name = card_configs[card->info->cfg_name].name; // which means one of the fb's or kNull - verbose("Framebuffer set to device's default: %s\n", card->cfg_name); + verbose("Framebuffer set to: %s using device's default.\n", card->cfg_name); } else { // else, use the fb name returned by AtiConfig. - verbose("(AtiConfig) Framebuffer set to: %s\n", card->cfg_name); + verbose("Framebuffer set to: %s using AtiConfig=%s\n", card->cfg_name, card->cfg_name); } // Check AtiPorts key for nr of ports, @@ -2287,7 +2285,7 @@ if (n_ports > 0) { card->ports = n_ports; // use it. - verbose("(AtiPorts) # of ports set to: %d\n", card->ports); + verbose("Number of ports set to: %d using AtiPorts=%d\n", card->ports, card->ports); } else { @@ -2300,7 +2298,7 @@ } } - verbose("# of ports set to framebuffer's default: %d\n", card->ports); + verbose("Number of ports set to: %d using framebuffer's default.\n", card->ports); } @@ -2359,11 +2357,12 @@ stringlength = string->length; // ------------------------------------------------- - verbose("ATI %s %s %dMB (%s) [%04x:%04x] (subsys [%04x:%04x]):: %s\n", + verbose("%s %dMB [%04x:%04x] (subsys [%04x:%04x]) (%s:%s) :: %s\n", chip_family_name[card->info->chip_family], card->info->model_name, (uint32_t)(card->vram_size / (1024 * 1024)), card->cfg_name, ati_dev->vendor_id, ati_dev->device_id, ati_dev->subsys_id.subsys.vendor_id, ati_dev->subsys_id.subsys.device_id, + chip_family_name[card->info->chip_family], card->cfg_name, devicepath); free(card); Index: branches/Chimera/i386/libsaio/cpu.c =================================================================== --- branches/Chimera/i386/libsaio/cpu.c (revision 2393) +++ branches/Chimera/i386/libsaio/cpu.c (revision 2394) @@ -27,72 +27,72 @@ */ uint64_t timeRDTSC(void) { - int attempts = 0; - uint64_t latchTime; - uint64_t saveTime,intermediate; - unsigned int timerValue, lastValue; - //boolean_t int_enabled; - /* - * Table of correction factors to account for - * - timer counter quantization errors, and - * - undercounts 0..5 - */ + int attempts = 0; + uint64_t latchTime; + uint64_t saveTime,intermediate; + unsigned int timerValue, lastValue; + //boolean_t int_enabled; + /* + * Table of correction factors to account for + * - timer counter quantization errors, and + * - undercounts 0..5 + */ #define SAMPLE_CLKS_EXACT (((double) CLKNUM) / 20.0) #define SAMPLE_CLKS_INT ((int) CLKNUM / 20) #define SAMPLE_NSECS (2000000000LL) #define SAMPLE_MULTIPLIER (((double)SAMPLE_NSECS)*SAMPLE_CLKS_EXACT) #define ROUND64(x) ((uint64_t)((x) + 0.5)) - uint64_t scale[6] = { + uint64_t scale[6] = { ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-0)), ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-1)), ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-2)), ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-3)), ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-4)), ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-5)) - }; - - //int_enabled = ml_set_interrupts_enabled(FALSE); - + }; + + //int_enabled = ml_set_interrupts_enabled(FALSE); + restart: - if (attempts >= 9) // increase to up to 9 attempts. - { - // This will flash-reboot. TODO: Use tscPanic instead. - printf("Timestamp counter calibation failed with %d attempts\n", attempts); - } - attempts++; - enable_PIT2(); // turn on PIT2 - set_PIT2(0); // reset timer 2 to be zero - latchTime = rdtsc64(); // get the time stamp to time - latchTime = get_PIT2(&timerValue) - latchTime; // time how long this takes - set_PIT2(SAMPLE_CLKS_INT); // set up the timer for (almost) 1/20th a second - saveTime = rdtsc64(); // now time how long a 20th a second is... - get_PIT2(&lastValue); - get_PIT2(&lastValue); // read twice, first value may be unreliable - do { + if (attempts >= 9) // increase to up to 9 attempts. + { + // This will flash-reboot. TODO: Use tscPanic instead. + printf("Timestamp counter calibation failed with %d attempts\n", attempts); + } + attempts++; + enable_PIT2(); // turn on PIT2 + set_PIT2(0); // reset timer 2 to be zero + latchTime = rdtsc64(); // get the time stamp to time + latchTime = get_PIT2(&timerValue) - latchTime; // time how long this takes + set_PIT2(SAMPLE_CLKS_INT); // set up the timer for (almost) 1/20th a second + saveTime = rdtsc64(); // now time how long a 20th a second is... + get_PIT2(&lastValue); + get_PIT2(&lastValue); // read twice, first value may be unreliable + do { intermediate = get_PIT2(&timerValue); if (timerValue > lastValue) - { + { // Timer wrapped set_PIT2(0); disable_PIT2(); goto restart; } lastValue = timerValue; - } while (timerValue > 5); - printf("timerValue %d\n",timerValue); - printf("intermediate 0x%016llx\n",intermediate); - printf("saveTime 0x%016llx\n",saveTime); + } while (timerValue > 5); + printf("timerValue %d\n",timerValue); + printf("intermediate 0x%016llx\n",intermediate); + printf("saveTime 0x%016llx\n",saveTime); - intermediate -= saveTime; // raw count for about 1/20 second - intermediate *= scale[timerValue]; // rescale measured time spent - intermediate /= SAMPLE_NSECS; // so its exactly 1/20 a second - intermediate += latchTime; // add on our save fudge + intermediate -= saveTime; // raw count for about 1/20 second + intermediate *= scale[timerValue]; // rescale measured time spent + intermediate /= SAMPLE_NSECS; // so its exactly 1/20 a second + intermediate += latchTime; // add on our save fudge - set_PIT2(0); // reset timer 2 to be zero - disable_PIT2(); // turn off PIT 2 - - //ml_set_interrupts_enabled(int_enabled); - return intermediate; + set_PIT2(0); // reset timer 2 to be zero + disable_PIT2(); // turn off PIT 2 + + //ml_set_interrupts_enabled(int_enabled); + return intermediate; } /* @@ -126,18 +126,18 @@ /* The poll loop must have run at least a few times for accuracy */ if (pollCount <= 1) { continue; - } + } /* The TSC must increment at LEAST once every millisecond. * We should have waited exactly 30 msec so the TSC delta should * be >= 30. Anything less and the processor is way too slow. */ if ((tscEnd - tscStart) <= CALIBRATE_TIME_MSEC) { continue; - } + } // tscDelta = MIN(tscDelta, (tscEnd - tscStart)) if ( (tscEnd - tscStart) < tscDelta ) { tscDelta = tscEnd - tscStart; - } + } } /* tscDelta is now the least number of TSC ticks the processor made in * a timespan of 0.03 s (e.g. 30 milliseconds) @@ -146,7 +146,7 @@ * Hz so we need to convert our milliseconds to seconds. Since we're * dividing by the milliseconds, we simply multiply by 1000. */ - + /* Unlike linux, we're not limited to 32-bit, but we do need to take care * that we're going to multiply by 1000 first so we do need at least some * arithmetic headroom. For now, 32-bit should be enough. @@ -194,18 +194,18 @@ /* The poll loop must have run at least a few times for accuracy */ if (pollCount <= 1) { continue; - } + } /* The TSC must increment at LEAST once every millisecond. * We should have waited exactly 30 msec so the APERF delta should * be >= 30. Anything less and the processor is way too slow. */ if ((aperfEnd - aperfStart) <= CALIBRATE_TIME_MSEC) { continue; - } + } // tscDelta = MIN(tscDelta, (tscEnd - tscStart)) if ( (aperfEnd - aperfStart) < aperfDelta ) { aperfDelta = aperfEnd - aperfStart; - } + } } /* mperfDelta is now the least number of MPERF ticks the processor made in * a timespan of 0.03 s (e.g. 30 milliseconds) @@ -230,17 +230,23 @@ */ void scan_cpu(PlatformInfo_t *p) { - uint64_t tscFrequency, fsbFrequency, cpuFrequency; - uint64_t msr, flex_ratio; - uint8_t maxcoef, maxdiv, currcoef, bus_ratio_max, currdiv; + uint64_t tscFrequency = 0; + uint64_t fsbFrequency = 0; + uint64_t cpuFrequency =0; + uint64_t msr = 0; + uint64_t flex_ratio = 0; + uint32_t max_ratio = 0; + uint32_t min_ratio = 0; + uint8_t bus_ratio_max = 0; + uint8_t bus_ratio_min = 0; + uint8_t currdiv = 0; + uint8_t currcoef = 0; + uint8_t maxdiv = 0; + uint8_t maxcoef = 0; + const char *newratio; - int len, myfsb; - uint8_t bus_ratio_min; - uint32_t max_ratio, min_ratio; - - max_ratio = min_ratio = myfsb = bus_ratio_min = 0; - maxcoef = maxdiv = bus_ratio_max = currcoef = currdiv = 0; - + int len = 0; + /* get cpuid values */ do_cpuid(0x00000000, p->CPU.CPUID[CPUID_0]); do_cpuid(0x00000001, p->CPU.CPUID[CPUID_1]); @@ -248,11 +254,11 @@ do_cpuid(0x00000003, p->CPU.CPUID[CPUID_3]); do_cpuid2(0x00000004, 0, p->CPU.CPUID[CPUID_4]); do_cpuid(0x80000000, p->CPU.CPUID[CPUID_80]); - if (p->CPU.CPUID[CPUID_0][0] >= 0x5) { - do_cpuid(5, p->CPU.CPUID[CPUID_5]); - } + if (p->CPU.CPUID[CPUID_0][0] >= 0x5) { + do_cpuid(5, p->CPU.CPUID[CPUID_5]); + } if (p->CPU.CPUID[CPUID_0][0] >= 6) { - do_cpuid(6, p->CPU.CPUID[CPUID_6]); + do_cpuid(6, p->CPU.CPUID[CPUID_6]); } if ((p->CPU.CPUID[CPUID_80][0] & 0x0000000f) >= 8) { do_cpuid(0x80000008, p->CPU.CPUID[CPUID_88]); @@ -260,7 +266,7 @@ } else if ((p->CPU.CPUID[CPUID_80][0] & 0x0000000f) >= 1) { do_cpuid(0x80000001, p->CPU.CPUID[CPUID_81]); } - + #if DEBUG_CPU { int i; @@ -272,46 +278,46 @@ } } #endif - + /* EAX (Intel): 31 28 27 20 19 16 1514 1312 11 8 7 4 3 0 +--------+----------------+--------+----+----+--------+--------+--------+ |########|Extended family |Extmodel|####|type|familyid| model |stepping| +--------+----------------+--------+----+----+--------+--------+--------+ - + EAX (AMD): 31 28 27 20 19 16 1514 1312 11 8 7 4 3 0 +--------+----------------+--------+----+----+--------+--------+--------+ |########|Extended family |Extmodel|####|####|familyid| model |stepping| - +--------+----------------+--------+----+----+--------+--------+--------+ + +--------+----------------+--------+----+----+--------+--------+--------+ */ - + p->CPU.Vendor = p->CPU.CPUID[CPUID_0][1]; p->CPU.Signature = p->CPU.CPUID[CPUID_1][0]; - // stepping = cpu_feat_eax & 0xF; + // stepping = cpu_feat_eax & 0xF; p->CPU.Stepping = bitfield(p->CPU.CPUID[CPUID_1][0], 3, 0); - // model = (cpu_feat_eax >> 4) & 0xF; + // model = (cpu_feat_eax >> 4) & 0xF; p->CPU.Model = bitfield(p->CPU.CPUID[CPUID_1][0], 7, 4); - // family = (cpu_feat_eax >> 8) & 0xF; + // family = (cpu_feat_eax >> 8) & 0xF; p->CPU.Family = bitfield(p->CPU.CPUID[CPUID_1][0], 11, 8); - // type = (cpu_feat_eax >> 12) & 0x3; + // type = (cpu_feat_eax >> 12) & 0x3; //p->CPU.Type = bitfield(p->CPU.CPUID[CPUID_1][0], 13, 12); - // ext_model = (cpu_feat_eax >> 16) & 0xF; + // ext_model = (cpu_feat_eax >> 16) & 0xF; p->CPU.ExtModel = bitfield(p->CPU.CPUID[CPUID_1][0], 19, 16); - // ext_family = (cpu_feat_eax >> 20) & 0xFF; + // ext_family = (cpu_feat_eax >> 20) & 0xFF; p->CPU.ExtFamily = bitfield(p->CPU.CPUID[CPUID_1][0], 27, 20); - + p->CPU.Model += (p->CPU.ExtModel << 4); - + if (p->CPU.Vendor == CPUID_VENDOR_INTEL && p->CPU.Family == 0x06 && p->CPU.Model >= CPU_MODEL_NEHALEM && p->CPU.Model != CPU_MODEL_ATOM // MSR is *NOT* available on the Intel Atom CPU ) { - msr = rdmsr64(MSR_CORE_THREAD_COUNT); // Undocumented MSR in Nehalem and newer CPUs - p->CPU.NoCores = bitfield((uint32_t)msr, 31, 16); // Using undocumented MSR to get actual values - p->CPU.NoThreads = bitfield((uint32_t)msr, 15, 0); // Using undocumented MSR to get actual values + msr = rdmsr64(MSR_CORE_THREAD_COUNT); // MacMan: Undocumented MSR in Nehalem and newer CPUs + p->CPU.NoCores = bitfield((uint32_t)msr, 31, 16); // MacMan: Using undocumented MSR to get actual values + p->CPU.NoThreads = bitfield((uint32_t)msr, 15, 0); // MacMan: Using undocumented MSR to get actual values } else if (p->CPU.Vendor == CPUID_VENDOR_AMD) { p->CPU.NoThreads = bitfield(p->CPU.CPUID[CPUID_1][1], 23, 16); p->CPU.NoCores = bitfield(p->CPU.CPUID[CPUID_88][2], 7, 0) + 1; @@ -320,7 +326,7 @@ p->CPU.NoThreads = bitfield(p->CPU.CPUID[CPUID_1][1], 23, 16); p->CPU.NoCores = bitfield(p->CPU.CPUID[CPUID_4][0], 31, 26) + 1; } - + /* get brand string (if supported) */ /* Copyright: from Apple's XNU cpuid.c */ if (p->CPU.CPUID[CPUID_80][0] > 0x80000004) { @@ -338,8 +344,8 @@ bcopy((char *)reg, &str[32], 16); for (s = str; *s != '\0'; s++) { if (*s != ' ') { - break; - } + break; + } } strlcpy(p->CPU.BrandString, s, sizeof(p->CPU.BrandString)); @@ -382,113 +388,124 @@ if (p->CPU.NoThreads > p->CPU.NoCores) { p->CPU.Features |= CPU_FEATURE_HTT; } - + tscFrequency = measure_tsc_frequency(); /* if usual method failed */ if ( tscFrequency < 1000 ) { //TEST - tscFrequency = timeRDTSC() * 20; + tscFrequency = timeRDTSC() * 20; } fsbFrequency = 0; cpuFrequency = 0; - + if ((p->CPU.Vendor == CPUID_VENDOR_INTEL) && ((p->CPU.Family == 0x06) || (p->CPU.Family == 0x0f))) { int intelCPU = p->CPU.Model; - if ((p->CPU.Family == 0x06 && p->CPU.Model >= 0x0c) || (p->CPU.Family == 0x0f && p->CPU.Model >= 0x03)) { + if ((p->CPU.Family == 0x06 && p->CPU.Model >= 0x0c) || (p->CPU.Family == 0x0f && p->CPU.Model >= 0x03)) { /* Nehalem CPU model */ - if (p->CPU.Family == 0x06 && (p->CPU.Model == CPU_MODEL_NEHALEM || - p->CPU.Model == CPU_MODEL_FIELDS || - p->CPU.Model == CPU_MODEL_DALES || - p->CPU.Model == CPU_MODEL_DALES_32NM || - p->CPU.Model == CPU_MODEL_WESTMERE || - p->CPU.Model == CPU_MODEL_NEHALEM_EX || - p->CPU.Model == CPU_MODEL_WESTMERE_EX || - p->CPU.Model == CPU_MODEL_SANDYBRIDGE || - p->CPU.Model == CPU_MODEL_JAKETOWN || - p->CPU.Model == CPU_MODEL_IVYBRIDGE_XEON || - p->CPU.Model == CPU_MODEL_IVYBRIDGE || - p->CPU.Model == CPU_MODEL_HASWELL || - p->CPU.Model == CPU_MODEL_HASWELL_SVR || - //p->CPU.Model == CPU_MODEL_HASWELL_H || - p->CPU.Model == CPU_MODEL_HASWELL_ULT || - p->CPU.Model == CPU_MODEL_CRYSTALWELL )) - { + if (p->CPU.Family == 0x06 && ( + p->CPU.Model == CPU_MODEL_NEHALEM || + p->CPU.Model == CPU_MODEL_FIELDS || + p->CPU.Model == CPU_MODEL_DALES || + p->CPU.Model == CPU_MODEL_DALES_32NM || + p->CPU.Model == CPU_MODEL_WESTMERE || + p->CPU.Model == CPU_MODEL_NEHALEM_EX || + p->CPU.Model == CPU_MODEL_WESTMERE_EX || + p->CPU.Model == CPU_MODEL_SANDYBRIDGE || + p->CPU.Model == CPU_MODEL_JAKETOWN || + p->CPU.Model == CPU_MODEL_IVYBRIDGE || + p->CPU.Model == CPU_MODEL_IVYBRIDGE_XEON|| + p->CPU.Model == CPU_MODEL_HASWELL || + p->CPU.Model == CPU_MODEL_HASWELL_SVR || + p->CPU.Model == CPU_MODEL_HASWELL_ULT || + p->CPU.Model == CPU_MODEL_CRYSTALWELL )){ msr = rdmsr64(MSR_PLATFORM_INFO); - DBG("msr(%d): platform_info %08x\n", __LINE__, bitfield(msr, 31, 0)); - bus_ratio_max = bitfield(msr, 15, 8); - bus_ratio_min = bitfield(msr, 47, 40); //valv: not sure about this one (Remarq.1) +// DBG("msr(%d): platform_info %08x\n", __LINE__, bitfield(msr, 31, 0)); + bus_ratio_max = bitfield(msr, 15, 8); //MacMan: Changed bitfield to match Apple tsc.c + bus_ratio_min = bitfield(msr, 47, 40); //MacMan: Changed bitfield to match Apple tsc.c msr = rdmsr64(MSR_FLEX_RATIO); - DBG("msr(%d): flex_ratio %08x\n", __LINE__, bitfield(msr, 31, 0)); +// DBG("msr(%d): flex_ratio %08x\n", __LINE__, bitfield(msr, 31, 0)); if (bitfield(msr, 16, 16)) { - flex_ratio = bitfield(msr, 15, 8); - /* bcc9: at least on the gigabyte h67ma-ud2h, - where the cpu multipler can't be changed to - allow overclocking, the flex_ratio msr has unexpected (to OSX) - contents. These contents cause mach_kernel to - fail to compute the bus ratio correctly, instead - causing the system to crash since tscGranularity - is inadvertently set to 0. - */ + flex_ratio = bitfield(msr, 15, 8); //MacMan: Changed bitfield to match Apple tsc.c if (flex_ratio == 0) { /* Clear bit 16 (evidently the presence bit) */ wrmsr64(MSR_FLEX_RATIO, (msr & 0xFFFFFFFFFFFEFFFFULL)); msr = rdmsr64(MSR_FLEX_RATIO); - verbose("Unusable flex ratio detected. Patched MSR now %08x\n", bitfield(msr, 31, 0)); +// verbose("Unusable flex ratio detected. Patched MSR now %08x\n", bitfield(msr, 31, 0)); } else { if (bus_ratio_max > flex_ratio) { bus_ratio_max = flex_ratio; } } } - + if (bus_ratio_max) { fsbFrequency = (tscFrequency / bus_ratio_max); } - //valv: Turbo Ratio Limit - if ((intelCPU != 0x2e) && (intelCPU != 0x2f)) { - msr = rdmsr64(MSR_TURBO_RATIO_LIMIT); - cpuFrequency = bus_ratio_max * fsbFrequency; - max_ratio = bus_ratio_max * 10; - } else { - cpuFrequency = tscFrequency; + //MacMan: Turbo Ratio Limit + switch (intelCPU) + { + case CPU_MODEL_WESTMERE_EX: // Intel Xeon E7 + case CPU_MODEL_NEHALEM_EX: // Intel Xeon X75xx, Xeon X65xx, Xeon E75xx, Xeon E65xx + { + cpuFrequency = tscFrequency; + DBG("cpu.c (%d)CPU_MODEL_NEHALEM_EX or CPU_MODEL_WESTMERE_EX Found\n", __LINE__); + break; + } + case CPU_MODEL_SANDYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (32nm) + case CPU_MODEL_IVYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (22nm) + case CPU_MODEL_JAKETOWN: // Intel Core i7, Xeon E5 LGA2011 (32nm) + case CPU_MODEL_IVYBRIDGE_XEON: // Intel Core i7, Xeon E5 LGA2011 (22nm) + case CPU_MODEL_HASWELL: // Intel Core i3, i5, i7, Xeon E3 LGA1050 (22nm) + case CPU_MODEL_HASWELL_ULT: + case CPU_MODEL_CRYSTALWELL: + { + msr = rdmsr64(MSR_IA32_PERF_STATUS); + currcoef = bitfield(msr, 15, 8); + cpuFrequency = currcoef * fsbFrequency; + maxcoef = bus_ratio_max; + break; + } + default: + { + msr = rdmsr64(MSR_IA32_PERF_STATUS); + currcoef = bitfield(msr, 7, 0); + cpuFrequency = currcoef * fsbFrequency; + maxcoef = bus_ratio_max; + break; + } } + if ((getValueForKey(kbusratio, &newratio, &len, &bootInfo->chameleonConfig)) && (len <= 4)) { max_ratio = atoi(newratio); max_ratio = (max_ratio * 10); if (len >= 3) { - max_ratio = (max_ratio + 5); - } - + max_ratio = (max_ratio + 5); + } + verbose("Bus-Ratio: min=%d, max=%s\n", bus_ratio_min, newratio); - + // extreme overclockers may love 320 ;) if ((max_ratio >= min_ratio) && (max_ratio <= 320)) { cpuFrequency = (fsbFrequency * max_ratio) / 10; if (len >= 3) { - maxdiv = 1; - } else { - maxdiv = 0; - } + maxdiv = 1; + } else { + maxdiv = 0; + } } else { max_ratio = (bus_ratio_max * 10); } } - //valv: to be uncommented if Remarq.1 didn't stick - /*if (bus_ratio_max > 0) bus_ratio = flex_ratio;*/ - p->CPU.MaxRatio = max_ratio; - p->CPU.MinRatio = min_ratio; - - myfsb = fsbFrequency / 1000000; - verbose("Sticking with [BCLK: %dMhz, Bus-Ratio: %d]\n", myfsb, max_ratio/10); // Bungo: fixed wrong Bus-Ratio readout - currcoef = bus_ratio_max; + p->CPU.MaxRatio = bus_ratio_max; + p->CPU.MinRatio = bus_ratio_min; } else { msr = rdmsr64(MSR_IA32_PERF_STATUS); DBG("msr(%d): ia32_perf_stat 0x%08x\n", __LINE__, bitfield(msr, 31, 0)); - currcoef = bitfield(msr, 12, 8); // Bungo: reverted to 2263 state because of wrong old CPUs freq. calculating + currcoef = bitfield(msr, 15, 8); //MacMan: Fixed bitfield to Intel documentation /* Non-integer bus ratio for the max-multi*/ maxdiv = bitfield(msr, 46, 46); /* Non-integer bus ratio for the current-multi (undocumented)*/ currdiv = bitfield(msr, 14, 14); - + // This will always be model >= 3 if ((p->CPU.Family == 0x06 && p->CPU.Model >= 0x0e) || (p->CPU.Family == 0x0f)) { /* On these models, maxcoef defines TSC freq */ @@ -498,7 +515,7 @@ /* XXX */ maxcoef = currcoef; } - + if (maxcoef) { if (maxdiv) { fsbFrequency = ((tscFrequency * 2) / ((maxcoef * 2) + 1)); @@ -525,7 +542,7 @@ maxcoef = bitfield(msr, 21, 16) / 2 + 4; currcoef = bitfield(msr, 5, 0) / 2 + 4; break; - + case 0x01: /* K10 */ msr = rdmsr64(K10_COFVID_STATUS); do_cpuid2(0x00000006, 0, p->CPU.CPUID[CPUID_6]); @@ -540,28 +557,28 @@ maxcoef = bitfield(msr, 54, 49) / 2 + 4; currcoef = bitfield(msr, 5, 0) + 0x10; currdiv = 2 << bitfield(msr, 8, 6); - + break; - + case 0x05: /* K14 */ msr = rdmsr64(K10_COFVID_STATUS); currcoef = (bitfield(msr, 54, 49) + 0x10) << 2; currdiv = (bitfield(msr, 8, 4) + 1) << 2; currdiv += bitfield(msr, 3, 0); - + break; - + case 0x02: /* K11 */ // not implimented break; } - + if (maxcoef) { if (currdiv) { if (!currcoef) { - currcoef = maxcoef; - } - + currcoef = maxcoef; + } + if (!cpuFrequency) { fsbFrequency = ((tscFrequency * currdiv) / currcoef); } else { @@ -573,7 +590,7 @@ fsbFrequency = (tscFrequency / maxcoef); } else { fsbFrequency = (cpuFrequency / maxcoef); - } + } DBG("%d\n", currcoef); } } else if (currcoef) { @@ -595,26 +612,40 @@ DBG("0 ! using the default value for FSB !\n"); } #endif - + p->CPU.MaxCoef = maxcoef; - p->CPU.MaxDiv = maxdiv; + if (maxdiv == 0){ + p->CPU.MaxDiv = bus_ratio_max; + } else { + p->CPU.MaxDiv = maxdiv; + } p->CPU.CurrCoef = currcoef; - p->CPU.CurrDiv = currdiv; + if (currdiv == 0){ + p->CPU.CurrDiv = currcoef; + } else { + p->CPU.CurrDiv = currdiv; + } p->CPU.TSCFrequency = tscFrequency; p->CPU.FSBFrequency = fsbFrequency; p->CPU.CPUFrequency = cpuFrequency; + + // keep formatted with spaces instead of tabs + DBG("CPU: Brand String: %s\n", p->CPU.BrandString); + DBG("CPU: Vendor: 0x%x\n", p->CPU.Vendor); + DBG("CPU: Family / ExtFamily: 0x%x / 0x%x\n", p->CPU.Family, p->CPU.ExtFamily); + DBG("CPU: Model / ExtModel / Stepping: 0x%x / 0x%x / 0x%x\n", p->CPU.Model, p->CPU.ExtModel, p->CPU.Stepping); + DBG("CPU: Number of Cores / Threads: %d / %d\n", p->CPU.NoCores, p->CPU.NoThreads); + DBG("CPU: Features: 0x%08x\n", p->CPU.Features); + DBG("CPU: TSC Frequency: %d MHz\n", p->CPU.TSCFrequency / 1000000); + DBG("CPU: FSB Frequency: %d MHz\n", p->CPU.FSBFrequency / 1000000); + DBG("CPU: CPU Frequency: %d MHz\n", p->CPU.CPUFrequency / 1000000); + DBG("CPU: Minimum Bus Ratio: %d\n", p->CPU.MinRatio); + DBG("CPU: Maximum Bus Ratio: %d\n", p->CPU.MaxRatio); + DBG("CPU: Current Bus Ratio: %d\n", p->CPU.CurrCoef); +// DBG("CPU: Maximum Multiplier: %d\n", p->CPU.MaxCoef); +// DBG("CPU: Maximum Divider: %d\n", p->CPU.MaxDiv); +// DBG("CPU: Current Divider: %d\n", p->CPU.CurrDiv); - // keep formatted with spaces instead of tabs - DBG("CPU: Brand String: %s\n", p->CPU.BrandString); - DBG("CPU: Vendor/Family/ExtFamily: 0x%x/0x%x/0x%x\n", p->CPU.Vendor, p->CPU.Family, p->CPU.ExtFamily); - DBG("CPU: Model/ExtModel/Stepping: 0x%x/0x%x/0x%x\n", p->CPU.Model, p->CPU.ExtModel, p->CPU.Stepping); - DBG("CPU: MaxCoef/CurrCoef: 0x%x/0x%x\n", p->CPU.MaxCoef, p->CPU.CurrCoef); - DBG("CPU: MaxDiv/CurrDiv: 0x%x/0x%x\n", p->CPU.MaxDiv, p->CPU.CurrDiv); - DBG("CPU: TSCFreq: %dMHz\n", p->CPU.TSCFrequency / 1000000); - DBG("CPU: FSBFreq: %dMHz\n", p->CPU.FSBFrequency / 1000000); - DBG("CPU: CPUFreq: %dMHz\n", p->CPU.CPUFrequency / 1000000); - DBG("CPU: NoCores/NoThreads: %d/%d\n", p->CPU.NoCores, p->CPU.NoThreads); - DBG("CPU: Features: 0x%08x\n", p->CPU.Features); #if DEBUG_CPU pause(); #endif Index: branches/Chimera/i386/libsaio/pci_setup.c =================================================================== --- branches/Chimera/i386/libsaio/pci_setup.c (revision 2393) +++ branches/Chimera/i386/libsaio/pci_setup.c (revision 2394) @@ -21,13 +21,14 @@ void setup_pci_devs(pci_dt_t *pci_dt) { char *devicepath; - bool doit, do_eth_devprop, do_gfx_devprop, do_enable_hpet, do_hda_devprop; + bool do_eth_devprop, do_gfx_devprop, do_enable_hpet, do_hda_devprop, do_igp_devprop; pci_dt_t *current = pci_dt; - do_eth_devprop = do_gfx_devprop = do_enable_hpet = do_hda_devprop = false; + do_eth_devprop = do_gfx_devprop = do_igp_devprop = do_hda_devprop = do_enable_hpet = false; getBoolForKey(kEthernetBuiltIn, &do_eth_devprop, &bootInfo->chameleonConfig); getBoolForKey(kGraphicsEnabler, &do_gfx_devprop, &bootInfo->chameleonConfig); + getBoolForKey(kIGPEnabler, &do_igp_devprop, &bootInfo->chameleonConfig); //MacMan Chimera IGP enabler getBoolForKey(kHDAEnabler, &do_hda_devprop, &bootInfo->chameleonConfig); getBoolForKey(kForceHPET, &do_enable_hpet, &bootInfo->chameleonConfig); @@ -52,46 +53,28 @@ break; case PCI_CLASS_DISPLAY_VGA: - if (do_gfx_devprop) - { - switch (current->vendor_id) + switch (current->vendor_id) { case PCI_VENDOR_ID_ATI: - if (getBoolForKey(kSkipAtiGfx, &doit, &bootInfo->chameleonConfig) && doit) - { - verbose("Skip ATi/AMD gfx device!\n"); - } - else - { - setup_ati_devprop(current); - } + if (do_gfx_devprop){ + setup_ati_devprop(current); + } break; - + case PCI_VENDOR_ID_INTEL: - if (getBoolForKey(kSkipIntelGfx, &doit, &bootInfo->chameleonConfig) && doit) - { - verbose("Skip Intel gfx device!\n"); - } - else - { - setup_gma_devprop(current); - } + if (do_gfx_devprop || do_igp_devprop){ + setup_gma_devprop(current); + } break; - + case PCI_VENDOR_ID_NVIDIA: - if (getBoolForKey(kSkipNvidiaGfx, &doit, &bootInfo->chameleonConfig) && doit) - { - verbose("Skip Nvidia gfx device!\n"); - } - else - { - setup_nvidia_devprop(current); - } + if (do_gfx_devprop){ + setup_nvidia_devprop(current); + } break; - } } - break; - + break; + case PCI_CLASS_MULTIMEDIA_AUDIO_DEV: if (do_hda_devprop) { Index: branches/Chimera/i386/libsaio/smbios.c =================================================================== --- branches/Chimera/i386/libsaio/smbios.c (revision 2393) +++ branches/Chimera/i386/libsaio/smbios.c (revision 2394) @@ -670,7 +670,6 @@ case CPU_MODEL_SANDYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (32nm) case CPU_MODEL_IVYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (22nm) - case CPU_MODEL_IVYBRIDGE_XEON: defaultBIOSInfo.version = kDefaultiMacSandyBIOSVersion; defaultBIOSInfo.releaseDate = kDefaultiMacSandyBIOSReleaseDate; defaultSystemInfo.productName = kDefaultiMacSandy; @@ -694,6 +693,7 @@ case CPU_MODEL_WESTMERE: // Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core case CPU_MODEL_WESTMERE_EX: // Intel Xeon E7 case CPU_MODEL_JAKETOWN: // Intel Core i7, Xeon E5 LGA2011 (32nm) + case CPU_MODEL_IVYBRIDGE_XEON: // Intel Core i7, Xeon E5 v2 LGA2011 (22nm) MacMan moved to proper location defaultBIOSInfo.version = kDefaultMacProWestmereBIOSVersion; defaultBIOSInfo.releaseDate = kDefaultMacProWestmereBIOSReleaseDate; defaultSystemInfo.productName = kDefaultMacProWestmere; Index: branches/Chimera/i386/libsaio/smbios_getters.c =================================================================== --- branches/Chimera/i386/libsaio/smbios_getters.c (revision 2393) +++ branches/Chimera/i386/libsaio/smbios_getters.c (revision 2394) @@ -27,8 +27,8 @@ { switch (Platform.CPU.Model) { - // set external clock to 0 for SANDY // removes FSB info from system profiler as on real mac's. + // sets external clock to 0 case CPU_MODEL_SANDYBRIDGE: case CPU_MODEL_IVYBRIDGE_XEON: case CPU_MODEL_IVYBRIDGE: @@ -84,11 +84,11 @@ case CPU_MODEL_WESTMERE: // Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core case CPU_MODEL_NEHALEM_EX: // Intel Xeon X75xx, Xeon X65xx, Xeon E75xx, Xeon E65x case CPU_MODEL_WESTMERE_EX: // Intel Xeon E7 - case CPU_MODEL_SANDYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (32nm) - case CPU_MODEL_IVYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (22nm) - case CPU_MODEL_IVYBRIDGE_XEON: - case CPU_MODEL_HASWELL: - case CPU_MODEL_JAKETOWN: // Intel Core i7, Xeon E5 LGA2011 (32nm) +// case CPU_MODEL_SANDYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (32nm) // MacMan removed not valid for this CPU +// case CPU_MODEL_IVYBRIDGE: // Intel Core i3, i5, i7 LGA1155 (22nm) // MacMan removed not valid for this CPU +// case CPU_MODEL_IVYBRIDGE_XEON: // MacMan moved +// case CPU_MODEL_HASWELL: // MacMan removed not valid for this CPU +// case CPU_MODEL_JAKETOWN: // Intel Core i7, Xeon E5 LGA2011 (32nm)// MacMan moved { // thanks to dgobe for i3/i5/i7 bus speed detection int nhm_bus = 0x3F; @@ -122,6 +122,16 @@ value->word = qpibusspeed; return true; } +// MacMan the following CPUs have fixed DMI2 speeds + case CPU_MODEL_IVYBRIDGE_XEON: // Intel Core i7, Xeon E5 v2 LGA2011 (22nm) + case CPU_MODEL_JAKETOWN: // Intel Core i7, Xeon E5 LGA2011 (32nm) + { + unsigned long dmi2speed; + dmi2speed = 5000; + DBG("dmi2speed %d\n", dmi2speed); + value->word = dmi2speed; + return true; + } default: break; //Unsupported CPU type } @@ -156,6 +166,7 @@ done = true; } // Bungo: fixes Oem Processor Type - better matching IMHO + // MacMan changed OEM Processor Type switch (Platform.CPU.Family) { case 0x06: { @@ -184,10 +195,9 @@ case CPU_MODEL_ATOM: // 0x1C - Intel Atom (45nm) return true; - case CPU_MODEL_NEHALEM_EX: // 0x2E - Nehalem-ex, "Beckton", 45nm - case CPU_MODEL_NEHALEM: // 0x1A - Intel Core i7, Xeon W35xx, Xeon X55xx, Xeon E55xx LGA1366 (45nm) case CPU_MODEL_FIELDS: // 0x1E - Intel Core i5, i7, Xeon X34xx LGA1156 (45nm) - case CPU_MODEL_DALES: // 0x1F - Intel Core i5, i7 LGA1156 (45nm) (Havendale, Auburndale) + case CPU_MODEL_DALES: // 0x1F - Intel Core i5, i7 LGA1156 (45nm) (Havendale, Auburndale) + case CPU_MODEL_DALES_32NM: // 0x25 - Intel Core i3, i5 LGA1156 (32nm) (Clarkdale, Arrandale) if (strstr(Platform.CPU.BrandString, "Xeon(R)")) { value->word = 0x501; // 1281 - Lynnfiled Quad-Core Xeon return true; @@ -209,32 +219,24 @@ } return true; - case CPU_MODEL_DALES_32NM: // 0x25 - Intel Core i3, i5 LGA1156 (32nm) (Clarkdale, Arrandale) - case CPU_MODEL_WESTMERE: // 0x2C - Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core + case CPU_MODEL_NEHALEM: // 0x1A - Intel Core i7, Xeon W35xx, Xeon X55xx, Xeon E55xx LGA1366 (45nm) + case CPU_MODEL_NEHALEM_EX: // 0x2E - Intel Xeon X75xx, Xeon X65xx, Xeon E75xx, Xeon E65xx, Xeon L75xx, LGA1567 (45nm) + case CPU_MODEL_WESTMERE: // 0x2C - Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core case CPU_MODEL_WESTMERE_EX: // 0x2F - Intel Xeon E7 + case CPU_MODEL_JAKETOWN: // 0x2D - Intel Core i7, Xeon E5-xxxx LGA2011 (32nm) + case CPU_MODEL_HASWELL_SVR: // 0x3F - if (strstr(Platform.CPU.BrandString, "Xeon(R)")) { value->word = 0x501; // 1281 - Xeon return true; } - if (strstr(Platform.CPU.BrandString, "Core(TM) i3")) { - value->word = 0x901; // 2305 - Core i3 - return true; - } - if (strstr(Platform.CPU.BrandString, "Core(TM) i5")) { - value->word = 0x602; // 1538 - Core i5 - return true; - } if (strstr(Platform.CPU.BrandString, "Core(TM) i7")) { value->word = 0x702; // 1794 -Core i7 return true; } - if (Platform.CPU.NoCores <= 2) { - value->word = 0x602; // 1538 - Core i5 - } return true; - case CPU_MODEL_JAKETOWN: // 0x2D - Intel Core i7, Xeon E5-xxxx LGA2011 (32nm) case CPU_MODEL_SANDYBRIDGE: // 0x2A - Intel Core i3, i5, i7 LGA1155 (32nm) + case CPU_MODEL_IVYBRIDGE: // 0x3A - Intel Core i3, i5, i7 LGA1155 (22nm) if (strstr(Platform.CPU.BrandString, "Xeon(R)")) { value->word = 0x501; // 1281 - Xeon return true; @@ -256,34 +258,11 @@ } return true; - case CPU_MODEL_IVYBRIDGE: // 0x3A - Intel Core i3, i5, i7 LGA1155 (22nm) - if (strstr(Platform.CPU.BrandString, "Xeon(R)")) { - value->word = 0xA01; // 2561 - Xeon - return true; - } - if (strstr(Platform.CPU.BrandString, "Core(TM) i3")) { - value->word = 0x903; // 2307 - Core i3 - Apple doesn't use it - return true; - } - if (strstr(Platform.CPU.BrandString, "Core(TM) i5")) { - value->word = 0x604; // 1540 - Core i5 - return true; - } - if (strstr(Platform.CPU.BrandString, "Core(TM) i7")) { - value->word = 0x704; // 1796 - Core i7 - return true; - } - if (Platform.CPU.NoCores <= 2) { - value->word = 0x604; // 1540 - Core i5 - } - return true; - case CPU_MODEL_IVYBRIDGE_XEON: // 0x3E - Mac Pro 6,1 value->word = 0xA01; // 2561 return true; case CPU_MODEL_HASWELL: // 0x3C - - case CPU_MODEL_HASWELL_SVR: // 0x3F - case CPU_MODEL_HASWELL_ULT: // 0x45 - case CPU_MODEL_CRYSTALWELL: // 0x46 if (strstr(Platform.CPU.BrandString, "Xeon(R)")) { Index: branches/Chimera/i386/boot2/boot.h =================================================================== --- branches/Chimera/i386/boot2/boot.h (revision 2393) +++ branches/Chimera/i386/boot2/boot.h (revision 2394) @@ -53,66 +53,66 @@ #define kKernelCacheKey "Kernel Cache" #define kUseKernelCache "UseKernelCache" /* boot.c */ #define kBootDeviceKey "Boot Device" -#define kTimeoutKey "Timeout" +#define kTimeoutKey "Timeout" #define kRootDeviceKey "rd" #define kBootUUIDKey "boot-uuid" #define kHelperRootUUIDKey "Root UUID" #define kPlatformKey "platform" -#define kACPIKey "acpi" +#define kACPIKey "acpi" #define kCDROMPromptKey "CD-ROM Prompt" #define kCDROMOptionKey "CD-ROM Option Key" #define kRescanPromptKey "Rescan Prompt" -#define kRescanKey "Rescan" +#define kRescanKey "Rescan" #define kScanSingleDriveKey "Scan Single Drive" #define kInstantMenuKey "Instant Menu" #define kDefaultKernel "mach_kernel" -#define kGUIKey "GUI" +#define kGUIKey "GUI" #define kBootBannerKey "Boot Banner" -#define kShowInfoKey "ShowInfo" // gui.c +#define kShowInfoKey "ShowInfo" /* gui.c */ #define kWaitForKeypressKey "Wait" /* AsereBLN: added these keys */ -#define kUseAtiROM "UseAtiROM" /* ati.c */ -#define kWake "Wake" /* boot.c */ -#define kForceWake "ForceWake" /* boot.c */ -#define kWakeImage "WakeImage" /* boot.c */ +#define kUseAtiROM "UseAtiROM" /* ati.c */ +#define kWake "Wake" /* boot.c */ +#define kForceWake "ForceWake" /* boot.c */ +#define kWakeImage "WakeImage" /* boot.c */ #define kProductVersion "ProductVersion" /* boot.c */ -#define karch "arch" /* boot.c */ -#define kDSDT "DSDT" /* acpi_patcher.c */ -#define kDropSSDT "DropSSDT" /* acpi_patcher.c */ +#define karch "arch" /* boot.c */ +#define kDSDT "DSDT" /* acpi_patcher.c */ +#define kDropSSDT "DropSSDT" /* acpi_patcher.c */ #define kDeviceProperties "device-properties" /* device_inject.c */ #define kHidePartition "Hide Partition" /* disk.c */ #define kRenamePartition "Rename Partition" /* disk.c */ -#define kSMBIOSKey "SMBIOS" /* fake_efi.c */ -#define kSystemID "SystemId" /* fake_efi.c */ -#define kSystemType "SystemType" /* fake_efi.c */ +#define kSMBIOSKey "SMBIOS" /* fake_efi.c */ +#define kSystemID "SystemId" /* fake_efi.c */ +#define kSystemType "SystemType" /* fake_efi.c */ #define kUseNvidiaROM "UseNvidiaROM" /* nvidia.c */ -#define kVBIOS "VBIOS" /* nvidia.c && ati.c */ -#define kPCIRootUID "PCIRootUID" /* pci_root.c */ +#define kVBIOS "VBIOS" /* nvidia.c && ati.c */ +#define kPCIRootUID "PCIRootUID" /* pci_root.c */ #define kEthernetBuiltIn "EthernetBuiltIn" /* pci_setup.c */ #define kGraphicsEnabler "GraphicsEnabler" /* pci_setup.c */ -#define kForceHPET "ForceHPET" /* pci_setup.c */ +#define kForceHPET "ForceHPET" /* pci_setup.c */ #define kUseMemDetect "UseMemDetect" /* platform.c */ #define kSMBIOSdefaults "SMBIOSdefaults" /* smbios_patcher.c */ -#define kUSBBusFix "USBBusFix" /* usb.c */ -#define kEHCIacquire "EHCIacquire" /* usb.c */ -#define kUHCIreset "UHCIreset" /* usb.c */ -#define kEHCIhard "EHCIhard" /* usb.c */ +#define kUSBBusFix "USBBusFix" /* usb.c */ +#define kEHCIacquire "EHCIacquire" /* usb.c */ +#define kUHCIreset "UHCIreset" /* usb.c */ +#define kEHCIhard "EHCIhard" /* usb.c */ #define kDefaultPartition "Default Partition" /* sys.c */ /* Duvel300: added this */ -#define kRestartFix "RestartFix" /* acpi_patcher.c */ +#define kRestartFix "RestartFix" /* acpi_patcher.c */ /* Slice: added this */ #define kPS2RestartFix "PS2RestartFix" /* acpi_patcher.c */ /* Signal64: added this key */ -#define kLegacyOff "USBLegacyOff" /* usb.c */ +#define kLegacyOff "USBLegacyOff" /* usb.c */ /* Lebidou: added this key */ /* Meklort: added this key */ -#define kMD0Image "md0" /* ramdisk.h */ +#define kMD0Image "md0" /* ramdisk.h */ /* Andyvand: added these keys */ @@ -125,16 +125,16 @@ #define kEnableC4State "EnableC4State" /* acpi_patcher.c */ /* valv: added these keys */ -#define kbusratio "busratio" /* cpu.c */ -#define kDcfg0 "display_0" /* nvidia.c */ -#define kDcfg1 "display_1" /* nvidia.c */ +#define kbusratio "busratio" /* cpu.c */ +#define kDcfg0 "display_0" /* nvidia.c */ +#define kDcfg1 "display_1" /* nvidia.c */ /* Marchrius: added these keys */ #define kEnableBacklight "EnableBacklight" /* nvidia.c */ /* Kabyl: added these keys */ -#define kAtiConfig "AtiConfig" /* ati.c */ -#define kAtiPorts "AtiPorts" /* ati.c */ +#define kAtiConfig "AtiConfig" /* ati.c */ +#define kAtiPorts "AtiPorts" /* ati.c */ #define kATYbinimage "ATYbinimage" /* ati.c */ /* cosmo1: added these keys */ @@ -144,14 +144,14 @@ /* ErmaC: added these keys */ #define kEnableDualLink "EnableDualLink" /* nvidia.c && gma.c*/ -#define kNvidiaGeneric "NvidiaGeneric" /* nvidia.c */ -#define kSkipIntelGfx "SkipIntelGfx" /* pci_setup.c */ -#define kSkipNvidiaGfx "SkipNvidiaGfx" /* pci_setup.c */ -#define kSkipAtiGfx "SkipAtiGfx" /* pci_setup.c */ -#define kIntelCapriFB "IntelCapriFB" /* gma.c was HD4K-ig */ -#define kIntelAzulFB "IntelAzulFB" /* gma.c was HD5K-ig */ -#define kAAPLCustomIG "InjectIntel-ig" /* gma.c */ -#define kHDAEnabler "HDAEnabler" /* pci_setup.c */ +//#define kNvidiaGeneric "NvidiaGeneric" /* nvidia.c */ // MacMan changed default to Yes +//#define kSkipIntelGfx "SkipIntelGfx" /* pci_setup.c */ // MacMan disabled for Chimera +//#define kSkipNvidiaGfx "SkipNvidiaGfx" /* pci_setup.c */ // MacMan disabled for Chimera +//#define kSkipAtiGfx "SkipAtiGfx" /* pci_setup.c */ // MacMan disabled for Chimera +//#define kIntelCapriFB "IntelCapriFB" /* gma.c was HD4K-ig */ // MacMan disabled for Chimera +//#define kIntelAzulFB "IntelAzulFB" /* gma.c was HD5K-ig */ // MacMan disabled for Chimera +//#define kAAPLCustomIG "InjectIntel-ig" /* gma.c */ // MacMan disabled for Chimera +#define kHDAEnabler "HDAEnabler" /* pci_setup.c */ #define kHDEFLayoutID "HDEFLayoutID" /* hda.c */ #define kHDAULayoutID "HDAULayoutID" /* hda.c */ @@ -162,6 +162,11 @@ // mask private data or no #define kPrivateData "PrivateData" /* smbios_decode.c */ +/* MacMan: added these keys */ +#define kIGPDeviceID "IGPDeviceID" /* gma.c */ // MacMan +#define kIGPlatformID "IGPlatformID" /* gma.c */ // MacMan +#define kIGPEnabler "IGPEnabler" /* pci_setup.c */ // MacMan + /* * Flags to the booter or kernel */ Index: branches/Chimera/i386/boot2/options.c =================================================================== --- branches/Chimera/i386/boot2/options.c (revision 2393) +++ branches/Chimera/i386/boot2/options.c (revision 2394) @@ -1076,7 +1076,8 @@ free(menuItems); menuItems = NULL; } - execute_hook("BootOptions", gBootArgs, gBootArgsPtr, NULL, NULL); +// MacMan commented out the next line to prevent writing the command line boot options to nvram +// execute_hook("BootOptions", gBootArgs, gBootArgsPtr, NULL, NULL); return 0; } Index: branches/Chimera/i386/modules/Cconfig =================================================================== --- branches/Chimera/i386/modules/Cconfig (revision 2393) +++ branches/Chimera/i386/modules/Cconfig (revision 2394) @@ -13,5 +13,5 @@ source "i386/modules/KernelPatcher/Cconfig" #source "i386/modules/KextPatcher/Cconfig" source "i386/modules/FileNVRAM/Cconfig" -#source "i386/modules/HDAEnabler/Cconfig" +source "i386/modules/HDAEnabler/Cconfig" endmenu Index: branches/Chimera/i386/modules/Makefile =================================================================== --- branches/Chimera/i386/modules/Makefile (revision 2393) +++ branches/Chimera/i386/modules/Makefile (revision 2394) @@ -49,9 +49,9 @@ #SUBDIRS += KextPatcher #endif -#ifdef CONFIG_HDAENABLER_MODULE -#SUBDIRS += HDAEnabler -#endif +ifdef CONFIG_HDAENABLER_MODULE +SUBDIRS += HDAEnabler +endif CFLAGS= -O3 $(MORECPP) -arch i386 -g -static DEFINES= Index: branches/Chimera/Chimera 3.0.1 Changes.txt =================================================================== --- branches/Chimera/Chimera 3.0.1 Changes.txt (revision 0) +++ branches/Chimera/Chimera 3.0.1 Changes.txt (revision 2394) @@ -0,0 +1,66 @@ +Chimera 3.0.1 changes from trunk: + +Make config + In Modules, added HDAEnabler Module, kept Keylayout Module and disabled all others. + +Make.rules + Added -Wno-unused-function to CFLAGS + Added -ffreestanding to CPPFLAGS + +doc/BootHelp.txt + Added Chimera boot flags, removed Chameleon IGP flags and cleaned up. + Change ""Boot Banner"=Yes|No Show boot banner in GUI mode (enabled by default)." from disabled + Added "IGPDeviceID= Override default unsupported device ID injection" + +boot2/boot.h + Added Chimera 2.2 IGP keys + Added IGPDeviceID key + Cleaned up formatting. + +boot2/options.c + Disabled writing the command line boot options to nvram by commenting out: + execute_hook("BootOptions", gBootArgs, gBootArgsPtr, NULL, NULL); + +libsaio/ati.c + Edited card names to remove vendor name + Kept Chimera verbose strings which are easier to read and understand. + +libsaio/console.c + Added "Chimera 3.0.0 Branch of " to msglog for displaying Chimera version in bdmesg + +libsaio/cpu.c + Replaced with Chimera version and fixed Haswell CPU speed detection + +libsaio/gma.c + Added Chimera 2.2 code + Replaced sscanf in Chimera 2.2 code with code not dependent on stdio.h + +libsaio/gma.h + Added additional comments and: + #define HD_GRAPHICS_4200 "HD Graphics 4200" + #define HD_GRAPHICS_4400 "HD Graphics 4400" + +libsaio/nvidia.c + Removed showGeneric code and returning exception names + Added NVIDIA in front of card names to duplicate what Apple does. + Added before "verbose("%s %dMB NV%02x [%04x:%04x]-[%04x:%04x] :: %s device number: %d\n",": + verbose("---------------------------------------------\n"); + verbose("------------ NVIDIA DEVICE INFO --------------\n"); + verbose("---------------------------------------------\n"); + +libsaio/pci_setup.c + Added code for Chimera IGP, removed trunk kSkipAtiGfx, kSkipIntelGfx and kSkipNvidiaGfx + +libsaio/smbios.c + In setDefaultSMBData defaults moved CPU_MODEL_IVYBRIDGE_XEON: after case CPU_MODEL_JAKETOWN: + +libsaio/smbios_getters.c + "getSMBOemProcessorBusSpeed" removed "case CPU_MODEL_SANDYBRIDGE:", "case CPU_MODEL_IVYBRIDGE:" and "case CPU_MODEL_HASWELL:" + Added code to hardcode DMI2 speed on CPU_MODEL_IVYBRIDGE_XEON and CPU_MODEL_JAKETOWN: + "getSMBOemProcessorType" modified to better reflect actual models + +modules/Cconfig + Uncommented " source "i386/modules/HDAEnabler/Cconfig" " + +modules/Makefile + Uncommented " ifdef CONFIG_HDAENABLER_MODULE " block \ No newline at end of file Index: branches/Chimera/doc/BootHelp.txt =================================================================== --- branches/Chimera/doc/BootHelp.txt (revision 2393) +++ branches/Chimera/doc/BootHelp.txt (revision 2394) @@ -25,9 +25,8 @@ Example: mach_kernel rd=disk0s1 -v "Graphics Mode"="1920x1200x32" -If the computer won't start up properly, you may be able to start it up using -safe mode. Type -x to start up in safe mode, which ignores all cached -driver files. +If the computer won't start up properly, you may be able to start it up using safe mode. +Type -x to start up in safe mode, which ignores all cached driver files. Special booter hotkeys: ----------------------- @@ -42,18 +41,17 @@ Additional useful command-line options: --------------------------------------- - config= Use an alternate Boot.plist file. + config= Use an alternate Boot.plist file. Options useful in the org.chameleon.Boot.plist file: ---------------------------------------------------- - Wait=Yes|No Prompt for a key press before starting the kernel. - "Quiet Boot"=Yes|No Use quiet boot mode (no messages or prompt). - Timeout=8 Number of seconds to pause at the boot: prompt. - "Instant Menu"=Yes Force displaying the partition selection menu. + Wait=Yes|No Prompt for a key press before starting the kernel. + "Quiet Boot"=Yes|No Use quiet boot mode (no messages or prompt). + Timeout=8 Number of seconds to pause at the boot: prompt. + "Instant Menu"=Yes Force displaying the partition selection menu. "Default Partition" Sets the default boot partition, - =hd(x,y)|UUID|"Label" Specified as a disk/partition pair, an UUID, or a - label enclosed in quotes. + =hd(x,y)|UUID|"Label" Specified as a disk/partition pair, an UUID, or a label enclosed in quotes. "Hide Partition" Remove unwanted partition(s) from the boot menu. =partition Specified, possibly multiple times, as hd(x,y), an @@ -65,73 +63,62 @@ ...] GUI=No Disable the GUI (enabled by default). - "Boot Banner"=Yes|No Show boot banner in GUI mode (disabled by default). + "Boot Banner"=Yes|No Show boot banner in GUI mode (enabled by default). ShowInfo=No Disables display of partition and resolution details. "Boot Banner"=No will also disable this info. "Legacy Logo"=Yes|No Use the legacy grey apple logo (disabled by default). PciRoot= Use an alternate value for PciRoot (default value 0). - UseKernelCache=Yes|No Yes will load pre-linked kernel and will ignore /E/E - and /S/L/E/Extensions.mkext. - Default is No but Yes if you use Lion on a Raid partition. + UseKernelCache=Yes|No Yes will load pre-linked kernel and will ignore /E/E and /S/L/E/Extensions.mkext. + Default is No but Yes if you use Lion on a Raid partition. KeyLayout=keymap Use to change the keyboard mapping of the bootloader (e.g. KeyLayout=mac-fr) - HDAEnabler=Yes|No Automatic device-properties generation for audio controllers. - HDEFLayoutID= Inject alternate value of layout-id for HDEF (HEX). - HDAULayoutID= Inject alternate value of layout-id for HDAU (HEX). + HDAEnabler=Yes|No Automatic device-properties generation for audio controllers. + HDEFLayoutID= Inject alternate value of layout-id for HDEF (HEX). + HDAULayoutID= Inject alternate value of layout-id for HDAU (HEX). - GraphicsEnabler=Yes|No Automatic device-properties generation for graphics cards. - SkipIntelGfx=Yes|No Skip the Automatic device-properties generation for Intel cards. - SkipNvidiaGfx=Yes|No Skip the Automatic device-properties generation for Nvidia cards. - SkipAtiGfx=Yes|No Skip the Automatic device-properties generation for Ati cards. + GraphicsEnabler=Yes|No Automatic device-properties generation for graphics cards. + IGPlatformID= Override or set Intel HD Graphics Platform ID + IGPEnabler=Yes|No Automatic device-properties generation for Intel IGP when GraphicsEnabler=No + IGPDeviceID= Override default unsupported device ID injection - NvidiaGeneric =Yes|No Use the classic Nvidia name for the SystemProfiler (disabled by default). + NvidiaGeneric =Yes|No Use the classic Nvidia name for the SystemProfiler (enabled by default). + UseNvidiaROM=Yes|No Use an alternate Nvidia ROM image (default path: /Extra/_.rom) + display_0= Inject alternate value of display-cfg into NVDA,Display-A@0 (HEX). + display_1= Inject alternate value of display-cfg into NVDA,Display-B@1 (HEX). AtiConfig= Use a different card config, e.g. AtiConfig=Megalodon. AtiPorts= Specify the number of ports, e.g. AtiPorts=2. - UseAtiROM=Yes|No Use an alternate Ati ROM image - (default path: /Extra/__.rom) - UseNvidiaROM=Yes|No Use an alternate Nvidia ROM image - (default path: /Extra/_.rom) - VBIOS=Yes|No Inject VBIOS to device-properties. - display_0= Inject alternate value of display-cfg into NVDA,Display-A@0 (HEX). - display_1= Inject alternate value of display-cfg into NVDA,Display-B@1 (HEX). - IntelCapriFB= For Intel HD 4xxx, range 0-11. - IntelAzulFB= For Intel HD 5xxx/IRIS, range 0-15. - InjectIntel-ig= Inject alternate value into AAPL,ig-platform-id (HEX). + UseAtiROM=Yes|No Use an alternate Ati ROM image (default path: /Extra/__.rom) + VBIOS=Yes|No Inject VBIOS to device-properties. EnableBacklight=Yes Enable Back light option for NVIDIA and ATI EnableDualLink=Yes Enable DualLink option for NVIDIA and ATI EnableHDMIAudio=Yes Inject HDMI audio for NVIDIA and ATI. - EthernetBuiltIn=Yes|No Automatic "built-in"=YES device-properties generation - for ethernet interfaces. + EthernetBuiltIn=Yes|No Automatic "built-in"=YES device-properties generation for ethernet interfaces. ForceHPET=Yes|No Force HPET on (disabled by default). - USBBusFix=Yes Enable the EHCI and UHCI fixes (disabled by default). - EHCIacquire=Yes Enable the EHCI fix (disabled by default). - UHCIreset=Yes Enable the UHCI fix (disabled by default). - USBLegacyOff=Yes Force USB Legacy off (disabled by default). + USBBusFix=Yes Enable the EHCI and UHCI fixes (disabled by default). + EHCIacquire=Yes Enable the EHCI fix (disabled by default). + UHCIreset=Yes Enable the UHCI fix (disabled by default). + USBLegacyOff=Yes Force USB Legacy off (disabled by default). - Wake=No Disable wake up after hibernation (enbaled by default). - ForceWake=Yes Force using the sleepimage (disabled by default). - WakeImage= Use an alternate sleepimage file + Wake=No Disable wake up after hibernation (enbaled by default). + ForceWake=Yes Force using the sleepimage (disabled by default). + WakeImage= Use an alternate sleepimage file (default path is /private/var/vm/sleepimage). - DropSSDT=Yes Skip the SSDT tables while relocating the ACPI tables. - DSDT= Use an alternate DSDT.aml file - (default path: /DSDT.aml - /Extra/DSDT.aml bt(0,0)/Extra/DSDT.aml). + DropSSDT=Yes Skip the SSDT tables while relocating the ACPI tables. + DSDT= Use an alternate DSDT.aml file + (default paths: /DSDT.aml /Extra/DSDT.aml bt(0,0)/Extra/DSDT.aml). - GenerateCStates=Yes Enable auto generation of processor idle sleep states - (C-States). - GeneratePStates=Yes Enable auto generation of processor power performance - states (P-States). - CSTUsingSystemIO=Yes New C-State _CST generation method using SystemIO - registers instead of FixedHW. + GenerateCStates=Yes Enable auto generation of processor idle sleep states (C-States). + GeneratePStates=Yes Enable auto generation of processor power performance states (P-States). + CSTUsingSystemIO=Yes New C-State _CST generation method using SystemIO registers instead of FixedHW. EnableC2State=Yes Enable specific Processor power state, C2. EnableC3State=Yes Enable specific Processor power state, C3. @@ -141,22 +128,21 @@ ForceFullMemInfo=Yes Force SMBIOS Table 17 to be 27 bytes long (disabled by default). - SMBIOS= Use an alternate SMBIOS.plist file + SMBIOS= Use an alternate SMBIOS.plist file (default path: /smbios.plist /Extra/smbios.plist bt(0,0)/Extra/smbios.plist). - SMBIOSdefaults=No Don't use the Default values for SMBIOS overriding - if smbios.plist doesn't exist, factory - values are kept. + SMBIOSdefaults=No Don't use the Default values for SMBIOS overriding if smbios.plist doesn't exist, + factory values are kept. - "Scan Single Drive" Scan the drive only where the booter got loaded from. + "Scan Single Drive" Scan the drive only where the booter got loaded from. =Yes|No Fix rescan issues when using a DVD reader in AHCI mode. - Rescan=Yes Enable CD-ROM rescan mode. - "Rescan Prompt"=Yes Prompts for enable CD-ROM rescan mode. + Rescan=Yes Enable CD-ROM rescan mode. + "Rescan Prompt"=Yes Prompts for enable CD-ROM rescan mode. SystemId= Set the system id manually to UUID. - Deprecated - Now SMsystemuuid in smbios.plist + Deprecated - Now SMsystemuuid in smbios.plist SMUUID in smbios config (reserved field) isn't used then. SystemType= Set the system type to n, where n is between 0..6 - (default=1 Desktop) + (default=1 Desktop) md0= Load raw img file into memory for use as XNU's md0 ramdisk. /Extra/Postboot.img is used otherwise. Index: branches/Chimera/Make.rules =================================================================== --- branches/Chimera/Make.rules (revision 2393) +++ branches/Chimera/Make.rules (revision 2394) @@ -17,8 +17,8 @@ NASM = $(shell which nasm) -p $(SRCROOT)/autoconf.inc -CFLAGS = $(CONFIG_OPTIMIZATION_LEVEL) -g -Wmost -Werror -CPPFLAGS = $(MORECPP) -g -Wmost -Werror -fno-exceptions -fno-rtti +CFLAGS = $(CONFIG_OPTIMIZATION_LEVEL) -g -Wmost -Werror -Wno-unused-function +CPPFLAGS = $(MORECPP) -g -Wmost -Werror -fno-exceptions -fno-rtti -ffreestanding DEFINES= DIST_SUBDIRS += $(SUBDIRS)