• ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
  • ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
Guidelines
Join the HP Community Solve‑a‑thon | Help Others & Share Your Solutions | Live on Zoom | 2:30 PM to 2:30 AM IST | Every Wednesday Click here to know more
Check out our WINDOWS 11 Support Center info about: OPTIMIZATION, KNOWN ISSUES, FAQs, VIDEOS AND MORE.
HP Recommended
hp g8 800DM
Microsoft Windows 11

Resizable BAR working on HP EliteDesk 800 G8 DM with Intel Arc B580
===================================================================

I wanted to share a successful Resizable BAR configuration on an
HP EliteDesk 800 G8 Desktop Mini.

SYSTEM
------
HP EliteDesk 800 G8 Desktop Mini
Intel Core i7-11700
HP T21 BIOS 02.22.00
Windows 11
Intel Arc B580 external GPU
M.2 PCIe to OCuLink connection

FINAL RESULT
------------
Resizable BAR: ENABLED

Intel Graphics Software reports:

Resizable BAR: Enabled

The Arc B580 receives a full 16 GB BAR.

Windows BootConfig confirms:

BAR base: 0x6000000000
BAR length: 0x400000000
BAR size: 16 GB
BAR end: 0x63FFFFFFFF

The machine now starts normally and automatically with ReBAR enabled.
There is no UEFI Shell screen and no user input is required.


WHY I DID THIS
--------------
The EliteDesk 800 G8 DM firmware on my machine does not expose settings
for Resizable BAR or Above 4G Decoding.

This is particularly undesirable when using an Intel Arc GPU, where
Resizable BAR is important.

I originally investigated whether the HP BIOS itself could be modified,
but HP's firmware protections made a software-only modified BIOS flash
impractical.

I therefore changed approach:

Could ReBAR be enabled at boot without modifying/flashing the HP BIOS?

The answer turned out to be yes.


THE KEY COMPONENT - ReBarUEFI
-----------------------------
The most important component is ReBarDxe from the ReBarUEFI project by
xCuri0 and contributors.

https://github.com/xCuri0/ReBarUEFI

ReBarDxe can configure Resizable BAR on systems whose firmware does not
normally provide the required setup option.

Simply having ReBarDxe available, however, was not enough to make this
particular HP configuration work automatically.


THE BREAKTHROUGH
----------------
Using an EDK II UEFI Shell, I manually loaded ReBarDxe and then ran:

load ReBarDxe.efi
reconnect -r

After the reconnect, inspection of the Arc B580 showed its large BAR at:

0x6000000000 - 0x63FFFFFFFF

That is exactly 16 GB.

Booting Windows from that state resulted in Windows accepting the
16 GB BAR, and Intel Graphics Software reported:

Resizable BAR: Enabled

This established that the HP hardware/firmware was capable of supporting
the required address space even though HP does not expose a ReBAR option
in the normal BIOS setup.


64-BIT PCI ADDRESS SPACE
------------------------
I also use a Windows DSDT override providing a large 64-bit PCI root
memory aperture.

Working aperture:

Base: 0x4000000000
Length: 0x4000000000

Range:

0x4000000000 - 0x7FFFFFFFFF

This is a 256 GB 64-bit PCI MMIO aperture.

The DSDT is loaded using Windows ACPI table override functionality.
It does not modify or flash the HP BIOS.


FIRST AUTOMATIC VERSION
-----------------------
The first reliable automatic implementation used an EDK II UEFI Shell
and a startup.nsh script.

The important commands were:

load fs1:\EFI\ReBar\ReBarDxe.efi
reconnect -r
fs1:\EFI\Microsoft\Boot\bootmgfw.efi

A small EFI launcher started Shell.efi with the startup script
automatically.

This worked reliably, including after a complete shutdown/cold start.

The disadvantage was cosmetic: the UEFI Shell and reconnect messages
appeared briefly before Windows.


FINAL VERSION - NATIVE EFI LAUNCHER
-----------------------------------
I then wrote a very small native x64 UEFI application to remove the
Shell dependency from the normal boot path.

The final EFI executable is only 4096 bytes.

The essential sequence is:

1. Load ReBarDxe.efi
2. Start ReBarDxe.efi
3. Disconnect PCI controllers
4. Recursively reconnect device-path controllers
5. Load Windows Boot Manager
6. Start Windows Boot Manager

An important discovery was the order of steps 3-5.

An early version loaded Windows Boot Manager BEFORE performing the
disconnect/reconnect.

It then performed the reconnect and attempted to StartImage() on the
previously loaded Windows image.

That failed with:

EFI_INVALID_PARAMETER
0x2

Changing the sequence so that Windows Boot Manager is freshly loaded
AFTER the PCI disconnect/reconnect fixed the problem completely.

The resulting boot path is effectively:

HP UEFI
-> custom ReBarBoot EFI application
-> ReBarDxe
-> PCI disconnect/reconnect
-> Windows Boot Manager
-> Windows 11

No UEFI Shell is displayed during the final boot process.


VERIFICATION
------------
This was not judged solely from the Intel application's ReBAR indicator.

The Windows B580 BootConfig contains the high-memory resource:

Base:
0x6000000000

Length:
0x400000000

0x400000000 bytes = 16 GB.

Intel Graphics Software independently reports:

Resizable BAR: Enabled

The configuration was also tested after a normal shutdown/cold start.


WHAT WAS NOT NECESSARY
----------------------
The final solution does NOT require:

- flashing a modified HP BIOS
- replacing Windows bootmgfw.efi
- replacing Microsoft's EFI directory
- replacing HP's EFI files
- modifying the standard EFI fallback loader

Windows Boot Manager remains available as a fallback.


IMPORTANT WARNING
-----------------
This is an unsupported experimental modification.

Do not copy this blindly to another machine.

UEFI PCI resource allocation, ACPI tables, device topology and firmware
behaviour can differ substantially between systems.

A DSDT suitable for one computer must NOT simply be installed on another
computer.

Anyone experimenting with this should have:

- a complete recovery plan
- original ACPI tables backed up
- Windows Boot Manager kept intact
- a known-good alternative boot entry
- a recovery USB
- Secure Boot implications understood

My custom EFI application is unsigned and my testing was performed with
Secure Boot disabled.


THANKS / CREDITS
----------------
A very large thank you to xCuri0 and everyone who has contributed to
ReBarUEFI.

ReBarDxe is the component that made this possible:

https://github.com/xCuri0/ReBarUEFI

Thanks also to the TianoCore EDK II contributors.

The EDK II UEFI Shell was invaluable during testing, and studying the
EDK II disconnect/connect/reconnect implementation provided the basis
for reproducing the necessary behaviour in the final native launcher:

https://github.com/tianocore/edk2

Thanks to the LLVM project and contributors.

The custom x64 UEFI launcher was compiled with Clang and linked with LLD:

https://llvm.org/

And thanks to everyone who documents and experiments with UEFI, ACPI,
PCIe resource allocation and unsupported hardware configurations.
Without that open technical work, solving something like this would be
considerably harder.
FULL TECHNICAL DETAILS / ReBarUEFI SUCCESS REPORT
-------------------------------------------------
I have published the complete technical report to the ReBarUEFI project
on GitHub:

ReBarUEFI Discussion #392

https://github.com/xCuri0/ReBarUEFI/discussions/392

The discussion documents the HP EliteDesk 800 G8 DM configuration,
16 GB BAR verification, ReBarDxe testing, EDK II reconnect behaviour,
the Shell-based proof-of-concept, and the final native EFI boot method.

It also documents an important finding from development: Windows Boot
Manager had to be loaded AFTER the PCI disconnect/reconnect operation.
Loading bootmgfw.efi before reconnecting and subsequently calling
StartImage() resulted in EFI_INVALID_PARAMETER (0x2).

The final native implementation loads Windows Boot Manager fresh after
the PCI devices have been reconnected.


IMPORTANT NOTE ABOUT THE DSDT
-----------------------------
The DSDT override used on my system is specific to my machine and its
ACPI/PCI resource configuration.

I do NOT recommend copying my compiled DSDT AML file directly onto
another EliteDesk, even if it appears to be the same model.

Anyone attempting a similar modification should dump and inspect the
ACPI tables from their own machine and determine the appropriate PCI
64-bit MMIO aperture for that system.

Installing an incorrect DSDT override can prevent Windows from booting
correctly.

My working configuration uses a 256 GB 64-bit PCI MMIO aperture, but
that should be treated as a description of my tested configuration,
not as a universal HP EliteDesk 800 G8 setting.


SOURCE / COMMUNITY REFERENCE
----------------------------
For discussion, additional technical information, and any future
findings relating to this particular implementation, please see:

https://github.com/xCuri0/ReBARUEFI/discussions/392

FINAL STATUS
------------
HP EliteDesk 800 G8 DM
Intel Core i7-11700
Intel Arc B580 via M.2/OCuLink
HP T21 BIOS 02.22.00
Windows 11

Resizable BAR: ENABLED
B580 large BAR: 16 GB
Automatic unattended boot: WORKING
Cold boot: WORKING
No modified HP BIOS flash required

Verified 31 August 2026.

† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the <a href="https://www8.hp.com/us/en/terms-of-use.html" class="udrlinesmall">Terms of Use</a> and <a href="/t5/custom/page/page-id/hp.rulespage" class="udrlinesmall"> Rules of Participation</a>.
-->