Index: branches/slice/trunkM/i386/libsaio/ati.c =================================================================== --- branches/slice/trunkM/i386/libsaio/ati.c (revision 1278) +++ branches/slice/trunkM/i386/libsaio/ati.c (revision 1279) @@ -256,9 +256,11 @@ { 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 }, - // Akbar - { 0x9480, 0x3628103C, CHIP_FAMILY_RV730,/*M96*/"ATI Radeon HD 4650M", kShrike }, // hp OK + { 0x9480, 0x3628103C, CHIP_FAMILY_RV730, "ATI Radeon HD 4650M", kGliff }, + { 0x9480, 0x9035104D, CHIP_FAMILY_RV730, "ATI Radeon HD 4650M", kGliff }, + + { 0x9490, 0x20031787, CHIP_FAMILY_RV730, "ATI Radeon HD 4670", kFlicker }, { 0x9490, 0x30501787, CHIP_FAMILY_RV730, "ATI Radeon HD 4710", kNull }, { 0x9490, 0x4710174B, CHIP_FAMILY_RV730, "ATI Radeon HD 4710", kNull }, { 0x9490, 0x300017AF, CHIP_FAMILY_RV730, "ATI Radeon HD 4710", kNull }, @@ -357,6 +359,9 @@ { 0x9552, 0x300017AF, CHIP_FAMILY_RV710, "ATI Radeon HD 4300/4500 Series", kNull }, { 0x9552, 0x04341028, CHIP_FAMILY_RV710, "ATI Mobility Radeon 4330", kShrike }, + { 0x9553, 0x18751043, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4570", kShrike }, + { 0x9553, 0x1B321043, CHIP_FAMILY_RV710, "ATI Mobility Radeon HD 4570", kShrike }, + { 0x9581, 0x95811002, CHIP_FAMILY_RV630, "ATI Radeon HD 3600 Series", kNull }, { 0x9581, 0x3000148C, CHIP_FAMILY_RV630, "ATI Radeon HD 3600 Series", kNull }, @@ -425,6 +430,8 @@ { 0x689C, 0x039E1043, CHIP_FAMILY_HEMLOCK, "ASUS EAH5870 Series", kUakari }, { 0x689C, 0x30201682, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5970", kUakari }, + { 0x68A8, 0x050E1025, CHIP_FAMILY_CYPRESS, "AMD Radeon HD 6850M", kUakari }, // issue #89 + { 0x68B8, 0xE147174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, { 0x68B8, 0x21D71458, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, { 0x68B8, 0x1482174B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, @@ -434,6 +441,12 @@ { 0x68B8, 0x22881787, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kVervet }, { 0x68B8, 0x00CF106B, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770", kHoolock }, + { 0x68C0, 0x1594103C, CHIP_FAMILY_REDWOOD, "AMD Radeon HD 6570M", kNull }, // issue #91 + //Azi: from Slice { 0x100268C0, "ATI Radeon 5670 Series", "Galago"} + // http://www.insanelymac.com/forum/index.php?s=&showtopic=255866&view=findpost&p=1695482 + + { 0x68C1, 0x033E1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, + { 0x68D8, 0x301117AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5690", kNull }, { 0x68D8, 0x301017AF, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5730", kNull }, { 0x68D8, 0x30001787, CHIP_FAMILY_REDWOOD, "ATI Radeon HD 5730", kNull }, @@ -470,6 +483,10 @@ { 0x6739, 0x67391002, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, { 0x6739, 0x21F81458, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6741, 0x050E1025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, // issue 121 + { 0x6741, 0x05131025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, // Nai22 + { 0x6741, 0x1646103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6750M", kNull }, // issue 88 + { 0x6759, 0xE193174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570", kNull }, // dickhouse { 0x6760, 0x1CB21043, CHIP_FAMILY_RV730, "AMD Radeon HD 6470M", kNull }, @@ -551,6 +568,8 @@ { 0x6739, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850 Series", kDuckweed }, { 0x673E, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790 Series", kNull }, + { 0x6741, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6600M/6700M Series", kNull }, + { 0x6758, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670 Series", kNull }, { 0x6759, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6500 Series", kNull }, { 0x6760, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6600 Series", kNull }, @@ -1141,10 +1160,11 @@ static bool init_card(pci_dt_t *pci_dev) { + bool add_vbios = true; char name[24]; char name_parent[24]; int i; - bool add_vbios = true; + int n_ports = 0; card = malloc(sizeof(card_t)); if (!card) @@ -1221,11 +1241,16 @@ card->ports = card_configs[i].ports; } - //Azi: http://forum.voodooprojects.org/index.php/topic,1959.msg10402.html#msg10402 - // get around this... - if (pci_dev->device_id == 0x9552 && pci_dev->subsys_id.subsys_id == 0x04341028 ) - card->ports = 2; + if (card->info->chip_family >= CHIP_FAMILY_CEDAR) + { + card->flags |= EVERGREEN; + card->ports = 3; //Azi: not sure of the usefulness ?? + } + getIntForKey(kAtiPorts, &n_ports, &bootInfo->bootConfig); + if (n_ports > 0) + card->ports = n_ports; + sprintf(name, "ATY,%s", card->cfg_name); aty_name.type = kStr; aty_name.size = strlen(name) + 1; Index: branches/slice/trunkM/i386/libsaio/platform.c =================================================================== --- branches/slice/trunkM/i386/libsaio/platform.c (revision 1278) +++ branches/slice/trunkM/i386/libsaio/platform.c (revision 1279) @@ -68,7 +68,7 @@ // gBootOrder = (void*)BootOrder; build_pci_dt(); - verbose("1:Platform=%x root_pci=%x\n", gPlatform, gRootPCIDev); + //verbose("1:Platform=%x root_pci=%x\n", gPlatform, gRootPCIDev); scan_cpu(Platform); //scan_mem(); Rek: called after pci devs init in fake_efi now ... } Index: branches/slice/trunkM/i386/libsaio/cpu.c =================================================================== --- branches/slice/trunkM/i386/libsaio/cpu.c (revision 1278) +++ branches/slice/trunkM/i386/libsaio/cpu.c (revision 1279) @@ -311,18 +311,6 @@ p->CPU.BrandString[0] = '\0'; } } -#if DEBUG_CPU - { - int i; - DBG("CPUID Raw Values:\n"); - for (i=0; iCPU.CPUID[i][0], p->CPU.CPUID[i][1], - p->CPU.CPUID[i][2], p->CPU.CPUID[i][3]); - } - } - getchar(); -#endif /* setup features */ if ((bit(23) & p->CPU.CPUID[CPUID_1][3]) != 0) { @@ -376,7 +364,8 @@ (msr >> 32) & 0xffffffff, msr & 0xffffffff); bus_ratio_max = bitfield(msr, 14, 8); bus_ratio_min = bitfield(msr, 46, 40); //valv: not sure about this one (Remarq.1) - msr = rdmsr64(MSR_FLEX_RATIO); + // msr = rdmsr64(MSR_FLEX_RATIO); + msr = 0; DBG("msr(0x%04x): flex_ratio %08x\n", MSR_FLEX_RATIO, msr & 0xffffffff); if ((msr >> 16) & 0x01) { flex_ratio = bitfield(msr, 14, 8); @@ -472,10 +461,10 @@ } } /* Mobile CPU ? */ -//Slice -#if DEBUG_CPU +//Slice - no more needed +#if 0 // DEBUG_CPU pause(); -#endif + msr = rdmsr64(MSR_IA32_PLATFORM_ID); @@ -578,6 +567,7 @@ } if(!cpuFrequency) cpuFrequency = tscFrequency; } +#endif p->CPU.MaxCoef = maxcoef; p->CPU.MaxDiv = maxdiv; p->CPU.CurrCoef = currcoef; Index: branches/slice/trunkM/i386/libsaio/disk.c =================================================================== --- branches/slice/trunkM/i386/libsaio/disk.c (revision 1278) +++ branches/slice/trunkM/i386/libsaio/disk.c (revision 1279) @@ -1648,9 +1648,9 @@ #if DEBUG //Azi: warning - too big for boot-log.. far too big.. i mean HUGE!! :P for (bvr = chain; bvr; bvr = bvr->next) { - printf(" bvr: %d, dev: %d, part: %d, flags: %d, vis: %d\n", bvr, bvr->biosdev, bvr->part_no, bvr->flags, bvr->visible); + verbose(" bvr: %d, dev: %d, part: %d, flags: %d, vis: %d\n", bvr, bvr->biosdev, bvr->part_no, bvr->flags, bvr->visible); } - printf("count: %d\n", bvCount); + verbose("count: %d\n", bvCount); // getchar(); #endif Index: branches/slice/trunkM/i386/libsaio/smbios_getters.c =================================================================== --- branches/slice/trunkM/i386/libsaio/smbios_getters.c (revision 1278) +++ branches/slice/trunkM/i386/libsaio/smbios_getters.c (revision 1279) @@ -219,9 +219,10 @@ bool getSMBMemoryDeviceMemorySpeed(returnType *value) { - static int idx = -1; +//Slice - do not use SPD value for memory speed. DMI has real value. +return false; +/* static int idx = -1; int map; - idx++; if (idx < MAX_RAM_SLOTS) { @@ -234,7 +235,7 @@ } } - return false; + return false; */ // value->dword = 800; // return true; } Index: branches/slice/trunkM/i386/boot2/boot.c =================================================================== --- branches/slice/trunkM/i386/boot2/boot.c (revision 1278) +++ branches/slice/trunkM/i386/boot2/boot.c (revision 1279) @@ -488,7 +488,9 @@ break; if (!forceresume && ((sleeptime+3)modTime)) { +#if DEBUG printf ("Hibernate image is too old by %d seconds. Use ForceWake=y to override\n",bvr->modTime-sleeptime); +#endif break; } @@ -614,15 +616,15 @@ bootFile = bootInfo->bootFile; // Try to load kernel image from alternate locations on boot helper partitions. - sprintf(bootFileSpec, "com.apple.boot.P/%s", bootFile); + sprintf(bootFileSpec, "com.apple.boot.P%s", bootFile); ret = GetFileInfo(NULL, bootFileSpec, &flags, &time); if (ret == -1) { - sprintf(bootFileSpec, "com.apple.boot.R/%s", bootFile); + sprintf(bootFileSpec, "com.apple.boot.R%s", bootFile); ret = GetFileInfo(NULL, bootFileSpec, &flags, &time); if (ret == -1) { - sprintf(bootFileSpec, "com.apple.boot.S/%s", bootFile); + sprintf(bootFileSpec, "com.apple.boot.S%s", bootFile); ret = GetFileInfo(NULL, bootFileSpec, &flags, &time); if (ret == -1) { Index: branches/slice/trunkM/i386/boot2/boot.h =================================================================== --- branches/slice/trunkM/i386/boot2/boot.h (revision 1278) +++ branches/slice/trunkM/i386/boot2/boot.h (revision 1279) @@ -108,6 +108,7 @@ #define kUseAtiROM "UseAtiROM" /* ati.c */ #define kAtiConfig "AtiConfig" /* ati.c */ +#define kAtiPorts "AtiPorts" /* ati.c */ #define kATYbinimage "ATYbinimage" /* ati.c */ #define kUseNvidiaROM "UseNvidiaROM" /* nvidia.c */ Index: branches/slice/trunkM/i386/modules/Makefile =================================================================== --- branches/slice/trunkM/i386/modules/Makefile (revision 1278) +++ branches/slice/trunkM/i386/modules/Makefile (revision 1279) @@ -11,7 +11,7 @@ include ${SRCROOT}/Make.rules # The order of building is important. -SUBDIRS = klibc uClibcxx Resolution KernelPatcher NVRAM +SUBDIRS = klibc uClibcxx Resolution KernelPatcher NVRAM HelloWorld #HelloWorld Memory NetbookInstaller KextPatcher Networking HPET USBFix RamDiskLoader Index: branches/slice/trunkM/revision =================================================================== --- branches/slice/trunkM/revision (revision 1278) +++ branches/slice/trunkM/revision (revision 1279) @@ -1 +1 @@ -1227 \ No newline at end of file +1227:1230 \ No newline at end of file