How to Enable and Disable Base Address Register (BAR)

Documentation

Install & Setup

000006139

03/26/2021

Note The X710, XL710, and XXV710 adapters do not support disabling the 64-bit BAR. These Adapters only support 64-bit Registers.

 

What is the problem?

In modern systems, controllers often get assigned 64-bit memory BARs. The 64-bit memory is not a problem for Windows*, Linux*, EFI* environment, and other systems. However, legacy expansion ROMs cannot address above 32-bits.

What am I seeing?

  • PXE

    PXE returns an error message and fails. Common errors are:

    • “PXE-EC8!PXE structure was not found in UNDI driver code segment.”
    • “PXE-EC9: PXENV + structure was not found in UNDI driver code segment.”

    For a complete technical description of the problem, see the last chapter of Boot_Agent_book rev1_9.pdf.

  • iSCSI

    iSCSI boot does not appear in the BIOS bootable device table and never executes.

How do I disable 64-bit BAR?

The change in BootUtil is the addition of two command line parameters: -64d and -64e.

  • Parameter -64d disables 64-bit BAR assignments on a controller.
  • Parameter -64e enables 64-bit BAR assignments on a controller.

Example: BootUtil –nic=xx -64d
Where xx is the NIC number. The nic numbers are listed by running BootUtil with no parameters.

See the BootUtil user guide for complete instructions.

What if 64-bit BAR is already disabled?

If 64-bit BAR is disabled, the BAR must be set to Not Prefetchable.

  • In the Intel® Ethernet Connection I210:
    • EEPROM functions control word 0x21
    • bit 10 is 32-bit BAR
    • bit 9 is PERFBAR (Prefetch).
  • In Intel® 10 Gigabit Ethernet Connections:
    • PCIe* control word 0x3
    • bit 15 is 32-bit BAR. In the datasheet, it is listed as “reserved.”

What utilities can I use to adjust BAR status?

You can edit the image of the EEPROM directly with EEUPDATE or LANConf.

Refer to the Intel® Ethernet Connection datasheet and read the instructions for using either EEUPDATE or LANConf utilities.

Intel® Boot Agent Application Notes for BIOS Engineers (PDF) icon

The Intel® Boot Agent is:

  • A personal computer option ROM.
  • Designed to supply industry standard PXE-compliant pre-boot services for x86 architecture computers.
  • Stored depending on the component design:
    • On a Flash component.
    • On an add-in Network Interface Card (NIC).
    • Integrated into the BIOS.

Size: 94 KB
Date: November 2015
Revision: 1.9

Note: PDF files require Adobe Acrobat Reader*