netkas.org forum
March 26, 2017, 03:48:45 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Information for registering users http://forum.netkas.org/index.php/topic,2246.0.html
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Force your PCIE slots to 2.0 mode on non-EFI cards! (2010 Mac Pro)  (Read 1259 times)
machax
Newbie

Offline Offline

Posts: 2


« on: November 30, 2016, 07:14:01 AM »

**** YOU DO THIS AT YOUR OWN RISK, I TAKE NO RESPONSIBILITY FOR DAMAGES CAUSED BY FOLLOWING THIS GUIDE****

Hello everyone.

You might be interested to know that it is indeed possible to set PCIE 2.0 on ALL slots in your mac pro regardless of EFI drivers.  I've only tested this on the mac pro, but it may work on other systems with different PCI memory offsets.  This guide is currently only for the bottom two x16 slots.

This is done by directly modifying the PCI root device's memory space before boot.  This sounds a LOT more complicated than it really is.

Steps:

1. Install refit
2. Boot into efi shell
3. Run the following commands:

Offsets:
Bottom x16 slot: 00000300c0
Top x16 slot: 00000700c0

For each offset, run:

Code:
mm <offset> PCI

This will bring up a prompt similar to this one:
PCI 0x0000000000300c0 : 0x01 >

The 0x01 at the end indicates the target link speed, valid values are 0x01 for pcie 1.1, and 0x02 for pcie 2.0.

Enter '02' then press enter to set pcie 2.0 for that slot.

Exit mm by entering 'q' then enter.

4. Now get back to refit using the following commands:

Code:
fs0:
cd efi
cd refit
refit.efi

5. Select your OS and enjoy that sweet PCIE 2.0

Note: This is easily scriptable.  I will write a boot script based off this for refit/refind soon that will set pcie 2.0 for all slots on the 2010 mac pro.

EDIT:

Here's the script I made.  Install refit and put this script at the root of your EFI volume as "startup.nsh".

Code:
for %i in 00000300c0 00000700c0
        mm %i 1 ;PCI :2
endfor
fs0:\efi\refit\refit.efi

Now when you select efi shell in refit, your x16 slots will get set to 2.0, then you'll drop back into refit.  If you don't do anything, it will try to boot into the efi shell after the timeout, basically looping.  You'll have to either edit the last line in the script to point to your chosen OS, or just deal with manually selecting your OS every boot.

Edit 2:  Looks like waking the system from sleep resets the registers, I'm working on something to remedy that issue soon.
« Last Edit: November 30, 2016, 09:00:12 AM by machax » Logged
troy2062
Newbie

Offline Offline

Posts: 11


« Reply #1 on: February 06, 2017, 07:15:33 PM »

Does this work for both OS X and Windows installations?
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines
SMFAds for Free Forums
Valid XHTML 1.0! Valid CSS!