iFIRE Posted December 29, 2009 Share Posted December 29, 2009 Hello Javimdq, Try this kext Saludos from Spain http://www.insanelymac.com/forum/index.php?showtopic=199048 OSXRESTART_1.5.zip Link to comment Share on other sites More sharing options...
di524up Posted January 1, 2010 Share Posted January 1, 2010 I am not able to get vanilla speedstep to work with the following codes. With VoodooPower.kext and NullCPUPowerManagement.kext, the temp is 3-4 degrees lower. Name (PSS, Package (0x08) { Package (0x06) { Zero, Zero, 0x10, 0x10, 0x491F, Zero }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0x091F, One }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0x481E, 0x02 }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0x081D, 0x03 }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0x471D, 0x04 }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0x071C, 0x05 }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0x461B, 0x06 }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0x061A, 0x07 } }) Name (CST, Package (0x04) { 0x03, Package (0x04) {ResourceTemplate () {Register (FFixedHW, 1, 2, 0x000,,)},0x01,0x01,0x03E8}, Package (0x04) {ResourceTemplate () {Register (SystemIO, 8, 0, 0x414,,)},0x02,0x01,0x01F4}, Package (0x04) {ResourceTemplate () {Register (SystemIO, 8, 0, 0x415,,)},0x03,0x55,0xFA} Processor (CPU0, 0x00, 0x00000410, 0x06) { Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU1, 0x01, 0x00000410, 0x06) { Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } This are the P-States:- I suspect my problem lies with the CST table. How to find out which C-States e7200 supports? Can someone share the CST table for C2D e7200? Thank you! PS: this is e7200 on GA-EP35-DS3L. My sig is another machine. Link to comment Share on other sites More sharing options...
dreamdust Posted January 1, 2010 Share Posted January 1, 2010 How do you find the FID and VID values if you don't have CST tables or information in CPU-i? Are these values published anywhere? Is there a formula to get them? Is there software that can calculate them? I have an Asus P5L8L and Intel E4400 Duo Core, it supports SpeedStep and C states but I can't find any information on how to figure out the FID and VID values. I've been looking on overclocking forums but they don't refer to these values as FID or VID. Link to comment Share on other sites More sharing options...
waldo_pepperjack Posted January 3, 2010 Share Posted January 3, 2010 A general question before I take my current dsdt setup and start to alter it. Does Vanilla SpeedStep affect/change/disturb sleep functions? My current setup has perfect sleep and cool temperatures (in spite of being overclocked 20%). I don't want to knock this out of whack. Link to comment Share on other sites More sharing options...
MacUser2525 Posted January 3, 2010 Share Posted January 3, 2010 A general question before I take my current dsdt setup and start to alter it. Does Vanilla SpeedStep affect/change/disturb sleep functions? My current setup has perfect sleep and cool temperatures (in spite of being overclocked 20%). I don't want to knock this out of whack. Well you can always go back to your backed up now working file, but no on my test machine (the only one I let sleep) speed step has no affect on sleep. Link to comment Share on other sites More sharing options...
waldo_pepperjack Posted January 4, 2010 Share Posted January 4, 2010 OK, I've read over as much as I've had time for, and looked at output from PstateChanger and CPU-X. I see 6 states for my Q9550, and fully loaded for 10-15 minutes, I get temperatures between 35-40deg Centigrade. Fully loaded it runs up to the expected 3.4HGz, idle or light work, it backs down and stays @ 2.4GHz. (ie., it already steps between low/idle an high/loaded speeds) It looks to me that when I run iDVD for encoding video, it already bumps up to the full 3.4GHz, when sitting, it slows down to about 70% of the CPU's fully clocked speed. Is this Vanilla SpeedStepping not already available on some boards+CPU's and users have to add it in? (and I'm just luck to already have it working out-of-the-box)? Or is this Vanilla SpeedStepping something that will leave the stepping I already seen far, far behind in the dust? (Ahha... hmmm... or does Vanilla refer to the fact that I _didn't_ have the voodoo.kext installed before I installed the voodoopstates.kext so I could gather these readings? ) How much more performance and energy saving can I expect by adding in the Vanilla SpeedStep shown here? My current p-states, and CPU info: EDIT: OK, I removed the voodoopstates.kext and now I see it is actually at a constant 3.4GHz. I get it. Vanilla just refers to the fact that I've added voodoopstates.kext, even if it was just to get a snapshot of my pstates. Link to comment Share on other sites More sharing options...
LatinMcG Posted January 4, 2010 Share Posted January 4, 2010 ok i finaly lost it! i got neighbors G41m-es2l rev 1 runing sweeet 10.5.8 with snackole's dsdt (_PR) from E6550 dropped temp from 55C to 32C. now my issue is in my 10.5.8 G31M-ES2L rev 1 i have E6300 1.862Mhz @7x fsb (2 p-states).. well i ran into hackcats issue with CST =audio stutter. i removed Scope (_CST) on both cpu0 and cpu1 and no audio glitch. oops TIMR and IPIC irq's removed.. issue gone. temp still there tho. ( i cant run pstate changer no snow here) but im still burning up at 61C !! :censored2: anyone have any idea how to do _CST i dumped SSDT from linux mint 8. im attaching them with dsdt.aml im using in hopes someone can clear up this cst audio glitch and temperature issue. Thanks! edit tried this scope and same issue. not as bad though. Link to comment Share on other sites More sharing options...
mitch_de Posted January 4, 2010 Share Posted January 4, 2010 ....but im still burning up at 61C !! THATS tooo much for your location - FLORIDA In ALASKA you get much less CPU temps Hope you get fixed that. We will help you and not only jokeing - but sometimes fun helps Link to comment Share on other sites More sharing options...
LatinMcG Posted January 4, 2010 Share Posted January 4, 2010 lol ok im not burning .. my cpu is drink a warsteiner for me!. i think im going upgrade cpu soon to a real cpu quad.. not this 2 p-state joke e6300 1.86 Link to comment Share on other sites More sharing options...
kdawg Posted January 4, 2010 Share Posted January 4, 2010 lol ok im not burning .. my cpu is drink a warsteiner for me!. i think im going upgrade cpu soon to a real cpu quad.. not this 2 p-state joke e6300 1.86 Just so you know 60C isn't going to kill your CPU. My MacMini, MacBookPro and iMac all operate at or around those temperatures at idle. Link to comment Share on other sites More sharing options...
mitch_de Posted January 5, 2010 Share Posted January 5, 2010 If at least your Pstates working and of course the VIDs are set not too high perhaps an Cooling Prob of the HEATSINK(FAN) and/or the thermal fluid (too think / to thin on CPU). The perhaps too much mVolts make more heat than the MHZ on idle. So i would look at the Pstates mVolts first. Link to comment Share on other sites More sharing options...
LatinMcG Posted January 6, 2010 Share Posted January 6, 2010 i used pstate calc and lowered power and its at 50 at idle instead of 60. i allready got c2d E840 or Q6600 in the works for purchase. whats baffling me is the auto sleep. i think its the sata or usb. i see my LG drive blink when its supposed to autosleep hmmm.. Link to comment Share on other sites More sharing options...
westwaerts Posted January 6, 2010 Share Posted January 6, 2010 Besides IORegistry, where 3 Powerstates are shown with the edited DSDT ( 3 PSS States) is there any tool to monitor the steps ? Cause all apps( Voodoo, CPU-i) i know are kext-dependent. and PstateChanger crashes always reading Info. thx ww Link to comment Share on other sites More sharing options...
scrax Posted January 6, 2010 Share Posted January 6, 2010 A general question before I take my current dsdt setup and start to alter it. Does Vanilla SpeedStep affect/change/disturb sleep functions? My current setup has perfect sleep and cool temperatures (in spite of being overclocked 20%). I don't want to knock this out of whack. From other experience (smith@@, Barbonenet) posted in the Vanilla Speedstep post in the Italian section seems that Chameleon gives this sleep problem with hard OC. The only solution is to use something like voodoopowermini.kext to have speedstep and stop working together on a OC CPU. Can Any body else confirm this? Guys, I do not usually ask for help because I try to solve thing by myself, but in this case I do not have choice. I spent last two weeks trying to make my rig to "hibernate" or "deep sleep". I do not care about sleep. But it is impossible, at least for me to do it alone. <......> Thanks to anyone who can help. Try PC_EFI 10.5 , from my personal test Chameleon2RC4 brokes the ibernate function (at least on my configuration) Link to comment Share on other sites More sharing options...
kdawg Posted January 6, 2010 Share Posted January 6, 2010 From other experience (smith@@, Barbonenet) posted in the Vanilla Speedstep post in the Italian section seems that Chameleon gives this sleep problem with hard OC. The only solution is to use something like voodoopowermini.kext to have speedstep and stop working together on a OC CPU. Can Any body else confirm this? Try PC_EFI 10.5 , from my personal test Chameleon2RC4 brokes the ibernate function (at least on my configuration) I can say I have a Q9450 2.66GHz I OC to almost 3.6GHz with Vanilla speedstepping with working auto-sleep. The key is finding the right combination of settings. Usually it's the RAM being undervolted. Gigabyte boards want to grossly undervolt the RAM on default settings. My RAM is supposed to run at 2.1v but the board only gives it 1.8v. I suggest finding some OC'ing threads and do some research. I intend to post my BIOS settings when I get a chance. Keep an eye out. Link to comment Share on other sites More sharing options...
scrax Posted January 6, 2010 Share Posted January 6, 2010 I can say I have a Q9450 2.66GHz I OC to almost 3.6GHz with Vanilla speedstepping with working auto-sleep. The key is finding the right combination of settings. Usually it's the RAM being undervolted. Gigabyte boards want to grossly undervolt the RAM on default settings. My RAM is supposed to run at 2.1v but the board only gives it 1.8v. I suggest finding some OC'ing threads and do some research. I intend to post my BIOS settings when I get a chance. Keep an eye out. Thanks for the info, I'm not in OC so i can't test it directly, i'll try OC and search about it when I bring a new heat dissipator for my CPU. But i'll post your suggestion in the italian topic for others I suspect they tested sleep problem on asus board, not gigabyte but your post is a good start i think... Link to comment Share on other sites More sharing options...
waldo_pepperjack Posted January 6, 2010 Share Posted January 6, 2010 EDIT: Does CPU-X work correctly in 10.6.2? Does it show only the speed at its own startup, or does it just not work correctly. I'm having doubts: It looks like VoodooMonitor shows the cpu stepping through its speeds from idle to full, but CPU-X seems like a static reading. ??? Does the voodoomonitor.kext actually enable speedstepping? Or does it just enable correct cpu speed measure/display by voodoomonitor? If it doesn't actually enable speedstepping by itself, and is just for reading the values, then I've got speedstepping working w/ my patched dsdt. ??? ---------------------------- previous to above edit: I can say I have a Q9450 2.66GHz I OC to almost 3.6GHz with Vanilla speedstepping with working auto-sleep. The key is finding the right combination of settings. Usually it's the RAM being undervolted. Gigabyte boards want to grossly undervolt the RAM on default settings. My RAM is supposed to run at 2.1v but the board only gives it 1.8v. I suggest finding some OC'ing threads and do some research. I intend to post my BIOS settings when I get a chance. Keep an eye out. As I have the Q9550 OC'ed to 3.4GHz, I'm very interested in what you say/have as BIOS settings. My OC is just 20%, but I think I'd like to shoot for 3.6GHz as well. My board is the UD3L. Still struggling to get my 6-pstate vanilla speedstep working as well. I've searched the forum, read what seem to be the relevant threads & docs ... tried three or 4 different incarnations of my dsdt (which has perfect gigaenet, graphics, sleep & other behaviors), but can't get any speedstepping to happen (I get it w/ the voodoo kext, could just do that, but the dsdt mod seems more ... vanilla ...) kdawg ... any chance you could post your current dsdt.*l for me? I'm sure you have some differences, but maybe I can see what you've done differently. Can you remember anything that you had to do that was distinct/separate/addition to/from the _very first_ post in this thread? Maybe the Q9*50's need something a bit different? Link to comment Share on other sites More sharing options...
kdawg Posted January 7, 2010 Share Posted January 7, 2010 Thanks for the info,I'm not in OC so i can't test it directly, i'll try OC and search about it when I bring a new heat dissipator for my CPU. But i'll post your suggestion in the italian topic for others I suspect they tested sleep problem on asus board, not gigabyte but your post is a good start i think... FYI, I've updated my signature with my BIOS settings. All the OC'info info is in there. @waldo_pepperjack My DSDT is in my signature. Have you posted your DSDT? I can't tell what you've already done. Try something like this. You'll have to edit your FIDs and VIDs. Scope (_PR) { Name (PSS, Package (0x06) { Package (0x06){Zero,Zero,0x0A,0x0A,0x4820,0x4820}, Package (0x06){Zero,Zero,0x0A,0x0A,0x081E,0x081E}, Package (0x06){Zero,Zero,0x0A,0x0A,0x471C,0x471C}, Package (0x06){Zero,Zero,0x0A,0x0A,0x071A,0x071A}, Package (0x06){Zero,Zero,0x0A,0x0A,0x4618,0x4618}, Package (0x06){Zero,Zero,0x0A,0x0A,0x0616,0x0616} }) Name (PSD, Package (0x05) { 0x05,Zero,Zero,0xFC,0x04 }) Name (CST, Package (0x03) { 0x02, Package (0x4){ResourceTemplate (){Register (FFixedHW,0x01,0x02,0x000,,)},One,One,0x3E8}, Package (0x4){ResourceTemplate (){Register (SystemIO,0x08,0x00,0x414,,)},0x2,One,0x1F4}, }) Processor (CPU0, 0x00, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU1, 0x01, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU2, 0x02, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU3, 0x03, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } } Link to comment Share on other sites More sharing options...
Detrich Posted January 7, 2010 Share Posted January 7, 2010 Scope (_PR) { Name (PSS, Package (0x06) { Package (0x06){Zero,Zero,0x0A,0x0A,0x4820,Zero}, Package (0x06){Zero,Zero,0x0A,0x0A,0x081E,One}, Package (0x06){Zero,Zero,0x0A,0x0A,0x471C,0x02}, Package (0x06){Zero,Zero,0x0A,0x0A,0x071A,0x03}, Package (0x06){Zero,Zero,0x0A,0x0A,0x4618,0x04}, Package (0x06){Zero,Zero,0x0A,0x0A,0x0616,0x05} }) Name (CST, Package (0x02) { One, Package (0x4){ResourceTemplate (){Register (FFixedHW,0x01,0x02,0x00...0,)},One,One,0x3E8}, }) Processor (CPU0, 0x00, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (CST, _CST) } Processor (CPU1, 0x01, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (CST, _CST) } Processor (CPU2, 0x02, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (CST, _CST) } Processor (CPU3, 0x03, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (CST, _CST) } } kdawg, let the LPC do its job Link to comment Share on other sites More sharing options...
waldo_pepperjack Posted January 7, 2010 Share Posted January 7, 2010 Have you posted your DSDT? I can't tell what you've already done. waldo's 4th revision of his dsdt.dsl - still trying to get vanilla speedstep ... Before I tried adding in the speedstep stuff, I already had included in the dsdt.dsl: giga-enet working properly, TimeMachine & Bonjour goodness HDA Legacy sound - excellent Video/Graphics/Display - perfect Sleep & USB issues all fine ahh, and yes LPC seems to be OK when I run lspci ... Link to comment Share on other sites More sharing options...
hrvy Posted January 7, 2010 Share Posted January 7, 2010 Hey, with the initial post I got speedstepping working but sound in Itunes or any other app was choppy. So i decided to use voodopowermini and nullcpupowermanagement. With these kext my system runs smooth. Today I tried the way kdawg posted (deleted nullcpu and powermini) but I couldn't even boot into my system after changing the dsdt and adjusting the values. Strange thing is that I couldn't even boot with my old DSDT which seemed to work (with choppy sound) before. However as I installed nullcpupowermanagement back I still had speedstepping and could boot into my system. I cleaned up the cache with kext utility and AppleLPC is found in iOREG I attach my DSDT and the modified code from kdawg. Maybe someone can help me out. The attached DSDT is/was working for me as the code from kdawg won't let me boot. Scope (_PR) { Name (PSS, Package (0x05) { Package (0x06){Zero,Zero,0x0A,0x0A,0x0A24,0x0A24}, Package (0x06){Zero,Zero,0x0A,0x0A,0x0922,0x0922}, Package (0x06){Zero,Zero,0x0A,0x0A,0x0820,0x0820}, Package (0x06){Zero,Zero,0x0A,0x0A,0x071E,0x071E}, Package (0x06){Zero,Zero,0x0A,0x0A,0x061B,0x061B}, }) Name (PSD, Package (0x05) { 0x05,Zero,Zero,0xFC,0x04 }) Name (CST, Package (0x03) { 0x02, Package (0x4){ResourceTemplate (){Register (FFixedHW,0x01,0x02,0x000,,)},One,One,0x3E8}, Package (0x4){ResourceTemplate (){Register (SystemIO,0x08,0x00,0x414,,)},0x2,One,0x1F4}, }) Processor (CPU0, 0x00, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU1, 0x01, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU2, 0x02, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU3, 0x03, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } } DSDT.dsl.zip Link to comment Share on other sites More sharing options...
kdawg Posted January 7, 2010 Share Posted January 7, 2010 Hey,with the initial post I got speedstepping working but sound in Itunes or any other app was choppy. So i decided to use voodopowermini and nullcpupowermanagement. With these kext my system runs smooth. Today I tried the way kdawg postet but I couldn't even boot into my system after changing the dsdt and adjusting the values. Strange thing is that I cant even boot with my old DSDT which seemed to work flawlessly for me. However as I installed nullcpupowermanagement back I still had speedstepping. I cleaned up the cache with kext utility. I attach my DSDT and the modified code from kdawg. Maybe someone can help me out. Scope (_PR) { Name (PSS, Package (0x05) { Package (0x06){Zero,Zero,0x0A,0x0A,0x0A24,0x0A24}, Package (0x06){Zero,Zero,0x0A,0x0A,0x0922,0x0922}, Package (0x06){Zero,Zero,0x0A,0x0A,0x0820,0x0820}, Package (0x06){Zero,Zero,0x0A,0x0A,0x071E,0x071E}, Package (0x06){Zero,Zero,0x0A,0x0A,0x061B,0x061B}, }) Name (PSD, Package (0x05) { 0x05,Zero,Zero,0xFC,0x04 }) Name (CST, Package (0x03) { 0x02, Package (0x4){ResourceTemplate (){Register (FFixedHW,0x01,0x02,0x000,,)},One,One,0x3E8}, Package (0x4){ResourceTemplate (){Register (SystemIO,0x08,0x00,0x414,,)},0x2,One,0x1F4}, }) Processor (CPU0, 0x00, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU1, 0x01, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU2, 0x02, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU3, 0x03, 0x00000410, 0x06){ Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } } Try changing this: Device (PX40) { Name (_ADR, 0x001F0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x16, 0x29, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Into this: Device (PX40) { Name (_ADR, 0x001F0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x18, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Be sure to remove nullcpupowermanagement after too. ICH9 is not supported by OS X those device IDs you have there now are ICH9. You need to use ICH10. That goes for USB devices etc. waldo's 4th revision of his dsdt.dsl - still trying to get vanilla speedstep ... Before I tried adding in the speedstep stuff, I already had included in the dsdt.dsl: giga-enet working properly, TimeMachine & Bonjour goodness HDA Legacy sound - excellent Video/Graphics/Display - perfect Sleep & USB issues all fine ahh, and yes LPC seems to be OK when I run lspci ... Couple things I don't see what processor you have. Second you need to add this as well: Device (PX40) { Name (_ADR, 0x001F0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x18, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Link to comment Share on other sites More sharing options...
waldo_pepperjack Posted January 7, 2010 Share Posted January 7, 2010 Thanks for the help... Couple things I don't see what processor you have. Q9550 Second you need to add this as well: Device (PX40) { Name (_ADR, 0x001F0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x18, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Does that need to be added even if I see this?: MacPro:~ waldo$ lspci | grep LPC 00:1f.0 ISA bridge: Intel Corporation 82801JIB (ICH10) LPC Interface Controller I thought I understood from FOrmerlyKnownAs's initial post that I wouldn't have to tinker w/ that if I saw LPC validly listed in lspci... On second inspection now I think I misunderstood it... but I see this in IORegExplorer Link to comment Share on other sites More sharing options...
kdawg Posted January 7, 2010 Share Posted January 7, 2010 Thanks for the help... Q9550 Does that need to be added even if I see this?: MacPro:~ waldo$ lspci | grep LPC 00:1f.0 ISA bridge: Intel Corporation 82801JIB (ICH10) LPC Interface Controller I thought I understood from FOrmerlyKnownAs's initial post that I wouldn't have to tinker w/ that if I saw LPC validly listed in lspci... On second inspection now I think I misunderstood it... but I see this in IORegExplorer Hmmm Type kexstat in terminal. Do you see an entry for com.apple.driver.AppleLPC? Link to comment Share on other sites More sharing options...
waldo_pepperjack Posted January 8, 2010 Share Posted January 8, 2010 Hmmm Type kexstat in terminal. Do you see an entry for com.apple.driver.AppleLPC? MacPro:~ waldo$ kextstat | grep LPC 60 0 0xffffff7f808c2000 0x3000 0x3000 com.apple.driver.AppleLPC (1.4.9) <9 5 4 3> Link to comment Share on other sites More sharing options...
Recommended Posts