Jump to content

AnVAL (ACPI Loader)


valv
 Share

1,538 posts in this topic

Recommended Posts

@kizwan, ok that's fine (unless u were only replacing the boot file and not all the goodies that came in this revision). I'll be posting one file this evening.

Link to comment
Share on other sites

@00Diabolic ~~

Next, i'd suggest you omit the fsb key altogether from boot.plist, reboot and give it as an argument at the prompt.

btw, been looking for SuperHai's code, and found Eureka's contribution (dating from the 28 appleSMBIOS). the interesting part of his code (regarding fsb) is this one

void AppleSMBIOSEFI::
[color="#483d8b"]processSMBIOSStructure( const SMBProcessorInformation * cpu,
                       SMBPackedStrings * strings )
{[/color]
[color="#008080"]	UInt64	frequency = 0;

if (fDMIMemoryMap)
{
IORegistryEntry * efiNode = fromPath("/efi/platform", gIODTPlane);
if(efiNode)
{
	OSData * FSBFrequency = OSDynamicCast(OSData, efiNode->getProperty("FSBFrequency"));
	if (FSBFrequency)
	{
		frequency = *(UInt64 *) FSBFrequency->getBytesNoCopy();
		frequency += (500ULL * 1000ULL);
		frequency /= (1000ULL * 1000ULL);
	}
	efiNode->release();
}
}
[/color]
[color="#483d8b"]    if (cpu->header.length < 26)
       return;[/color]

But again this reflects to appleSMBIOS.cpp from 28. and since apple made lot of changes to actual 39. It could be time (I actually don't have) consuming. Hope this helps u further. If not, then I'll be helping...later

 

mmm.. I took out the flag and also removed the SMexternalclock value from the smbios.plist. Its only superficial as I understand it. After doing that now about this mac shows 738 fsb but the system speed is the same as expected.

 

I found out since i have the vanilla kernel I cant use any of the kernel flags. So my options are switch to a modded kernel or find another solution. I dont want to switch kernels. So I am trying a solution called cpumhzfix.kext.

 

It allows you to use the fsb flag with vanilla kernel but only in 32bit. Again Id rather have the boot loader fix this but this will do till that fix is available/found.

 

I also found this http://www.hackint0sh.org/f152/138168.htm

but this fix involves compiling my own chameleon which I have no idea how to do.

 

Is there a way of fixing a bad FSB through the DSDT?

 

Hope you can help!! Thanks for the info so far. If you have any other ideas.. I'm open to trying anything to fix this.....

Link to comment
Share on other sites

@00Diabolic ~~,

those guyz are using an core i5 processor, which u don't have (T9300). I could recompile a bootloader with the fix from there, but I'll be needing your CPU's Model Number and Family number. Not sure how it'd fix your issue though.

Like Azimutz told u in the other place, your best bet is a non vanilla kernel.

 

edit: do u confirm these ?

model: 23

family: 6

Link to comment
Share on other sites

@kizwan,

please try adding RestartFix to your boot.plist if not already there, and give it a Yes.

sorry, the idea I've got was a false positive ( so to say :) ).

btw, u can always drop a copy of fadt on /Extra/ . U could also give the one below a try

boot.zip

@all others

pay attention this one is meant for kizwan needs only. don't try it, cuz' his needs aren't yours..or maybe yes :queen:

 

@00Diabolic ~~,

this one is for u, I've applied the fix from the i5 ppl with your model number, not sure how it'd work though.

boot.zip

Link to comment
Share on other sites

@00Diabolic ~~,

this one is for u, I've applied the fix from the i5 ppl with your model number, not sure how it'd work though.

boot.zip

 

 

Thank you SOoooooo Much!!!!!!! I really appreciate the time you have put in to help me

 

Ill give this a try. Yeah you got my CPU info right.

 

:-)

 

Update.. That certainly did something. Now my FSB is 1300mhz. Of course it feels slower then that.

 

I've tried a few reboots with it like this and added back in the SMexternalclock into smbios.plist. Just like I predicted its just superficial as the system is exactly the same as it was but now geekbench, about this mac and most other parts of OSX say 800mhz when its really not that speed.

 

This certainly is a close fix, since it made a real change to my system. Is there any info I can provide to get it to 200mhz or trick it to 200mhz?

 

Hope this is not to hard. I really appreciate your help.

Link to comment
Share on other sites

@kizwan,

please try adding RestartFix to your boot.plist if not already there, and give it a Yes.

sorry, the idea I've got was a false positive ( so to say :D ).

btw, u can always drop a copy of fadt on /Extra/ . U could also give the one below a try

boot.zip

.....................

Thanks valv. :D I will try & report the result a.s.a.p.

Link to comment
Share on other sites

Update.. That certainly did something. Now my FSB is 1300mhz. Of course it feels slower then that.

....

but now geekbench, about this mac and most other parts of OSX say 800mhz when its really not that speed.

...

Is there any info I can provide to get it to 200mhz or trick it to 200mhz?

...

am I missing something I did not understand? :blink:

wait a minute, from where did u get 1300Mhz? bios? u need to explain better if u want ppl to be interested to help.

btw, if u are getting 800Mhz, why do u pertain to get 200Mhz instead. let wikipedia further explain (or maybe u knew that already):

"Many manufacturers publish the speed of the FSB in MHz, but often do not use the actual physical clock frequency but the theoretical effective data rate (which is commonly called megatransfers per second or MT/s). This is because the actual speed is determined by how many transfers can be performed by each clock cycle as well as by the clock frequency. For example, if a motherboard (or processor) has a FSB clocked at 200 MHz and performs 4 transfers per clock cycle, the FSB is rated at 800 MT/s."

u practically need to give 200 on SMexternalclock. then it'd be quadrupled, and 800 would show up on geekbench or whatever.

Greetz,

Link to comment
Share on other sites

am I missing something I did not understand? :D

wait a minute, from where did u get 1300Mhz? bios? u need to explain better if u want ppl to be interested to help.

btw, if u are getting 800Mhz, why do u pertain to get 200Mhz instead.

 

u practically need to give 200 on SMexternalclock. then it'd be quadrupled, and 800 would show up on geekbench or whatever.

Greetz,

 

Sorry for the mix up.. Let me try to explain it better..

_____________________________________________

 

My FSB is supposed to be 200mhz quad pumped = 800mhz I know that. My Bios passes ~184mhz x4 = ~738mhz to osx which is my problem I can not fix. No bios update for 2yrs now.

______________________________________________________________________________________________________________

 

So 200mhz must be forced to osx through the boot loader because otherwise the bootloader will take the 184mhz and then I get stuck with 738mhz in OSX.

_________________________________________________________________________________________________________________

 

When you edited the boot (boot.zip 101.21K) file I ended up with a 1300mhz fsb in OSX so at least shows it can be changed through the boot loader. All that needs to be done is the right fix found.

 

NOTHING I have done has been able to make any change till NOW unless i change to a hacked kernel and use a separate flag. SO THANK YOU . I proved Smbios.plist is superficial by running a test I left your boot efi installed and reapplied the SMexternalclock into smbios.plist and it only changed the value reported in OSX but the speed was the same. smbios.plist is just superficial, which I did not know for sure till now. It does Nothing for me. If its supposed to its not working for me.

 

I know that the speed reported by applying the boot efi (boot.zip 101.21K) you gave me is wrong and I believe it forced a 100mhz fsb and that is why my system was jerky and slow even thought it was reporting 1300mhz fsb.

 

Speculation:

 

Is there a section in the code of chameleon that says grab fsb from bios or ACPI? Because if there is that is my problem.

 

To further clarify. The guys from these forum topic have the EXACT same problem.

http://osx86.net/f57/how-to-force-the-efi-...sb-value-t3750/

http://osx86.net/f57/about-this-mac-apples...-leopard-t4542/

Link to comment
Share on other sites

@00Diabolic ~~,

here we go again, try that one, and tell me it makes a change

 

Valv... Thanks for this. I just tried it. No change at all with this one.

 

CPU Clock: 2300 MHz

FSB Clock: 738 MHz

Bus Clock: 184 MHz

 

Is there any information you want from me? I'll be glad to provide it.

 

Thank YOU AGAIN for the Help!!!!!!

 

00D

Link to comment
Share on other sites

@kizwan,

please try adding RestartFix to your boot.plist if not already there, and give it a Yes.

sorry, the idea I've got was a false positive ( so to say :unsure: ).

btw, u can always drop a copy of fadt on /Extra/ . U could also give the one below a try

boot.zip

It doesn't work. I tried this boot file with (boot flag in com.apple.Boot.plist):-

1) RestartFix=Yes & SystemType=02: no system-type entry in ioreg.

2) SystemType=02: no system-type entry in ioreg.

3) fadt.aml & SystemType=02: no system-type entry in ioreg.

4) dsdt.aml, fadt.aml & SystemType=02: system-type entry exist in ioreg.

 

Looks like FADT override still dependent on dsdt.aml. Do you know why boot file can't initialize the oem FADT table? I'm confuse why it can initialize the fadt.aml file instead.

 

I know that you're busy with a lot of requests. I'm absolutely understand. I'm myself provide support on couple of thread (also on another forum). I'm now willing to accept that I'm not going to get the oem FADT table initialized by bootloader. I'm now dropping all of my requests except one; ACPI table override (e.g. FADT.aml) dependent on DSDT.aml file. This fix should benefit a lot of people. I hope it will be available in your next release.

EDIT: I just found out that at least SystemType entry in com.apple.Boot.plist will not take effect unless DSDT.aml file exist.

 

Goodbye! :D

Link to comment
Share on other sites

@00Diabolic ~~,

ok, to avoid false results, go back to your initial boot file (06/04), and then try to boot with different busratio values.

btw, before u begin, and straight after reverting back to that boot version, I'd like u to tell me which values u'll see from IORegExplorer(IODeviceTree)>platform for CPUFrequency, FSBFrequency and TSCFrequency. thanks

 

4) dsdt.aml, fadt.aml & SystemType=02: system-type entry exist in ioreg.

Don't worry, I'll be doing my best to fix this one (maybe not on the upcoming release though)

Greetz,

Link to comment
Share on other sites

valv can I also ask a question, please? with reference to my previous post, do you know if the bootloader reads the video ROM (.bin) file (declared in com.apple.Boot.plist) in the same way it reads DSDT/SSDT (in terms of loading priority/procedure)? Will any "fixed/patched" video ROM be read before the bootloader GUI kicks-in, so that it can use it? Thanks...

Link to comment
Share on other sites

valv can I also ask a question, please? with reference to my previous post, do you know if the bootloader reads the video ROM (.bin) file (declared in com.apple.Boot.plist) in the same way it reads DSDT/SSDT (in terms of loading priority/procedure)? Will any "fixed/patched" video ROM be read before the bootloader GUI kicks-in, so that it can use it? Thanks...

sorry, humble thoughts: actually, if u provide a vbios (inputting file name into boot.plist) it'd be loaded straight before (initGui) system load. Thus, the boot-loader (in its actual state) isn't meant or able to load the file before processing the video card's portion of code (that is in charge of verifying the bios before injecting it).

btw, u could specify the resolution u pretend to use with Graphics Mode in boot.plist (1920x1080x32).

Greetz

Link to comment
Share on other sites

2) If I use modified FADT.aml file (with "PM Profile : 02 (Mobile)"), system-type with value 02 does exist in ioreg. This making the Battery Power tab visible in System Preferences/Energy Saver. However, with oem table (with "PM Profile : 02 (Mobile)"), system-type is not visible in ioreg. I tried oemFADT=Yes and system-type=02 in com.apple.Boot.plist but the results still the same.

oemFADT, does not even exist..I know I was talking about that first, I don't know what I was thinking that time ;)

Edit: :blink: It comes out that sometimes I forget things like the oemFADT on my boot.plist (also into the code). sorry

It doesn't work. I tried this boot file with (boot flag in com.apple.Boot.plist):-

1) RestartFix=Yes & SystemType=02: no system-type entry in ioreg.

2) SystemType=02: no system-type entry in ioreg.

3) fadt.aml & SystemType=02: no system-type entry in ioreg.

4) dsdt.aml, fadt.aml & SystemType=02: system-type entry exist in ioreg.

would u mind showing me your boot.plist (& smbios btw).

now I remember something was happening to me with SSDTables. Short story: I have got SSDTables dumped into first place, unchanged, noway to get speed-step working. then I started messing with memory addresses from/into which they got loaded (w/o actually editing the tables body, only headers (hope u could follow me :P )) and boom! speed-step working (vanilla, so to say).

 

Wait, let's take this from the beginning, have u ever tried adding boot argument UpdateACPIVersion=Yes? (probably it'd be useful before bios patching).

Dear, if putting those needed acpi tables in the first place would make things work, I'd suggest to stick with this for now. I know how harsh it is, especially when u have a patched bios just to get rid of these, but the issue could be related to something else than the boot-loader itself. If just someone could confirm what u experienced, it'd make things clear.

Looks like FADT override still dependent on dsdt.aml. Do you know why boot file can't initialize the oem FADT table? I'm confuse why it can initialize the fadt.aml file instead.

 

I know that you're busy with a lot of requests. I'm absolutely understand. I'm myself provide support on couple of thread (also on another forum). I'm now willing to accept that I'm not going to get the oem FADT table initialized by bootloader. I'm now dropping all of my requests except one; ACPI table override (e.g. FADT.aml) dependent on DSDT.aml file. This fix should benefit a lot of people. I hope it will be available in your next release.

EDIT: I just found out that at least SystemType entry in com.apple.Boot.plist will not take effect unless DSDT.aml file exist.

 

Goodbye! :D

One thought is crossing my mind again and again, am starting to believe that this dependency is what makes the system-type string fail to show in ioreg. Just to be sure, u have no acpi tables on /Extra/ right?, ok, do me a favor, put the dsdt there, reboot then look what it gives (abusive request: try with and without SystemType).

Greetz,

Link to comment
Share on other sites

@Valv: Hi there, thanks for this branch. One question, based on my computer, which is shown on my sig, would it benifit me to have your bootloader installed? I haven't noticed anything different thusfar. I was testing it and it helps me boot, what can be done to take full advantage of this bootloader?

 

Kind Regards,

-d

Link to comment
Share on other sites

@00Diabolic ~~,

ok, to avoid false results, go back to your initial boot file (06/04), and then try to boot with different busratio values.

btw, before u begin, and straight after reverting back to that boot version, I'd like u to tell me which values u'll see from IORegExplorer(IODeviceTree)>platform for CPUFrequency, FSBFrequency and TSCFrequency. thanks

 

Ok I reinstalled the older version and went into ioreg to check the values you asked for.

I do not see TSCfreq at all.

 

There is

 

bus freq: <00 08 af 2f>

clock freq: <00 f9 02 95>

cpu type: <01 03>

There is also time based freq: <00 ca 9a 3b>

 

I'm attaching my ioreg output for you. See attached. I will check to see busratio flags do next.

 

Thanks

00D

 

UPDATE: I tried a few busratios but it does not seem to matter except that it changes the values in voodoo monitor (see below). The cpu STILL clocks to x12.5 multiplier max and has a value of 2300mhz max when its there which is -200mhz from what it should be and of course the fsb is still 184mhz -16mhz.

 

CPU Clock: 2484 MHz

FSB Clock: 738 MHz

Bus Clock: 184 MHz

 

Worth Noting:

Voodoo Monitor freq changes in the main tab and p-states tab. My bus ratio is 12.5 but in voodooMonitor my multiplier max is 13.5x (this was always this way). Now there is a change in the max frequency showing. Before was 2300mhz But with the busratio=125 flag the new max is 2484mhz BUT it will never clock to this value, so its pointless. I am sure this is part of the same misinformation from my bios.

 

Using a busratio flag I believe is useless as my system knows my max multiplier is 12.5. I have over clocked CPU's before and you can not go above the cpus multiplier as its always locked on Intel Cpus. I think there are AMDs that can but thats another story.

 

My FSB being wrong is culprit of the CPU being slow. Hope this makes sense.

EMacBook.ioreg.zip

Link to comment
Share on other sites

sorry, humble thoughts: actually, if u provide a vbios (inputting file name into boot.plist) it'd be loaded straight before (initGui) system load. Thus, the boot-loader (in its actual state) isn't meant or able to load the file before processing the video card's portion of code (that is in charge of verifying the bios before injecting it).

btw, u could specify the resolution u pretend to use with Graphics Mode in boot.plist (1920x1080x32).

Greetz

Mate, thanks for taking time to reply. My initial action was to do as you suggested. Alas, the VESA modes of my VGA card apparently do not support this resolution, i.e. the GUI comes up at basic resolution, that's why I was hoping to inject a "patched" video BIOS especially for supporting this resolution, as per DieBuche's method here. My only problem is installing Windows to run GPU-Z first :) to extract the current BIOS...

 

But it's good to know that you confirm that the bootloader reads video BIOS first, then injects it, then kicks-in the GUI.

 

Unless there's a way to enforce this (or any) resolution, override VESA? Any comment? Thanks!

Link to comment
Share on other sites

Hi there, Testers needed.

Too many changes, especially related to fadt dependency and fsb detection (totally reworked), also i7, i5, i3 support added.

 

@kizwan, & 00Diabolic ~~, this one may (or may not) fix your respective issues.

 

@all others who feel adventurous, please test it and give me feedback.

Do not forget to make backup before to start, as this one is untested.

 

edit : at latest post

Great bootloader, thanks :)
glad u liked it. keep tuned

 

Unless there's a way to enforce this (or any) resolution, override VESA? Any comment? Thanks!
Best thing to do is wait for Lebidou's upcoming patch for this. in the meantime, u can have a look at this project

 

I was testing it and it helps me boot, what can be done to take full advantage of this bootloader?
u could dump your entire acpi tables and get them loaded at boot time (especially for speed-step, not needing to inject SSDTs into DSDT). U could also add one custom SSDT for each new "DSDT" hack, and that way avoid enlarging the DSDT. As u may have noticed, u can get rid of restart-fix kexts. Other goodies are on the topic.

btw, thank u for using my boot-loader. hope it satisfies your needs. If u have any suggestions, I'd be glad to here from u.

Link to comment
Share on other sites

Hi there, Testers needed.

Too many changes, especially related to fadt dependency and fsb detection (totally reworked), also i7, i5, i3 support added.

 

tryed on my system, just replacing the boot file (version 04/06/2010 before)

 

it say it read the dsdt from /extra but seem do not apply it, the other tables seem correctly readed and applied

i can see system type=02 in ioreg.

i have lost my vga because i inject it using dsdt, restart fix seem not working too, at least on my system.

Link to comment
Share on other sites

tryed on my system, just replacing the boot file (version 04/06/2010 before)

 

it say it read the dsdt from /extra but seem do not apply it, the other tables seem correctly readed and applied

i can see system type=02 in ioreg.

i have lost my vga because i inject it using dsdt, restart fix seem not working too, at least on my system.

Thank you for helping, anybody else confirming this behavior ?

don't worry, I'll find out.

Greetz

Link to comment
Share on other sites

 Share

×
×
  • Create New...