[Release] Resizable BAR BIOS EFI Module

If you have the tools:-

I would take the chip off the board and do a full read and verify of it.

Erase the chip, flash the new file and verify

Then put the chip back on

If it boots \ :slight_smile: /

if not :cry:
.

If you don’t have the tools:-

HP did have a BIOS recovery method around the time this system was released.
It involved putting the latest BIOS from HP on a USB stick with a default name (model neame I think). Putting the stick into a USB2 port (NOT a USB3). Turning it on and letting it do the things.

There may be some info about it on this forum

EDIT:-

I’ve had a quick google search and found a picture that is supposed to be of the board you have. It is an MSI board MS-7A02 Ver 1.0

EDIT 2:- As @MeatWar points out above, if you are not competent at doing the removal and replacement of the chip, do not attempt it. Try the USB flashback method.

EDIT 3:- I did some searching for the BIOS recovery things. Take a look here—> https://support.hp.com/gb-en/document/ish_3932413-2337994-16

Also, I did find a website that had some instruction specific to the model

Source Page

> to enable bios recovery on this model:
> prepare an usb key with the extracted bios from the official update
> bios must be on \hewlett-packard\bios\current named both with original name (N03_0237.bin) and bios.bin
> insert the usb key on a usb-2 port, power off the pc if not already
> locate on the M/B the jumpers marked as BBR and short them, use a firm short,not a screwdriver, i soldered a wire.
> power on and wait it reflash, when it turn off remove the short on BBR
> do not attempt to flash a image taken on internet with a programmer because it screw the intel me and cause a lot of troubles.

Hello @68k-dude , I have a Supermicro H11DSi rev. 2.0 motherboard that I use with Epyc 7xx2 generation processors. I have attemped to add the RebarDxe FFS to the V2.8 BIOS (available here) using UEFITool 0.28.0 and then flashing the BIOS using AFU via EFI Shell - using the flash.nsh EFI Shell script that is provided with the stock BIOS but I always get this error when trying to flash it:

Error 18 - Secure Flash Rom Verify fail.

Is there some signature check before the BIOS file is flashed? Is there a way to bypass it?

I’ve seen some success stories with H11DSi-NT but I am stuck here.

Thanks

Hello @vlnkaka ,

Have you tried flashing the stock unmodified BIOS file with the method you are using?

It you can flash the stock file, you might try to then flash your modified file immediately afterward. Flashing a stock file can “unlock” the chip.

I have a H11DSi-NT myself, but it is rev.1.

I’m thinking of swapping out the flash chip for the larger chip that is required for the Rev 2 BIOS.

Good luck,

-68k

Hi, good news for Supermicro folks here: I tried flashing the modified BIOS image via the IPMI/BMC web interface - there is a BIOS Update option. The update went through, no signature verification was made.

Using the supplied ReBarState.exe binary, I managed to get Resizable BAR working on my Intel Arc A310 on Windows. Hopefully it will go just as well when I try on Linux.

Thank you for your help


2 Likes

can confirm it works on Linux as well

Hello, I am trying to enable Above 4G Decoding / Resizable BAR support in Windows for my Gigabyte GA-Z97X-Gaming7 motherboard. However I am not seeing “4G Decod” in the UEFI BIOS when I extract using UEFITool. Could someone assist me with the process? Bios revision is F8, download from Gigabyte’s website is here:

https://download.gigabyte.com/FileList/BIOS/mb_bios_ga-z97x-gaming7_f8.zip?v=085c1cf26cb6518414d5b8c5a04dd6aa

Thank you all

Hello @Tropick ,

What BAR size can you set without Above 4GB Decode?

I’ve seen an F9b version on this forum and I have it downloaded for some reason. I might have looked at it before.

I have this bookmark for Gigabyte Beta files . Scroll down until you see the one you want

https://www.tweaktownforum.com/forum/tech-support-from-vendors/gigabyte/28656-gigabyte-latest-beta-bios/page10

Best regards,

-68k

Hello @68k-dude ,

Sorry to directly contact you but i’m no verry confident in modding bios etc… I saw that you seem to be good at this kind of things ?! Could you please tell me the next steps to unlock the rebar on my computer ?

I already post on github, but i think i will never got an answer… Here is the post i put there :

Hello !
I recently got for free an old computer, and decided to add a video card in there… The wondeful Sparkle Arc A380 (was the only one “decent” card who fits the case 146mm x 75mm).

The computer is this one :
Thinkcentre M910s SFF
CPU i5 7500 + Motherboard lenovo 3106 (chipset q270) + SSD samsung evo 850 + PSU 210W and on the top of that the Sparkle Arc a380 genie (without 8pins connexion)

It seemed to be a good idea, till i saw that 30% of the fps are cuted down by the non activated 4G decoding/resizable bar.

Sorry for my english… i’m french. After many hours of trying without modding the mainboard, i finnaly suceed to change the status of above 4g to yes on gpu-z, but still no rebar enabled, and the bar0 still remain at 256MB.

How can i achive the work ?

Here are some informations, who maybe can help ? :

I did all the process to enbale hidden above 4g. Used UEFITool_v0.28.0, then ifrextractor_v1.51.1_Windows => obtained that informations :

OneOf Prompt: “Memory Remap”, Help: “Enable/Disable Memory Remap above 4GB”, QuestionFlags: 0x10, QuestionId: 0x37, VarStoreId: 0x1, VarOffset: 0x86B, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x1, Step: 0x0
OneOfOption Option: “Enabled” Value: 1, Default, MfgDefault
OneOfOption Option: “Disabled” Value: 0

OneOf Prompt: “Above 4GB MMIO BIOS assignment”, Help: "Enable/Disable above 4GB MemoryMappedIO BIOS assignment

This is disabled automatically when Aperture Size is set to 2048MB.", QuestionFlags: 0x10, QuestionId: 0x49, VarStoreId: 0x1, VarOffset: 0x7B1, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x1, Step: 0x0
OneOfOption Option: “Enabled” Value: 1
OneOfOption Option: “Disabled” Value: 0, Default, MfgDefault

OneOf Prompt: “Aperture Size”, Help: "Select the Aperture Size

Note : Above 4GB MMIO BIOS assignment is automatically enabled when selecting 2048MB aperture. To use this feature, please disable CSM Support.", QuestionFlags: 0x14, QuestionId: 0x2735, VarStoreId: 0x1, VarOffset: 0x70F, Flags: 0x10, Size: 8, Min: 0x0, Max: 0xF, Step: 0x0
OneOfOption Option: “128MB” Value: 0
OneOfOption Option: “256MB” Value: 1, Default, MfgDefault
OneOfOption Option: “512MB” Value: 3
OneOfOption Option: “1024MB” Value: 7
OneOfOption Option: “2048MB” Value: 15

Then, i tried to change the values with a bootable drive (grub) => with the command setup_var etc.

The only think who changed was the status of above 4g in GPU-Z.

Thanks in advance for some help !

From France.

Mickael

Hello @mikehell87,

Did you use UEFITool to insert the ReBarDxe.ffs module at the end of the DXE driver section?

After adding that there might also be patches to apply.

After that you set the ReBAR size in Windows using ReBarState at the command line.

If you get stuck I can help via PM.

Once it is working, you can make a follow-up post here with the info.

Best regards,

-68k

2 Likes

Hey @68k-dude !

So nice that you answered so fast,

I will answer directly after your questions :

Did you use UEFITool to insert the ReBarDxe.ffs module at the end of the DXE driver section?
=> I have UEFITool but i’m not sure it’s working because i never saw the region thing there and difficult to find the dxe drivers in the list ?!

It says invalid uefi volume… and the strucutre of the bios did not look how it should be ?

Is this normal ?

After that what tool should i use to insert the moded bios on the motherboard ?

After adding that there might also be patches to apply.

After that you set the ReBAR size in Windows using ReBarState at the command line.
=> i tryed without the moded bios and the value did not change in gpu-z… Should i tape 32 to put maximum value available ?

If you get stuck I can help via PM.
=> How can i contact you on this website ?

Once it is working, you can make a follow-up post here with the info.

I really appreciate your help !

Kind Regards,

Mike

there were some doubts about supported CPUs previously, and no confirmations from anyone it works on anything older than ryzen

i can say this worked on FX9830P mobile CPU, so far only in linux
patched DSDT Qwordmemory base, length and max values only, it started allocating 4GB BAR on RX460 but would crash with the messages like these

[    2.796609] amdgpu: 
                failed to send message 254 ret is 0
[    4.476521] amdgpu: SMU load firmware failed
[    4.476525] fbcon: Taking over console
[    4.476527] amdgpu: fw load failed
[    4.476529] amdgpu: smu firmware loading failed
[    4.476533] amdgpu 0000:02:00.0: amdgpu: amdgpu_device_ip_init failed
[    4.476537] amdgpu 0000:02:00.0: amdgpu: Fatal error during GPU init

it also needs BIOS patch, but first i tried to make it work by manually setting MMIO registers
in BKDG document for this series CPU there are several base/limit pairs with only 3 of them being used

added another pair with base/limit values that i entered to DSDT, first write limit value to e.g. 0x94 and then base value to 0x90 - here also needed to set R/W bits so if you set base of e.g. 0x55F0000 with R/W bits that is 0x55F0003

modprobe amdgpu (need to boot with blacklisted amdgpu) and login now RX460 starts properly with 4GB BAR

superposition showed no difference
gravitymark showed small improvement with SAM
scores were mostly 4498-4512 without SAM and 4519-4529 with SAM active

as it is linux API choice is limited so this was opengl and also CPU was nowhere near full load. so i think in actual gaming scenario on windows (dx11,dx12) it should make a somewhat better improvement

@karmic_koala You could document your findings somewhere, I’m sure it works on desktop AM3 CPUs too which some ppl are interested in. There are a few people who tried to Resizable BAR working on them but failed because of these registers needing to be set.

Meanwhile Intel apparently just works except on HEDT platforms and doesn’t need any registers set (or the BIOS/UEFI makers already do it correctly).

I have searched for information on adding RESIZABLE BAR to our BIOS and it seems to be possible and thus be able to continue giving life to our boards.
There is a very detailed tutorial in Spanish on YouTube with instructions but I do not consider myself the right person to carry out this task, I am not that skilled.
Today I am still running my Asus Crosshair V Formula-z, 16Gb of Ram, AMD amd fx-8350, GTX1660 and Windows 11 with M.2 disk boot. and I don’t want to change it, it works like lightning.
Does anyone dare to update the v17 BIOS of this forum and add Resizable Bar? I can provide tests on my computer.
Thanks.

Hi, please i need help modding my bios using the v3 of rebar mod - that allow me to enable rebar feature - i cant mod it cuz im noob
but, i can to enable above 4G using modgrub - thanks

the link:
https://dlcdnets.asus.com/pub/ASUS/mb/LGA1150/Z97-A/Z97-A-ASUS-3503.zip?model=Z97-A

what gpu are you using rn?

8gb amd rx vega 64 sapphire nitro

Z97-A-ASUS-3503-RebarUEFI.zip|attachment (5.5 MB)(UEFIPatch applied)

worked version here.

i flashed it successfully and enabled above 4G - disabled csm
but cant get rebar to work from ReBarState.exe

can you provide older bios web page link for this MB?

sure, here you are the both links to the original one .cap and updated one in .Rom:
choose the one that will work best