[Request] Above 4G decoding for AsRock z97 Extreme 9 and Asus P8P67 evo

Hi everyone, I’ve read a ton of threads on this argument but I haven’t been able to figure the procedure out myself.
I’m really interested in testing the perfomance difference this mod can provide to this old HW paired with modern GPUs.

So I hope someone can do the magic for me and, if possibile, enable above 4G decoding in the two attached BIOS.

AsRock z97 extreme 9 (BIOS already modded to disable ME):
Z97Ex9_200.zip (4.4 MB)

Asus P8P67 EVO:
P8P67-EVO-ASUS-3602.zip (3.0 MB)

Thank you for your time.

Have you tried GitHub - LongSoft/Universal-IFR-Extractor: Utility that can extract the internal forms represenation from both EFI and UEFI modules. ? Worked to find the hidden setting on my motherboard I just had to then set it with grubmodsetupvar

Hi, ty for the suggestion but the software gives me error: protocol unknown with both file.

did you extract the Setup module using uefitool and run it on that ? that’s how your are supposed to run it

Yes, but I only got body and header bin files, I didn’t get anything readable from IRFExtractor.
I’m really not an expert in BIOS editing matter.

Update, I got the export right, I’ll have a look into it but I’m not so confident in the results :smiley:

Above 4G decoding is present in both files:
ifrextract_results.zip (291.0 KB)

Update 2:
launching GPU-Z on the Z97 show this:

It seems on this moderboard above 4G decoding is enabled by default. If that’s true, what am I missing in order to enable Smart Access Memory or Resizable BAR?

@Kuri0 regarding the GRUB testing sadly these two PC are not running linux. I have two linux servers but they are not in the scope.
If this step is necessary I should setup a new dual boot.

You can get grub setup_var from here https://github.com/datasone/grub-mod-setup_var/releases/tag/1.4 no need for Linux.

Also 4G decoding doesn’t give you smart access memory/resizable BAR on Windows (only on Linux).

Though I recently developed a module to get it on older motherboards you could try that if you want. Send screenshot of Device Manager with “View->Resources by Type” with “Large Memory” expanded if you want me to see if it’s possible on your motherboard.

Is it possibile to do the GRUB part via RU.EFI? Is it secure?

Here’s the screenshot for Z97:

P67 (but here 4G decoding is not enabled):

Thank you

don’t think that’s the right tab. large memory should look like this

I do not have large memory :frowning:

If so then 4G decoding isn’t actually enabled

If so I’m back to the starting question. If I get it working via UEFI var ho can I then enable the selection in the BIOS UI in order to flash it?

If I get it working then I will gladly test your module if the motherboard supports it.

Download the modGRUBShell.efi. Place it in EFI/Boot folder on a USB drive and rename it to bootx64.efi. Make sure you have the USB drive marked as bootable and you should be able to boot it. From there you can use setup_var command to enable it.

For example on the Z97 it would be setup_var 0x1 0x1 because we can see VarOffset (the first value in both command and ifr output) is equal to 0x1 in the following. If anything goes wrong you can just pull the CMOS battery back to default

One Of: Above 4G Decoding, VarStoreInfo (VarOffset/VarName): 0x1, VarStore: 0x1, QuestionId: 0x7F, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 ED 0A EE 0A 7F 00 01 00 01 00 10 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0xB5000 One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 0E 04 00 30 00 00 00 00 00 00 00 00 00}
0xB500E One Of Option: Enabled, Value (8 bit): 0x1 {09 0E 03 00 00 00 01 00 00 00 00 00 00 00}


At reboot z97 device manager says PCI x16 Controller cannot find enough resources to work properly:


P67 should work with the module no problems. However the GPU you have in it (R9 280X) seem doesn’t support resizable BAR (according to GPU-Z) and you also need to make sure you’re using a 3rd gen CPU and PCIe 3.0 is working.

does Large Memory not show on the Z97 ?

Sorry, the p67 rig has Arch installed and amdgpu should support resizable bar. Right now it’s still 256mb on both Linux and windows.
Could you mod the BIOS I’ve provided?

No, nothing pops up on the z97 board. Could it be beacuse of the PLX chip? It has a lot of PCIE.

Edit: 3770k so pcie 3

if the hardware does support it linux should automatically enable resizable BAR (given that 4g decoding is enabled). 3770k is capable of resizable BAR but R9 280X isn’t from what I know.

Try contacting ASRock about broken 4G decoding there’s a possibility that they still support the Z97 motherboard. Another thing you could try is setting the setup_var value to 0 (setup_var 0x1 0x0), rebooting and then re enabling it. I had an issue of it being 0x1 but not enabled and doing that fixed it for me.

Already tried that but I had no luck. I will try to contact AsRock support.

Thank you

Another thing I forgot to mention is make sure you have CSM off and UEFI mode Windows install.

Yes CSM off and Windows in UEFI mode. Sadly I don’t think AsRock will help but I’ve tried.

I mod your z97 provided bios and in advanced menu i unlocked the setting pci subsystem that have the setting above 4g decoding. You can enable or disable. Default setting is disabled.
Z97Ex9_2.rar (4.4 MB)

1 Like