[ipxe-devel] 64 bit bARS support.

Michael Brown mbrown at fensystems.co.uk
Fri May 24 12:16:16 UTC 2013


On 24/05/13 10:54, Alex Markuze wrote:
> I’ve noticed that the iPXE code has macros and comments regarding the
> support of 64 bit BAR addresses.
>
> Has this code been ever validated? Does it work or does it still need
> patching?

The code is working as far as I know.

The special handling for 64-bit BARs is twofold: firstly we need to 
detect BARs that are 64-bit capable and treat them as such (i.e. treat 
the next BAR as the high dword rather than being a separate BAR); 
secondly we need to fail to map 64-bit capable BARs if there's no way 
for the CPU to access them (i.e. if the BIOS has assigned an address 
above 4GB and we are running a 32-bit binary).

Most BIOSes should assign addresses below 4GB even for 64-bit capable 
BARs, to allow for access from within a 32-bit OS.

Under UEFI, the problem goes away since we (usually) run as a 64-bit binary.

Michael



More information about the ipxe-devel mailing list