USB 快閃支援的 UEFI 需求
Microsoft 提供數個 USB 型快閃解決方案,以用於工程和製造環境。 為了讓裝置與這些工具搭配使用,裝置上的 UEFI 環境必須符合本主題所列的需求。
這些與閃爍相關的需求會擴充UEFI 需求中列出的 UEFI 需求,這些需求適用于所有 Windows 版本和Windows 10 行動裝置版的 UEFI 需求。
必要的 UEFI 通訊協定
通訊協定 | 需求詳細資料 |
---|---|
USB 函式通訊協定 | 針對透過 USB 3.0 的 USB 閃爍,韌體必須實作 UEFI USB 函式通訊協定修訂0x00010002或更高版本,包括 支援 EFI_USBFN_IO_PROTOCOL。ConfigureEnableEndpointsEx 函 式。 如需詳細資訊,請參閱 UEFI USB 函式通訊協定。 |
BlockIO | Microsoft 提供的 USB 快閃解決方案會選取第一個傳回的指標,指向非零大小的區塊 I/O 儲存裝置以進行快閃。 裝置可以是非卸載式或卸載式存放裝置。 |
UEFI desync 事件 (選擇性)
嘗試在快閃期間讀取或寫入磁片的 UEFI 元件必須實作對 UEFI desync 事件的支援 (EFI_EVENT_GROUP_FIRMWARE_DESYNC) ,如下表所述。
需求 | 描述 |
---|---|
UEFI 開機服務支援 | UEFI 韌體必須支援 UEFI 2.3.1 規格 6.1 節中所定義的事件、計時器和工作優先順序服務。 |
事件群組 GUID | Microsoft 使用下列 GUID 定義EFI_EVENT_GROUP_FIRMWARE_DESYNC:{24FA5E72-1A82-49A2-970B-3230372662A5} |
UEFI 韌體事件 | 識別需要定期重新整理或同步處理其狀態的所有 UEFI 韌體元件。 在每個元件中,建立與EFI_EVENT_GROUP_FIRMWARE_DESYNC和 NotifyFunction () 相關聯的事件,讓元件停止重新整理/同步處理回儲存體。 事件的 NotifyFunction () 應該執行元件轉換至還原同步模式所需的任何清除作業。 完成此清除之後,在下次裝置重新開機之前,元件不得重新整理或同步處理其儲存體與快閃。 如果事件的 NotifyFunction 失敗 () ,NotifyFunction () 不應該傳回EFI_SUCCESS。 |
下列程式碼範例示範韌體如何建立事件群組 GUID 事件:
gBS->CreateEventEx (
EVT_NOTIFY_SIGNAL,
TPL_CALLBACK,
FIRMWARE_NOTIFICATION_FUNCTION, // To be defined by SoC Vendor
&FIRMWARE_NOTIFICATION_FUNCTION_CONTEXT, // To be defined by SoC Vendor
&EFI_EVENT_GROUP_FIRMWARE_DESYNC,
&Event // Event returned by CreateEventEx
);