本文檔定義了串列埠控制檯重定向表的內容。 此表格可用來指出序列埠或非舊版 UART 介面是否可與 Microsoft® Windows® 緊急管理服務 (EMS) 搭配使用。
下表提供有關串列埠或非傳統UART介面的配置和使用的資訊。 在 BIOS 或系統韌體使用序列埠進行主控台輸入/輸出的系統上,應該使用此表格來傳達設定的相關資訊,以確保韌體主控台輸出與 Windows EMS 輸出之間的順暢轉換。
此數據表必須與其他 ACPI 數據表一起位於系統記憶體中,而且必須在 ACPI RSDT 數據表中參考。
專利聲明: Microsoft 在兩個選項下提供某些專利權,以實作此規格:
- Microsoft 的社群承諾,可在 https://www.microsoft.com/openspecifications/en/us/programs/community-promise/default.aspx;或
- 截至 2012 年 10 月 1 日,Open Web Foundation 最終規格協議 1.0 版(“OWF 1.0”)可在 Open Web Foundation 網站上獲取。
| Field | Byte Length | Byte Offset | Description |
|---|---|---|---|
| Header | |||
| Signature | 4 | 0 | 'SPCR'. 串列埠控制檯重定向表的簽名。 |
| Length | 4 | 4 | 整個序列埠主控台重新導向資料表的長度 (以位元組為單位),包括 NamespaceString。 |
| Revision | 1 | 8 | 目前的表格修訂版是 4。 |
| Checksum | 1 | 9 | 整個資料表總和必須為零。 |
| OEM ID | 6 | 10 | 原始設備製造商 (OEM) 識別碼。 |
| OEM 資料表 ID | 8 | 16 | 對於串列埠控制檯重定向表,表ID是製造商型號ID。 |
| OEM Revision | 4 | 24 | 針對提供的 OEM 資料表識別碼的序列埠主控台重新導向資料表的 OEM 修訂。 |
| Creator ID | 4 | 28 | 建立資料表之公用程式的廠商識別碼。 |
| Creator Revision | 4 | 32 | 建立表格的公用程式修訂。 |
| Interface Type | 1 | 36 | 指出暫存器介面的類型: 對於修訂版 1:
See the Serial Port Subtypes in Table 3 of the DBG2 Specification. |
| Reserved | 3 | 37 | 必須是 0。 |
| Base Address | 12 | 40 | 使用 ACPI 泛型位址結構描述的序列埠暫存器集基底位址,如果停用主控台重新導向,則為 0。 Note: COM1 (0x3F8) 會是:
|
| Interrupt Type | 1 | 52 | UART使用的中斷型別:
同時具有雙8259和I/O APIC或I/O SAPIC的平台必須設定IRQ位(位[0])和相應的全域性系統中斷位(例如,支援8259和SAPIC的系統為5)。 |
| IRQ | 1 | 53 | UART 所使用的 PC-AT 相容 IRQ:
|
| 全域系統中斷 | 4 | 54 | UART使用的全域系統中斷(GSIV)。 如果 [中斷類型] 欄位的 [位元[1:7] 為 0,則無效。 如果 [插斷類型] 字段的位 3 已設定 (ARMH GIC),則會使用 Arm GIC 插斷控制器。 Arm GIC SGI 和 PPI 中斷不能用於 UART,因此禁止將此欄位設定為 {0, ..., 31} 或 {1056, ..., 1119} 中的任何值。 |
| 配置的波特率 | 1 | 58 | BIOS 用於重定向的波特率:
|
| Parity | 1 | 59 |
|
| Stop Bits | 1 | 60 |
|
| Flow Control | 1 | 61 |
|
| Terminal Type | 1 | 62 | BIOS 用於控制台重定向的終端機協定:
|
| 語言 | 1 | 63 | BIOS 重新導向的語言。 必須是 0。 |
| PCI 裝置 ID | 2 | 64 | 指定包含要用作無周邊埠的 UART 的 PCI 裝置的裝置識別碼。 如果不是PCI裝置,則必須0xFFFF。 |
| PCI 供應商 ID | 2 | 66 | 指定包含要用作無周邊埠的 UART 的 PCI 裝置的廠商識別碼。 如果不是PCI裝置,則必須0xFFFF。 |
| PCI 匯流排號碼 | 1 | 68 | PCI 匯流排號碼 (如果表格描述 PCI 裝置)。 如果不是 PCI 裝置,則必須0x00。 |
| PCI 裝置號碼 | 1 | 69 | PCI 裝置編號 如果表格描述 PCI 裝置。 如果不是 PCI 裝置,則必須0x00。 |
| PCI 功能編號 | 1 | 70 | PCI 功能編號 (如果表格描述 PCI 裝置)。 如果不是 PCI 裝置,則必須0x00。 |
| PCI Flags | 4 | 71 | PCI 相容性會旗標位遮罩。 預設情況下應該為零。
|
| PCI Segment | 1 | 75 | PCI 區段號碼。 對於 PCI 匯流排少於 255 個的系統,此數字必須是 0。 |
| UART 時脈頻率 | 4 | 76 | 對於修訂 2 或更低版本:
|
| 精確波特率 | 4 | 80 | 包含特定的非零波特率,該波特率會覆蓋已配置波特率欄位的值。 如果此欄位為零或不存在,則使用已配置的波特率。 請參閱下列注意事項。 |
| NamespaceStringLength | 2 | 84 | NamespaceString 的長度 (以位元組為單位),包括 NUL 字元。 |
| NamespaceStringOffset | 2 | 86 | 從此結構開頭到欄位 NamespaceString[] 的位移量 (以位元組為單位)。 此值必須有效,因為此字串必須存在。 |
| NamespaceString[] | NamespaceStringLength | NamespaceStringOffset | NUL 終止的 ASCII 字串,以唯一識別此裝置。 此字串包含代表 ACPI 命名空間中此裝置之物件的完整參考。 如果命名空間裝置不存在,NamespaceString[] 必須只包含單一 '.'(ASCII 句號) 字元。 |
關於波特率欄位的注意事項
自建立 SPCR 表格以來,「已配置的波特率」欄位一直作為單位元組欄位存在,並受到作業系統的廣泛支援。 然而,由於它是一個枚舉,因此它精確描述非傳統波特率的能力有限,例如高速 UART 使用的波特率。 因此,添加了精確波特率字段,使固件能夠為支持操作系統提供描述特定波特率(例如 1500000)的 DWORD 值。 當 [精確波特率] 欄位包含非零值時,[已設定的波特率] 欄位應為零。
Revision History
| Date | Rev | Description |
|---|---|---|
| 2/15/00 | .10 | Created |
| 3/1/00 | .50 | ‘SPCR’. 新增簽名資料 |
| 3/20/00 | .55 | 數據修訂為包括端口和 irq |
| 3/22/00 | .56 | 澄清連接埠識別 新增停用重新導向的功能。 已新增一般暫存器位址結構的指標 |
| 3/23/00 | .56a | 格式、免責聲明、文案編輯 |
| 4/24/00 | .6 | 發佈在 WinHEC 的網絡上 |
| 4/24/00 | .6 | 公開審查草案發布 |
| 5/25/00 | .61 | 更正BASE_ADDRESS描述 |
| 5/25/00 | .61 | 公開審查草案發布 |
| 5/31/00 | .7 | 更正BASE_ADDRESS描述範例。 新增16540介面。 |
| 5/31/00 | .71 | 將 GRAS 上的資訊從註釋變更為「*」 |
| 5/31/00 | .71 | 公開審查草案發布 |
| 6/1/00 | .72 | 將 GRAS COM 連接埠範例變更為小端。 在行尾新增文字 |
| 7/12/00 | .75 | 修復了 IRQ 描述。 修復了各種格式問題 新增了 PCI 匯流排資訊。 |
| 7/26/00 | .76 | 更新為 PCI 欄位名稱「裝置編號」。 更改了介紹語言以包含非遺留 UART。 |
| 8/10/00 | .77 | 更改中斷資訊,新增APIC和SAPIC新增流量控制 |
| 9/22/00 | .78 | 新增 PCI 區段 |
| 10/25/00 | .80 | 修復了 PCI 標誌部分。 新增終端類型新增 16450 FCR 資訊 |
| 10/1/01 | .95 | 已移除的語言代碼 |
| 1/11/02 | 1.00 | 將更新的授權規格新增至 1.00 |
| 3/12/14 | 1.01 | 根據 Microsoft 社群承諾發布 |
| 6/2/14 | 1.02 | 將表格修訂變更為 2,並新增對 DBG2 規格中定義的其他介面類型的支援。 |
| 8/10/15 | 1.03 | 更新專利聲明。 |
| 7/23/2018 | 1.04 | |
| 6/5/2020 | 1.05 | Edited formatting |
| 9/1/2020 | 1.06 | 編輯格式並更新了 DBG2 規範的鏈接 |
| 2/17/2021 | 1.07 | 修正了停止位欄位中的錯誤描述。 復原意外移除「流量控制」欄位。 Edited formatting. |
| 10/7/2021 | 1.08 | 將表格修訂更改為 3,並為 UART 時鐘頻率創建字段。 Edited formatting. |
| 4/10/2023 | 1.09 | 將表格修訂更改為 4。 已將 RISC-V 和輪詢支援新增至 [中斷類型] 欄位。 新增欄位:Precise Baud Rate、NamespaceStringLength、NamespaceStringOffset 和 NamespaceString[]。 |
| 5/1/2023 | 1.10 | 澄清了全域系統中斷和 UART 時鐘頻率字段中的措辭。 |