[Release] Resizable BAR BIOS EFI Module

You probably triggered boot guard.

I’ve seen some way that OEM UEFI only allow modifications to one region, you can use UEFITool NE to check

Who Watch BIOS Watchers?. Bypass specific AMI implementations of… | by Alex Matrosov | Firmware Threat Hunting | Medium read this if you want to know more. You should only touch the white sections

I there, i am following this guide: GitHub - xCuri0/ReBarUEFI: Resizable BAR for (almost) any UEFI system to add Resizable Bar to my Maximus V Gene whit an i7 3770k and a gtx 980.

Despiste have passed 12 hours following the guide i am stuck on the Padding problem when after aplying the patches to the bios after adding the Rebar module, the bios pading files gets messed up.

Would be great to have some help since all the standard solutions are not working (whit the other tool MMTool), and i canot understand from the infomations that i found how to fix the padding bug by manualy editing whit an hex editor, explanations are quick and dont make any sense in the way the wrote them.

Thank you.

Hey TenthLegacy would you do the same for my bios? (Asus Z97-A 3.1)
Z97-A-USB31-ASUS-3503.zip (5.6 MB)

Z97AU31.zip (5.6 MB)

I have done everything required.

I am a bit concerned though as it’s a .cap file.

Do you have any way to recover your bios from a bad flash if this does not work for you?

Basically, do not just go and flash it unless you know BIOS flashback is available and or you can recover form a bad flash.

Hopefully all is well.

Hello, have you tried flashing with AFUDOS from a bootable USB?

I’m currently trying to mod the Bios for my ASUS B250M-Plus using the ReBarUEFI guide and tools.

I used the UEFITool to handle the .ffs file and insert the DXE driver and UEFIPatch to apply the patches.txt file.

The output of UEFIPatch was:

UEFIPatch_0.28.0_linux_x86_64]$ ./UEFIPatch PRIME-B250M-PLUS-PATCHED.CAP patches.txt -o B250M-PATCHED.CAP
parseImageFile: Aptio capsule signature may become invalid after image modifications
patch: replaced 8 bytes at offset 88B1h 81E10080000033C1 -> 9090909090909090
patch: replaced 8 bytes at offset 88B1h 81E10080000033C1 -> 9090909090909090
Image patched

I tried to next follow the padding issues part of the ReBARUEFI guide, but I can’t seem to figure out if I have the padding issue using the screenshots in the guide. That’s problem #1. Perhaps I’m just not understanding where I have to look.

My second problem is, I’m unsure if I need to do anything with DSDT on this board. My board doesn’t seem to fall under any categories listed as required in the DSDT part of the guide.

I’m on Linux so I ran sudo dmesg | grep "root bus resource" per the guide.

The output was:

[    0.183815] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.183817] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.183818] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.183820] pci_bus 0000:00: root bus resource [mem 0xc8000000-0xf7ffffff window]
[    0.183821] pci_bus 0000:00: root bus resource [mem 0x2000000000-0x2fffffffff window]
[    0.183822] pci_bus 0000:00: root bus resource [mem 0xfd000000-0xfe7fffff window]
[    0.183823] pci_bus 0000:00: root bus resource [bus 00-3e]

I’m unsure if my line ending in ffffff indicates I don’t need to mess with DSDT as per the ReBarUEFI guide, but I certainly see a bunch of f’s lol.

Can anyone offer an insight on these two issues? Assuming, I don’t need to touch the DSDT stuff, if my padding is correct, I should then only have to flash the Bios to get ReBar?

Thank you for anyone that can help!

Hi,
I tried to mod my bios for resizable bar but my skills are too limited so if someone could help me it would be great. Here is the original bios 2104.
Thanks for your help.
P8Z77-V-DELUXE-ASUS-2104.zip (4.5 MB)

Hey Thanks TenthLegacy!

I have no bios flashback. Can I recover with AFUDOS? Or would I need a physical connector?

I had to purchase a physical flasher after I bricked it the second time.

You can also buy replacement chips because they just pull out and can be replaced by sellers on Ebay.

They are only a few pounds/dollars. Maybe but one for your motherboard first, then start flashing and messing around.

It might be ok, I just can’t test it myself and don’t want to cause any issues for you.

I used MMTool to insert the ReBar, UEFIPatcher to patch the bios, I then opened the patched bios in MMTool again and extracted all the patched items.

I then opened the unpatched bios, and inserted the items that were oatxhe into it.

I then ran ubu on it and saved it as flashback which created the Cap file.

It’s the last bit I am not sure about, I am not sure I I should have done the part that makes it a. .Cap extention.

I’ve only ever successfully done it with bin file.

Maybe someone else can clarify for us?

@ helderlopes
in my post, you can see the mod maded by me…is bios 4001…cheers

I’ve been trying to setup RebarDxe for quite some time now and it just doesn’t work for me, I am still not sure why. I went through every single step from Github and it never worked. Always the same outcome - laptop stays in some kind of limbo mode, it doesn’t try to boot. When I press the shutdown button - fans ramp up for 5 seconds and it turns off. I also tried NvStrapsReBar - same result. My laptop is Dell Precision M4800, I have a Quadro T1000 GPU in it.

Also when trying to change Max TOLUD to the lowest value (1 GB in my case) - it does the same, won’t boot.

I got my hands on a Dell Precision T1650 (C216 chipset) which is the upmarket version of Dell Optiplex 7010 (Q77 chipset). Bios wise they are basically the same so what I am asking about should apply to both.

I don’t yet have a BAR enabled GPU but am doing this as a test on the viability of the system.

The machine has hidden 4G decoding that can be enabled via modGRUBShell and it has no problems applying the Ivy Bridge UEFIPatches EXCEPT 16GB MMIO region patch.

The result after applying 4G decoding and rest of the patches is Large Memory has a strange size: 0x61E5FFFFF. The machine has 8GB ram installed.

I took a look in Ghidra but can’t figure it out. The Dell implementation does not look to be 16GB limited but has some strange calculation going on. I think the interesting part is at 0x62a offset, I checked an Asus board with Z77 chipset where the MMIO patch is applied to compare but I can’t quite figure it out for the Dell. I attached the 8D6756B9-E55E-4D6A-A3A5-5E4D72DDF772 efi body:
Section_PE32_image_PciHostBridge_PciHostBridge_body_T1650.zip (6.0 KB)

Patch your DSDT.

Maybe you will need to develop a new patch for PciHostBridge though. There already is a Dell one but I guess it’s not for C216

I might have worded it bad - the MMIO patch cannot be applied, there is no matching pattern. Where is the Dell one? As I already have the module in Ghidra I might as well take a look if it is the same/adaptable. Is the DSDT mod safe to do without the MMIO patch - don’t really have a comfortable setup to reflash a brick…

Yes DSDT modification rarely causes issues by itself

I did DSDT modification and here is the result:


So is there a way to see if MMIO is working as it should. I found the EFI MMIOprint utility in this thread, here is what it shows:

Not sure how to interpret it to see if there is still a need to to patch for full MMIO.

@Marvin you dont need to make any patch.

0x21e600000 (9GB) + 0xDC1A00000 (55GB) = 64GB which is correct.

still you will need the already existing patches but i think you know that.

1 Like

Hello, im on a MSI Z97-G43 and RX580 in gpuz its look like this,


I understand that the only solution is to modify the bios to enable resizable bar ?
i tried to use ReBarState.exe but no result

Hello @tomixl2 o/,

Is the board a MSI Z97-G43 ?

EDIT: This board? MSI Global - The Leading Brand in High-end Gaming & Professional Creation | MSI Global - The Leading Brand in High-end Gaming & Professional Creation

Have you attempted to do the mod or just tried the ReBarState.exe?

Also, Which GPU are you going to be using?

Best regards,

-68k