PCIe设备如何可引导至BIOS / UEFI?

时间:2019-09-24 18:53:14

标签: x86 embedded bios pci-e uefi

我有一个基于Intel的主机系统,带有我公司设计的PCIe子卡。我们能够枚举它,以允许与英特尔处理器共享内存。我希望使子卡的存储空间(可通过PCIe访问)被BIOS / UEFI识别为可启动。

我可以走实现许多HCI标准之一的道路,但这似乎很慢,因为该子卡是由处理器驱动的,而HCI必须以软件实现。一个更具体的问题是,枚举子卡后,BIOS / UEFI是否可以识别一种已知的可引导内存格式?谷歌搜索对我和这些标准并没有产生太大的成功,而BIOS或UEFI在引导过程中如何符合上述标准似乎是部落知识,很难发现。

其他详细信息:

  • 我想在主机CPU上引导Linux或Vxworks。
  • 两个图像均位于子卡的非易失性存储器中。
  • 子卡处理器负责通过PCIe将共享内存中的图像显示给主机CPU。
  • 就主机CPU而言,您几乎可以将子卡视为NVMe或SATA SSD扩展卡,但子卡不仅具有启动主机CPU的功能,还负责更多的功能,这就是这些类型的设备能够做到的不适用于我的应用程序。

1 个答案:

答案 0 :(得分:0)

一种干净的方法是让您的设备暴露PCI Option ROM(UEFI 2.8中的14.4.2节)。您可以相当容易地实现基本的SIMPLE_FILESYSTEM_PROTOCOL,将图像作为文件系统中的文件公开。无需模仿HCI。