如何启用和禁用基本地址寄存器 (BAR)

文档

安装与设置

000006139

2021 年 03 月 26 日

注意X710、XL710 和 XXV710 适配器不支持禁用 64 位 BAR。这些适配器仅支持 64 位寄存器。

 

问题是什么?

现代系统中,控制器通常被分配 64 位内存 BAR。对于 Windows*、Linux*、EFI* 环境和其他系统来说,64 位内存不是问题。但是,传统的扩展 ROM 不能解决 32 位以上的问题。

我看到的是什么?

  • Pxe

    PXE 返回错误消息并失败。常见的错误包括:

    • "PXE-EC8!在 UNDI 驱动程序代码段中未找到 PXE 结构。"
    • "PXE-EC9:PXENV + 结构在 UNDI 驱动程序代码段中未找到。"

    有关此问题的完整技术说明,请参阅Boot_Agent_book rev1_9.pdf 的最后一章

  • iSCSI

    iSCSI 启动不显示在 BIOS 可启动设备表中,并且从不执行。

如何禁用 64 位 BAR?

BootUtil 中的更改是添加两个命令行参数:-64d 和 -64e。

  • 参数 -64d 禁用控制器上的 64 位 BAR 分配。
  • 参数 -64e 在控制器上支持 64 位 BAR 分配。

示例:BootUtil –nic=xx -64d
其中 xx 是 NIC 编号。这些 nic 编号通过无参数运行 BootUtil 列出。

有关完整的 说明,请参阅 BootUtil 用户指南。

如果 64 位 BAR 已被禁用,该做什么?

如果禁用 64 位 BAR,则 BAR 必须设置为"不可预先提取"。

  • 在 I210 英特尔® Ethernet Connection:
    • EEPROM 功能控制词0x21
    • 位 10 是 32 位 BAR
    • 位 9 是 PERFBAR(预先提取)。
  • 在英特尔®万兆位以太网连接:
    • PCIe* 控制字0x3
    • 位 15 是 32 位 BAR。在数据表上,它列为"保留"。

我可以使用哪些实用程序来调整 BAR 状态?

您可以使用 EEUPDATE 或 LANConf 直接编辑 EEPROM 的图像。

请参阅英特尔® Ethernet Connection表,并阅读有关使用 EEUPDATE 或 LANConf 实用程序的说明。

英特尔® Boot Agent BIOS 工程师应用说明 (PDF)icon

其英特尔® Boot Agent是:

  • 个人计算机选项 ROM。
  • 设计用于为 x86 架构计算机提供符合行业标准 PXE 的预引导服务。
  • 根据组件设计进行存储:
    • 在闪存组件上。
    • 在外联网接口卡 (NIC) 上。
    • 集成到 BIOS 中。

大小:94 KB
日期:2015 年 11 月
版本:1.9

注意:PDF 文件需要Adobe Acrobat Reader*