Jump to content

AnVAL (ACPI Loader)


valv
 Share

1,538 posts in this topic

Recommended Posts

@all,

Thank u for testing, keep tuned for next jump.. maybe it's time to commit then. I'll wait for feedbacks till late tonight.

Greetz

Link to comment
Share on other sites

I'll tell u a secret :hysterical: personally I use smbios injection for this, dunno why I prefer it that way. Maybe just a feeling of calculus avoidance = easier boot = lesser bad surprises :P no, seriously, I'll look further at it...one day :D

Hi valv

 

I haven't yet tried your booter and I will get round to it one day, but I have been occasionally following this thread and want to say well done and think you are doing a grand job.

 

As for the memory detection, you might know this already, though if not maybe it will come in handy? But I remember when Rekursor went through a process of implementing it and while successfully enabling recognition of DDR3 memory, DDR2 proved a harder task. After many open discussions I remember this post about Asere's code might have included other code to achieve it though don't take this at face value as it might not be true! That discussion might also be useful for you to look through to maybe save you from re-tracing steps already covered.

 

Anyway, keep up the good work.

Regards :hysterical:

Link to comment
Share on other sites

On the topic of Mem detection, Asere's 1.1.9 would detect DDR2 and DDR3 for me. :unsure: Maybe worth a look at his code?

Yes kup you're right, Asere's bootloader did detect DDR2 correctly. But Asere's code doesn't contain any of the specific memory code, he never released that part.. See this post.

 

Although Asere did say somewhere that he would release it one day.....

Link to comment
Share on other sites

Thank u blackosx. I'll keep that in mind.

 

Although Asere did say somewhere that he would release it one day.....

that could actually cut-off the process of reinventing things. thus, the process of discovering 'em seems even longer.

btw, totally forgot to mention the GUI extra graphics for selected device. really good job.

I'd be interested to add it into my branch soon.

Link to comment
Share on other sites

Yes kup you're right, Asere's bootloader did detect DDR2 correctly. But Asere's code doesn't contain any of the specific memory code, he never released that part.. See this post.

 

Although Asere did say somewhere that he would release it one day.....

Ah, my bad. :unsure: lol

Link to comment
Share on other sites

btw, totally forgot to mention the GUI extra graphics for selected device. really good job.

I'd be interested to add it into my branch soon.

Hi valv

 

Thanks for commenting on this idea and if you could consider adding it to your branch then it would be a good way for more users to see it in action. Though as it's been mentioned in the thread on Voodooprojects, the code might need to be tweaked to allow it to work with previous themes, so ideally, only replace the device with _.o.png if they exist.

 

Currently, the booter won't draw the GUI if one of the extra _o.png's isn't present (which is the same if a normal theme file is missing with the standard Chameleon) and also at the moment the code assumes that the _o.pngs are always present.

 

Anyway, if you do find the time and one day decide to have a look at it I would be interested in hearing about it.. and also I would need to find some time myself to work on new/extra theme graphics. :)

 

Regards

Link to comment
Share on other sites

thank u, and sorry 'cause I don't think I'd be able to do something for FSB this time. if your 875k is the same as 875, don't worry, it could be done but it is more complicated than I thought. Also for the Memory part, u should give some time, maybe next release :D I already taken note on my todo list (high priority). till then u can stick with smbios.plist values.

 

It's ok,

This is the way it has to be done, sorry for not specifying it earlier.

If speed-step is working no need for those.

glad u find it of a use to u :)

Greetz

 

valv, thanx again :) very thorough answer

Link to comment
Share on other sites

Valv.. WOW I tried alpha 4 and it works GREAT. I got my 800fsb with your alpha 4. My ram is not detached with this version. I get 800mhz ram speed when I have 667mhz DDR2. Also my CPU is detected as 2.49ghz which is also right or damn close to 2.50ghz.

 

I've got alpha 5. Ill try it next and hope it just gets better from here.

 

GREAT WORK VALV.. YOU ARE AMAZING!!!!!!!!!!!!!

 

UPDATE: Alpha 5 is a no go. I'm back to 734mhz fsb and my ram is still 800mhz same as alpha 4 in that respect.

Link to comment
Share on other sites

@00Diabolic ~~,

That is really strange, 'cause alpha5 and alpha4 should behave the same for u. go ahead, re-download alpha5 and replace boot file again, just to be sure, please.

btw, would u mind posting a dump of sysctl -a | grep cpu for me, thanks.

 

Im sorry to be ignorant but is there a way to load multiple SSDT tables (eg SSDT.aml and SSDT1 to SSDT4.aml) ?

@Cheezmen, u 'r welcome

u just need to rename your files from SSDT0.aml to SSDT4.aml, and then copy them to /Extra/ folder. then edit com.apple.boot.plist with these keys:

  • DropSSDT (and giving it No as its value)
  • oemSSDT (with a No as value)

then to verify they were loaded, reboot, open "IORegExplorer>AppleACPIPlatformExpert" then on the right pane expand "ACPI Tables". Once there, look if those SSDTs are there. Those are all the tables that got loaded at boot time.

Greetz

Link to comment
Share on other sites

@00Diabolic ~~,

That is really strange, 'cause alpha5 and alpha4 should behave the same for u. go ahead, re-download alpha5 and replace boot file again, just to be sure, please.

btw, would u mind posting a dump of sysctl -a | grep cpu for me, thanks.

 

Here is my cpu info under alpha 5.. I'll go back to alpha 4 & check it again.

 

 

sysctl -a | grep cpu
hw.ncpu = 2
hw.cpufrequency = 2493000000
hw.availcpu = 2
hw.ncpu: 2
hw.activecpu: 2
hw.physicalcpu: 2
hw.physicalcpu_max: 2
hw.logicalcpu: 2
hw.logicalcpu_max: 2
hw.cputype: 7
hw.cpusubtype: 4
hw.cpu64bit_capable: 1
hw.cpufamily: 2028621756
hw.cpufrequency: 2493000000
hw.cpufrequency_min: 2493000000
hw.cpufrequency_max: 2493000000
machdep.cpu.max_basic: 10
machdep.cpu.max_ext: 2147483656
machdep.cpu.vendor: GenuineIntel
machdep.cpu.brand_string: Intel® Core(tm)2 Duo CPU     T9300  @ 2.50GHz
machdep.cpu.family: 6
machdep.cpu.model: 23
machdep.cpu.extmodel: 1
machdep.cpu.extfamily: 0
machdep.cpu.stepping: 6
machdep.cpu.feature_bits: 3219913727 582589
machdep.cpu.extfeature_bits: 536872960 1
machdep.cpu.signature: 67190
machdep.cpu.brand: 0
machdep.cpu.features:  FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE 
MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM SSE3 MON 
DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1
machdep.cpu.extfeatures:  SYSCALL EM64T
machdep.cpu.logical_per_package: 2
machdep.cpu.cores_per_package: 2
machdep.cpu.microcode_version: 1548
machdep.cpu.mwait.linesize_min: 64
machdep.cpu.mwait.linesize_max: 64
machdep.cpu.mwait.extensions: 3
machdep.cpu.mwait.sub_Cstates: 51520032
machdep.cpu.thermal.sensor: 1
machdep.cpu.thermal.dynamic_acceleration: 1
machdep.cpu.thermal.thresholds: 2
machdep.cpu.thermal.ACNT_MCNT: 1
machdep.cpu.arch_perf.version: 2
machdep.cpu.arch_perf.number: 2
machdep.cpu.arch_perf.width: 40
machdep.cpu.arch_perf.events_number: 7
machdep.cpu.arch_perf.events: 0
machdep.cpu.arch_perf.fixed_number: 3
machdep.cpu.arch_perf.fixed_width: 40
machdep.cpu.cache.linesize: 64
machdep.cpu.cache.L2_associativity: 8
machdep.cpu.cache.size: 6144
machdep.cpu.tlb.inst.small: 128
machdep.cpu.tlb.inst.large: 8
machdep.cpu.tlb.data.small: 16
machdep.cpu.tlb.data.small_level1: 256
machdep.cpu.tlb.data.large: 16
machdep.cpu.tlb.data.large_level1: 32
machdep.cpu.address_bits.physical: 36
machdep.cpu.address_bits.virtual: 48
machdep.cpu.core_count: 2
machdep.cpu.thread_count: 2

 

I have no idea if this is different, did not look. But Here is my cpu info under alpha 4. Just to be sure.. ill reload alpha 5 and try this all again..

 

sysctl -a | grep cpu
hw.ncpu = 2
hw.cpufrequency = 2493000000
hw.availcpu = 2
hw.ncpu: 2
hw.activecpu: 2
hw.physicalcpu: 2
hw.physicalcpu_max: 2
hw.logicalcpu: 2
hw.logicalcpu_max: 2
hw.cputype: 7
hw.cpusubtype: 4
hw.cpu64bit_capable: 1
hw.cpufamily: 2028621756
hw.cpufrequency: 2493000000
hw.cpufrequency_min: 2493000000
hw.cpufrequency_max: 2493000000
machdep.cpu.max_basic: 10
machdep.cpu.max_ext: 2147483656
machdep.cpu.vendor: GenuineIntel
machdep.cpu.brand_string: Intel® Core(tm)2 Duo CPU     T9300  @ 2.50GHz
machdep.cpu.family: 6
machdep.cpu.model: 23
machdep.cpu.extmodel: 1
machdep.cpu.extfamily: 0
machdep.cpu.stepping: 6
machdep.cpu.feature_bits: 3219913727 582589
machdep.cpu.extfeature_bits: 536872960 1
machdep.cpu.signature: 67190
machdep.cpu.brand: 0
machdep.cpu.features:  FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR 
PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM SSE3 
MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1
machdep.cpu.extfeatures:  SYSCALL EM64T
machdep.cpu.logical_per_package: 2
machdep.cpu.cores_per_package: 2
machdep.cpu.microcode_version: 1548
machdep.cpu.mwait.linesize_min: 64
machdep.cpu.mwait.linesize_max: 64
machdep.cpu.mwait.extensions: 3
machdep.cpu.mwait.sub_Cstates: 51520032
machdep.cpu.thermal.sensor: 1
machdep.cpu.thermal.dynamic_acceleration: 1
machdep.cpu.thermal.thresholds: 2
machdep.cpu.thermal.ACNT_MCNT: 1
machdep.cpu.arch_perf.version: 2
machdep.cpu.arch_perf.number: 2
machdep.cpu.arch_perf.width: 40
machdep.cpu.arch_perf.events_number: 7
machdep.cpu.arch_perf.events: 0
machdep.cpu.arch_perf.fixed_number: 3
machdep.cpu.arch_perf.fixed_width: 40
machdep.cpu.cache.linesize: 64
machdep.cpu.cache.L2_associativity: 8
machdep.cpu.cache.size: 6144
machdep.cpu.tlb.inst.small: 128
machdep.cpu.tlb.inst.large: 8
machdep.cpu.tlb.data.small: 16
machdep.cpu.tlb.data.small_level1: 256
machdep.cpu.tlb.data.large: 16
machdep.cpu.tlb.data.large_level1: 32
machdep.cpu.address_bits.physical: 36
machdep.cpu.address_bits.virtual: 48
machdep.cpu.core_count: 2
machdep.cpu.thread_count: 2

 

UPDATE:

 

There is no difference between the above to cpu info. I went back to Alpha 5 and my fsb is definitely ~738mhz.

 

However in alpha 4 I get sorta delayed/distorted sounds when I hear the system sounds, not in alpha 5 though. Its actually exactly like when you gave me that other fix back a few posts and my fsb was 1300mhz. I had the same issue then but it was worse.. The whole system was kinda jerky with that previous fix. With alpha 4 its just the system sounds. My geekbench scores have increased a lot with alpha 4. Almost to much to believe over alpha 5 but it might be right.

 

Remember that I know my issue lies in the fact that my bios gives the system the wrong fsb. In windows it over comes this by calculating the information for each task in windows. In OSX it has to rely on the provided information. Perhaps you can write a piece of code for abnormally detached fsb and force a value that rounds them upto the next logical number. Rounded off to the closest 16 or 32mhz. Mine is exactly 16mhz off from what it should be. So If the boot loader gets a value of 184mhz it forces 200mhz as there is no fsb of 184mhz ever made for any intel cpu. Is that possible? Or way to much work?

 

Alpha 5 details..

CPU Clock: 2484 MHz

FSB Clock: 738 MHz

Bus Clock: 184 MHz

 

Alpha 4 Details..

CPU Clock: 2700 MHz <-- To high may be causing distortion/delay in sounds

FSB Clock: 800 MHz

Bus Clock: 200 MHz <-- First time I've seen this in SL.. WOW!!!

 

This might also be of interest valv. Guy has my problem but AsereBLN never looked into it. http://www.efixusers.com/showthread.php?t=...bln&page=32

 

**Also under all of your versions I have a new problem with restart. I cant do it at all. I get a shutdown instead. With RC4 chameleon I get perfect restart. Is there a flag for restart I can use that works with Alpha 4? Ill keep using that one for the time being as it gets my FSB right.

 

**Another issue. No matter what I do I get no system-type value in ioreg. Even when I force the value in boot.plist. The only reference I could find to someone not getting a value at all was kizwan from this very thread. Is it bad that my system does not have this value? Unlike Kizwan I get battery functionality but only with voodoobattery installed. Without it my system does not know it has a battery. What else does the system-type value do? Is it important for anything else?

 

@Kizwan... What is the point of system-type value in ioreg.. besides helping with battery.. Do you know?

Link to comment
Share on other sites

If i do not have the SSDT tables in the ioreg, whether they are appended to DSDT.aml or in Extra, does that mean i made a mistake somewhere?

those are two different approaches. If u append them to DSDT, u don't need to have them on Extra, neither u do need those keys into boot.plist. Instead u should use those:

  • DropSSDT: Yes
  • oemSSDT: No
  • oemDSDT: No
  • DSDT: (location of your edited one, e.g. /Extra/DSDT.aml)

In the other side, if u do not append them, u need to have them copied onto Extra. next u need to edit the headers according to memory addresses from where they 're intended to be loaded. for more details on this process, u can follow ab__73's thoughts here

hope this help. and yes, if u don't see those tables in IORexEx, it is clearly they are not loaded.

Greetz

Link to comment
Share on other sites

what do u mean by out of interest :( If u 'r talking about this big mess, I was expecting such issues, and I hoped people test it before I do commit. This way we avoid sticking with unstable/unusable code. Once again, this is still in alpha stage, but things look good so far.

sorry, I just did not follow (brainstorm: 100.000 kWh) :angel:

 

btw, here is the next candidate alpha5.zip

Nicely done!!! Your alpha5 boot file able to read oem FADT table. Now I can see system-type entry in ioreg without having to set SystemType in com.apple.Boot.plist file. I'll do further tests right away.

 

EDIT:-

- I noticed that with alpha5 boot file, correct "DSDT Address" (in FADT table/AML) is required. If it is not correct, Mac OS X will kernel panic. IMO, this is the right behavior.

- FADT override no longer require DSDT.AML file. I'm assuming other ACPI override also no longer require DSDT.AML.

- Changing "PM Profile" (in FADT table/AML) value also change the "system-type" value in ioreg.

- DSDT override work as it should be.

- Hmmm, what else should I test???

Link to comment
Share on other sites

hello, just tried alpha5, it read the acpi tables i have set on /extra and cpu/bus detection works great. i too can see system-type=02 with ioregistryeditor. The boot is verbose and it report me the lack of many acpi tables, but i have not them. i can't say if speedstepping is working because msrtools is not working anymore since last time i reinstalled everything. i'll try voodoomonitor even if that has never work on my pc, hanging when the temps was over 65°.

Restart/shutdown and sleep/resume works too, just my ram is detected as ddr2 instead of ddr3 (aserebln detected it ok before) but it was undetected using 6/4/2010 release too. i have a backup smbios.plist with all ram infos so i don't complain on this.

Link to comment
Share on other sites

@Kizwan... What is the point of system-type value in ioreg.. besides helping with battery.. Do you know?

It is important in making sure your computer get the correct power management. For example, if it is a notebook computer, it helps battery kext (e.g. VoodooBattery.kext) properly recognized the battery. Even without battery kext, with system-type set to 02, you should see "Battery Power" entry under "System Power Settings" in System Profiler. For more information, please refer to ACPI Specification rev4, look for PM_Profile.

 

**Also under all of your versions I have a new problem with restart. I cant do it at all. I get a shutdown instead. With RC4 chameleon I get perfect restart. Is there a flag for restart I can use that works with Alpha 4? Ill keep using that one for the time being as it gets my FSB right.

Try boot with Wait=Yes -v boot flag. See if there is a message like this "FADT: Restart Fix Applied !" or "FADT: Restart Fix not applied !". Try put RestartFix in com.apple.Boot.plist, set to No. Just thinking out loud here since you have restart issue with all AnVAL release.

Link to comment
Share on other sites

It is important in making sure your computer get the correct power management. For example, if it is a notebook computer, it helps battery kext (e.g. VoodooBattery.kext) properly recognized the battery. Even without battery kext, with system-type set to 02, you should see "Battery Power" entry under "System Power Settings" in System Profiler. For more information, please refer to ACPI Specification rev4, look for PM_Profile.

 

Ha haaaa I'm laughing because I just got done reading the topic where aliasa gave you this information..

 

I've read up and I dont have the issue you have because my battery is fully detected with voodoobattery. I do have this restart issue but did not with RC4 chameleon.. I dont know why by system-type does not show in ioreg but I found a command that aliasa gave you that shows the value. Its ioreg -lw0|grep -i system-type

 

Mine does show system-type is 02. Now I want to take that system-type value out of my boot.plist and see if it makes a difference in this command, I doubt it will.

 

Ill try the restart trick and see if that works..

 

Thanks for the help

Link to comment
Share on other sites

I don't understand why you think this is funny.

 

The timing is funny.. You were replying to me as I was reading that.. I was refreshing this topic and saw your reply right after reading that other topic where aliasa gave you that info..

 

Anyway I tried what you said.. I got

 

FADT: Restart Fix Applied <-- This must mean I dont need this FADT fix right? Causes me more problems for me?

The line after that is this..

patched ACPI version 2 DSDT <-- this must mean it saw my DSDT.aml file..

Link to comment
Share on other sites

The timing is funny.. You were replying to me as I was reading that.. I was refreshing this topic and saw your reply right after reading that other topic where aliasa gave you that info..

I see. I understand it now. ;)

FADT: Restart Fix Applied <-- This must mean I dont need this FADT fix right? Causes me more problems for me?

The line after that is this..

patched ACPI version 2 DSDT <-- this must mean it saw my DSDT.aml file..

I'm just thinking, since you have problem with restart, you might want to try set RestartFix to No in com.apple.Boot.plist file. This will prevent the boot file from patching the FADT/FACP table.

Link to comment
Share on other sites

I see. I understand it now. ;)

 

I'm just thinking, since you have problem with restart, you might want to try set RestartFix to No in com.apple.Boot.plist file. This will prevent the boot file from patching the FADT/FACP table.

 

 

Ok Ill do that. I also have evoreboot.kext installed.. Could the 2 be conflicting? Should I get rid of evoreboot instead?

Link to comment
Share on other sites

Ok Ill do that. I also have evoreboot.kext installed.. Could the 2 be conflicting? Should I get rid of evoreboot instead?

Try removing it for now, just in case. Maybe it conflicting with RestartFix function in AnVAL boot file.

Link to comment
Share on other sites

Perhaps you can write a piece of code for abnormally detached fsb and force a value that rounds them upto the next logical number. Rounded off to the closest 16 or 32mhz. Mine is exactly 16mhz off from what it should be. So If the boot loader gets a value of 184mhz it forces 200mhz as there is no fsb of 184mhz ever made for any intel cpu.
Actually, am trying another approach for this. But yours seem lesser complicated ;)

 

Nicely done!!! Your alpha5 boot file able to read oem FADT table. Now I can see system-type entry in ioreg without having to set SystemType in com.apple.Boot.plist file. I'll do further tests right away.
hey kizwan, I was waiting for your feedback, thank u for testing :)

 

hello, just tried alpha5, it read the acpi tables i have set on /extra and cpu/bus detection works great. i too can see system-type=02 with ioregistryeditor. The boot is verbose and it report me the lack of many acpi tables, but i have not them. i can't say if speedstepping is working because msrtools is not working anymore since last time i reinstalled everything. i'll try voodoomonitor even if that has never work on my pc, hanging when the temps was over 65°.

Restart/shutdown and sleep/resume works too, just my ram is detected as ddr2 instead of ddr3 (aserebln detected it ok before) but it was undetected using 6/4/2010 release too. i have a backup smbios.plist with all ram infos so i don't complain on this.

u can verify if speed-step is working by typing this on terminal sudo ioreg -lw0 | grep CSTInfo if it outputs something like

" | | | | "CSTInfo" = 19147885"

c-states are ok, then if by typing this ioreg -lw0 | grep PerformanceStateArray it outputs some strings like this

" | | | "PerformanceStateArray" = (<00000000000000000a0000000a0000002b0b...)"

u can conclude speed-step is working.

 

Mine does show system-type is 02. Now I want to take that system-type value out of my boot.plist and see if it makes a difference in this command, I doubt it will.
what about your FADT, did u copied it into /Extra dir? for restart issue, try adding RestartFix (Yes) to boot.plist.

 

btw, I'll post alpha6 asap.

Greetz

Link to comment
Share on other sites

Try removing it for now, just in case. Maybe it conflicting with RestartFix function in AnVAL boot file.

 

Ok gonna try this next. Also just FYI.. I do not need the system-type=2 flag at all. I just booted without it and my systemtype is detected as type 2 automatically. So thats good news :-)

Link to comment
Share on other sites

 Share

×
×
  • Create New...