Results 1 to 3 of 3
Discuss System Clock running fast from wrong FSB? <Fix'd here! at the Installation - Hackint0sh.org; Hi, I have a solution for fast tick rates on system clocks running a p55 ...
  1. #1
    Newbie Array

    Join Date
    Jun 2010
    Posts
    2
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    0

    Cool System Clock running fast from wrong FSB? <Fix'd here!

    Hi,

    I have a solution for fast tick rates on system clocks running a p55 chipset (core "i" series processor).

    I am running a Acer Aspire 5740 Hackintosh with a core i5 430m processor

    The issue is caused by an incorrectly set Front Side Bus Frequency.


    Step 0(Prerequisites & Setup))

    Requirements:

    -A p55 PC running OS X Snow Leopard
    -Chameleon RC4 Binaries *Installed
    -Chameleon RC4 Source Code
    -XCode
    -Knowledge of Coding (This isn't a tutorial for newbies)
    -Knowledge of Chameleon (You must know how to boot your PC and setup your bootloader)
    -Basic knowledge of mac os x and unix command line (this isn't a tutorial for newbies)

    *and working

    (Setup)
    Navigate to <root of chameleon source>/i386/libsaio/

    Find the files "freq_detect.h, and freq_detect.c"

    In freq_detect.c you will find a function named calculate_freq() this function determines your FSB frequency based off your processor's TSC frequency and Core Multiplier, problem is, it has no support for our processors...

    STEP 1)

    First thing you need to do is enable freq_detect's debug mode by modifying the header

    On line 10 of freq_detect.h change:

    Code:
    #define DEBUG_FREQ 0
    to:

    Code:
    #define DEBUG_FREQ 1
    STEP 2)

    Build the project as you normally would, by navigating to the root folder of the source code in a terminal and using the make command

    After this you can replace the built binarys in your current build of chameleon

    STEP 3)

    Upon startup a prompt will tell you your CPU's model family and extended family numbers, write these down, if you already know them you may skip this part.
    <Press Any Key>
    After you write them down the test will run to calculate your FSB frequency, it will fail to find the Core Multiplier, and set the FSB to 100MHz, Causing our issues with tick rate among other things.
    <Press Enter to continue>

    STEP 4)

    >WARNING< This is for Core "i" series processors ONLY:

    Once you have found your CPU's Model Number and Family number, you can then modify our calculate_freq() function to find the correct multiplier.

    In the function you will find that it has support for nehalem model CPUs:

    Find this:
    Code:
    /* Nehalem CPU model */
    if (cpu_family == 0x06 && (cpu_model == 0x1a || cpu_model == 0x1e))
    {
    	msr = rdmsr64(MSR_PLATFORM_INFO);
    	currcoef = (msr >> 8) & 0xff;
    	msr = rdmsr64(MSR_FLEX_RATIO);
    	if ((msr >> 16) & 0x01)
    	{
    		flex_ratio = (msr >> 8) & 0xff;
    		if (currcoef > flex_ratio)
    			currcoef = flex_ratio;
    	}
    	
    	if (currcoef)
    	{
    		DBG("%d\n", currcoef);
    		fsbFrequency = (tscFrequency / currcoef);
    	}
    	cpuFrequency = tscFrequency;
    }
    well suprisingly, they are similar to our "i" series processors, they have turbo boost, hyper threading etc. And we are only trying to find the multiplier to calculate the correct FSB frequency...

    To do this you need only add the hexadecimal value of your processor's model number to this function, for example, my CPU:

    Model 37 Family 6

    37 in hex is 25 so I modified my function to:

    Replace '0x25' with your CPU's Model Number value in hexadecimal:
    Code:
    /* Nehalem CPU model */
    if (cpu_family == 0x06 && (cpu_model == 0x1a || cpu_model == 0x1e || cpu_model == 0x25))
    {
    	msr = rdmsr64(MSR_PLATFORM_INFO);
    	currcoef = (msr >> 8) & 0xff;
    	msr = rdmsr64(MSR_FLEX_RATIO);
    	if ((msr >> 16) & 0x01)
    	{
    		flex_ratio = (msr >> 8) & 0xff;
    		if (currcoef > flex_ratio)
    			currcoef = flex_ratio;
    	}
    	
    	if (currcoef)
    	{
    		DBG("%d\n", currcoef);
    		fsbFrequency = (tscFrequency / currcoef);
    	}
    	cpuFrequency = tscFrequency;
    }
    Then build your project, (DO NOT DISABLE DEBUG MODE TO BE SURE YOU GET THE DESIRED EFFECT)

    I booted my computer up and debug mode reported that my processor had a multiplier of 17 and FSB of 133MHz

    You may disable debug mode, rebuild and never touch the source code again


    Please post all results here, I will form a list of confirmed CPUs here as you report them working or not.



    Confirmed CPUs:
    * Core i5 430m (Mobile)

    Last edited by JBud; 06-06-2010 at 03:33 AM.



  2. #2
    Newbie Array

    Join Date
    Jul 2010
    Posts
    1
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    0

    Default

    Quote Originally Posted by JBud View Post
    Hi,

    I have a solution for fast tick rates on system clocks running a p55 chipset (core "i" series processor).

    I am running a Acer Aspire 5740 Hackintosh with a core i5 430m processor

    The issue is caused by an incorrectly set Front Side Bus Frequency.


    Step 0(Prerequisites & Setup))

    Requirements:

    -A p55 PC running OS X Snow Leopard
    -Chameleon RC4 Binaries *Installed
    -Chameleon RC4 Source Code
    -XCode
    -Knowledge of Coding (This isn't a tutorial for newbies)
    -Knowledge of Chameleon (You must know how to boot your PC and setup your bootloader)
    -Basic knowledge of mac os x and unix command line (this isn't a tutorial for newbies)

    *and working

    (Setup)
    Navigate to <root of chameleon source>/i386/libsaio/

    Find the files "freq_detect.h, and freq_detect.c"

    In freq_detect.c you will find a function named calculate_freq() this function determines your FSB frequency based off your processor's TSC frequency and Core Multiplier, problem is, it has no support for our processors...

    STEP 1)

    First thing you need to do is enable freq_detect's debug mode by modifying the header

    On line 10 of freq_detect.h change:

    Code:
    #define DEBUG_FREQ 0
    to:

    Code:
    #define DEBUG_FREQ 1
    STEP 2)

    Build the project as you normally would, by navigating to the root folder of the source code in a terminal and using the make command

    After this you can replace the built binarys in your current build of chameleon

    STEP 3)

    Upon startup a prompt will tell you your CPU's model family and extended family numbers, write these down, if you already know them you may skip this part.
    <Press Any Key>
    After you write them down the test will run to calculate your FSB frequency, it will fail to find the Core Multiplier, and set the FSB to 100MHz, Causing our issues with tick rate among other things.
    <Press Enter to continue>

    STEP 4)

    >WARNING< This is for Core "i" series processors ONLY:

    Once you have found your CPU's Model Number and Family number, you can then modify our calculate_freq() function to find the correct multiplier.

    In the function you will find that it has support for nehalem model CPUs:

    Find this:
    Code:
    /* Nehalem CPU model */
    if (cpu_family == 0x06 && (cpu_model == 0x1a || cpu_model == 0x1e))
    {
    	msr = rdmsr64(MSR_PLATFORM_INFO);
    	currcoef = (msr >> 8) & 0xff;
    	msr = rdmsr64(MSR_FLEX_RATIO);
    	if ((msr >> 16) & 0x01)
    	{
    		flex_ratio = (msr >> 8) & 0xff;
    		if (currcoef > flex_ratio)
    			currcoef = flex_ratio;
    	}
    	
    	if (currcoef)
    	{
    		DBG("%d\n", currcoef);
    		fsbFrequency = (tscFrequency / currcoef);
    	}
    	cpuFrequency = tscFrequency;
    }
    well suprisingly, they are similar to our "i" series processors, they have turbo boost, hyper threading etc. And we are only trying to find the multiplier to calculate the correct FSB frequency...

    To do this you need only add the hexadecimal value of your processor's model number to this function, for example, my CPU:

    Model 37 Family 6

    37 in hex is 25 so I modified my function to:

    Replace '0x25' with your CPU's Model Number value in hexadecimal:
    Code:
    /* Nehalem CPU model */
    if (cpu_family == 0x06 && (cpu_model == 0x1a || cpu_model == 0x1e || cpu_model == 0x25))
    {
    	msr = rdmsr64(MSR_PLATFORM_INFO);
    	currcoef = (msr >> 8) & 0xff;
    	msr = rdmsr64(MSR_FLEX_RATIO);
    	if ((msr >> 16) & 0x01)
    	{
    		flex_ratio = (msr >> 8) & 0xff;
    		if (currcoef > flex_ratio)
    			currcoef = flex_ratio;
    	}
    	
    	if (currcoef)
    	{
    		DBG("%d\n", currcoef);
    		fsbFrequency = (tscFrequency / currcoef);
    	}
    	cpuFrequency = tscFrequency;
    }
    Then build your project, (DO NOT DISABLE DEBUG MODE TO BE SURE YOU GET THE DESIRED EFFECT)

    I booted my computer up and debug mode reported that my processor had a multiplier of 17 and FSB of 133MHz

    You may disable debug mode, rebuild and never touch the source code again


    Please post all results here, I will form a list of confirmed CPUs here as you report them working or not.



    Confirmed CPUs:
    * Core i5 430m (Mobile)

    I've not the faintest clue on how to compile something, but i do understand this issue. I have the i5 650 (bus ratio 24 x 133.33)... it's speeding up quite a bit!

    Is there any way i could get you to precompile one for me?
    You would be doing me a huge favour and i fear there isn't much of a way for me to repay you

  3. #3
    Newbie Array

    Join Date
    Feb 2011
    Posts
    1
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    0

    Default HP Probook 4720s core i5

    Hi,

    I have a Probook 4720s with core i5 480M

    Do you have an Idea how it could be with my multiplyer? After the install it keeps restarting...only with a nawcom boot CD and a busratio=18 I can go on. So it should be 18, right?

    Thank you very much

    Jorge

 

 

Similar Threads

  1. System clock and A/V run too fast i7 860 10.6.2
    By Bansaku in forum Installation
    Replies: 4
    Last Post: 06-06-2010, 02:23 AM
  2. My System Clock is running FAST!
    By systemclock in forum Using Snow Leopard
    Replies: 0
    Last Post: 01-29-2010, 01:02 AM
  3. Replies: 0
    Last Post: 01-28-2009, 10:31 PM
  4. [2.2][2G]IntelliScreen 2.32 show wrong timing clock
    By RYU81 in forum Free Toolchain Software (Cydia App's)
    Replies: 1
    Last Post: 12-09-2008, 09:12 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Powered by vBulletin®
Copyright © 2014 vBulletin Solutions, Inc. All rights reserved.
Search Engine Friendly URLs by vBSEO
(c) 2006-2012 Hackint0sh.org
All times are GMT +2. The time now is 06:40 AM.
twitter, follow us!