Index: branches/ErmaC/Trunk/i386/libsaio/nvidia.c =================================================================== --- branches/ErmaC/Trunk/i386/libsaio/nvidia.c (revision 1903) +++ branches/ErmaC/Trunk/i386/libsaio/nvidia.c (revision 1904) @@ -79,10 +79,7 @@ const char *nvidia_device_type_0[] = { "@0,device_type", "display" }; const char *nvidia_device_type_1[] = { "@1,device_type", "display" }; const char *nvidia_device_type[] = { "device_type", "NVDA,Parent" }; -/* - TODO: http://forge.voodooprojects.org/p/chameleon/issues/193/ - const char *nvidia_device_type[] = { "device_type", "NVDA,Child" }; - */ +const char *nvidia_device_type_child[] = { "device_type", "NVDA,Child" }; const char *nvidia_name_0[] = { "@0,name", "NVDA,Display-A" }; const char *nvidia_name_1[] = { "@1,name", "NVDA,Display-B" }; const char *nvidia_slot_name[] = { "AAPL,slot-name", "Slot-1" }; @@ -1287,8 +1284,16 @@ return 0; if (!DP_ADD_TEMP_VAL(device, nvidia_name_1)) return 0; - if (!DP_ADD_TEMP_VAL(device, nvidia_device_type)) - return 0; + if (devices_number == 1) + { + if (!DP_ADD_TEMP_VAL(device, nvidia_device_type)) + return 0; + } + else + { + if (!DP_ADD_TEMP_VAL(device, nvidia_device_type_child)) + return 0; + } // Rek : Dont use sprintf return, it does not WORK !! our custom sprintf() always return 0! // len = sprintf(tmp, "Slot-%x", devices_number); @@ -1502,13 +1507,16 @@ /* FIXME: for primary graphics card only */ boot_display = 1; - devprop_add_value(device, "@0,AAPL,boot-display", (uint8_t*)&boot_display, 4); + if (devices_number == 1) + { + devprop_add_value(device, "@0,AAPL,boot-display", (uint8_t*)&boot_display, 4); + } if (nvPatch == PATCH_ROM_SUCCESS_HAS_LVDS) { uint8_t built_in = 0x01; devprop_add_value(device, "@0,built-in", &built_in, 1); } - + // get bios version const int MAX_BIOS_VERSION_LENGTH = 32; char* version_str = (char*)malloc(MAX_BIOS_VERSION_LENGTH); Index: branches/ErmaC/Trunk/i386/libsaio/ati.c =================================================================== --- branches/ErmaC/Trunk/i386/libsaio/ati.c (revision 1903) +++ branches/ErmaC/Trunk/i386/libsaio/ati.c (revision 1904) @@ -268,9 +268,22 @@ { 0x944E, 0x30001787, CHIP_FAMILY_RV770, "ATI Radeon HD 4730 Series", kMotmot }, { 0x944E, 0x30101787, CHIP_FAMILY_RV770, "ATI Radeon HD 4810 Series", kMotmot }, { 0x944E, 0x31001787, CHIP_FAMILY_RV770, "ATI Radeon HD 4820", kMotmot }, - + + { 0x9480, 0x01211025, 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", kNull }, + { 0x9480, 0xFDD01179, CHIP_FAMILY_RV730, "ATI Radeon HD 4650M", kNull }, + { 0x9480, 0xFD121179, CHIP_FAMILY_RV730, "ATI Radeon HD 4650M", kNull }, + { 0x9480, 0xFD501179, CHIP_FAMILY_RV730, "ATI Radeon HD 4650M", kNull }, + { 0x9480, 0xFF001179, CHIP_FAMILY_RV730, "ATI Radeon HD 4600M", kNull }, + { 0x9480, 0xFF151179, CHIP_FAMILY_RV730, "ATI Radeon HD 4600M", kNull }, + { 0x9480, 0xFF221179, CHIP_FAMILY_RV730, "ATI Radeon HD 4600M", kNull }, + { 0x9480, 0xFF501179, CHIP_FAMILY_RV730, "ATI Radeon HD 4600M", kNull }, + { 0x9480, 0xFF801179, CHIP_FAMILY_RV730, "ATI Radeon HD 4600M", kNull }, + { 0x9480, 0xFF821179, CHIP_FAMILY_RV730, "ATI Radeon HD 5165M", kNull }, + { 0x9480, 0xFFA01179, CHIP_FAMILY_RV730, "ATI Radeon HD 4600M", kNull }, + { 0x9480, 0xFFA21179, CHIP_FAMILY_RV730, "ATI Radeon HD 5165M", kNull }, { 0x9490, 0x4710174B, CHIP_FAMILY_RV730, "ATI Radeon HD 4710", kNull }, { 0x9490, 0x20031787, CHIP_FAMILY_RV730, "ATI Radeon HD 4670", kFlicker }, @@ -369,10 +382,38 @@ { 0x9553, 0x18751043, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4570", kShrike }, { 0x9553, 0x1B321043, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4570", kShrike }, + { 0x9553, 0xFD001179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 5145", kNull }, + { 0x9553, 0xFD121179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 5145", kNull }, + { 0x9553, 0xFD501179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 5145", kNull }, + { 0x9553, 0xFD921179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 5145", kNull }, + { 0x9553, 0xFDD01179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 5145", kNull }, + { 0x9553, 0xFF001179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kNull }, + { 0x9553, 0xFF151179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kNull }, + { 0x9553, 0xFF161179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 5145", kNull }, + { 0x9553, 0xFF221179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kNull }, + { 0x9553, 0xFF401179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kNull }, + { 0x9553, 0xFF501179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kNull }, + { 0x9553, 0xFF801179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kNull }, + { 0x9553, 0xFF821179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 5145", kNull }, + { 0x9553, 0xFFA01179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 5145", kNull }, + { 0x9553, 0xFFA21179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kNull }, + { 0x9553, 0xFFC01179, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4500", kNull }, + + { 0x9581, 0x011F1025, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Series", kNull }, + { 0x9581, 0x0562107B, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Series", kNull }, + { 0x9581, 0x15621043, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Series", kNull }, + { 0x9581, 0x3000148C, CHIP_FAMILY_RV630, "ATI Radeon HD 3600 Series", kNull }, + { 0x9581, 0x30C5103C, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Series", kNull }, + { 0x9581, 0x3C2D17AA, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Series", kNull }, + { 0x9581, 0x63F61462, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Series", kNull }, { 0x9581, 0x95811002, CHIP_FAMILY_RV630, "ATI Radeon HD 3600 Series", kNull }, - { 0x9581, 0x3000148C, CHIP_FAMILY_RV630, "ATI Radeon HD 3600 Series", kNull }, + { 0x9581, 0xFF001179, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Series", kNull }, + { 0x9581, 0xFF011179, CHIP_FAMILY_RV630, "ATI Radeon HD 2600 Series", 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 Series", kNull }, + { 0x9583, 0x30D4103C, CHIP_FAMILY_RV630, "ATI Mobility Radeon HD 2600 XT", kNull }, { 0x9588, 0x01021A93, CHIP_FAMILY_RV630, "Qimonda Radeon HD 2600 XT", kNull }, @@ -438,8 +479,18 @@ { 0x689C, 0x30201682, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5970", kUakari }, + { 0x68A0, 0x03081025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5830", kNomascus }, + { 0x68A0, 0x030A1025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5830", kNomascus }, { 0x68A0, 0x043A1028, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5870", kNomascus }, + { 0x68A1, 0x03081025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kNull }, + { 0x68A1, 0x030A1025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kNull }, + { 0x68A1, 0x03671025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kNull }, + { 0x68A1, 0x03681025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kNull }, + { 0x68A1, 0x038B1025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kNull }, + { 0x68A1, 0x038C1025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kNull }, + { 0x68A1, 0x042E1025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kNull }, + { 0x68A1, 0x042F1025, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kNull }, { 0x68A1, 0x144D103C, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kNomascus }, { 0x68A1, 0x1522103C, CHIP_FAMILY_CYPRESS, "ATI Mobility Radeon HD 5850", kHoolock }, @@ -487,10 +538,18 @@ { 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, 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 }, @@ -510,13 +569,30 @@ { 0x68DA, 0x30001787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5630", kNull }, { 0x68DA, 0x301017AF, 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, 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, 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, 0x1426103C, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5430M", 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, 0x84A01043, CHIP_FAMILY_CEDAR, "AMD Radeon HD 6370M", kNull }, { 0x68F9, 0x010E1002, CHIP_FAMILY_CEDAR, "ATI Radeon HD 5450", kEulemur }, { 0x68F9, 0x03741043, CHIP_FAMILY_CEDAR, "ASUS EAH5450", kEulemur },