序列埠主控台重新導向資料表 (SPCR)
本檔會定義序列埠主控台重新導向資料表的內容。 下表用來指出序列埠或非舊版 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 網站上取得。
欄位 | 位元組長度 | 位元組位移 | 說明 |
---|---|---|---|
標頭 | |||
簽名 | 4 | 0 | 'SPCR'。 序列埠主控台重新導向資料表的簽章。 |
長度 | 4 | 4 | 整個序列埠主控台重新導向資料表的長度,以位元組為單位,包括 NamespaceString。 |
修訂版 | 1 | 8 | 目前的資料表修訂為 4。 |
總和檢查碼 | 1 | 9 | 整個資料表必須加總為零。 |
OEM 識別碼 | 6 | 10 | 原始設備製造商 (OEM) 識別碼。 |
OEM 簎翐礹蜞頇塈 | 8 | 16 | 針對序列埠主控台重新導向資料表,資料表識別碼是製造商型號識別碼。 |
OEM 摷濻 | 4 | 24 | 所提供 OEM 資料表識別碼的序列埠主控台重新導向資料表 OEM 修訂。 |
建立者識別碼 | 4 | 28 | 用來建立資料表的公用程式之廠商識別碼。 |
建立者修訂 | 4 | 32 | 用來建立資料表的公用程式之修訂。 |
介面類型 | 1 | 36 | 指出暫存器介面的類型: 針對修訂 1:
請參閱 DBG2 規格表 3 中的序列埠子類型。 |
保留 | 3 | 37 | 必須是 0。 |
基底位址 | 12 | 40 | 使用 ACPI 一般位址結構所描述的序列埠暫存器集基底位址,如果停用主控台重新導向,則為 0。 注意: COM1 (0x3F8) 為:
|
中斷類型 | 1 | 52 | UART 所使用的中斷類型 () :
具有雙 8259 和 I/O APIC 或 I/O SAPIC 的平臺必須設定 IRQ 位 (Bit[0]) ,而對應的全域系統中斷位 (例如支援 8259 和 SAPIC 的系統將是 5) 。 |
IRQ | 1 | 53 | UART 所使用的 PC-AT 相容 IRQ:
|
全域系統中斷 | 4 | 54 | UART 所使用的全域系統中斷 (GSIV) 。 如果 [插斷類型] 欄位的 Bit[1:7] 為 0,則無效。 如果 [插斷類型] 欄位的位 3 設定 (ARMH GIC) 則會使用 Arm GIC 中斷控制器。 Arm GIC SGI 和 PPI 中斷無法用於 UART,因此禁止此欄位設定為 {0, ..., 31} 或 {1056, ..., 1119} 中的任何值。 |
已設定的傳輸速率 | 1 | 58 | 用於重新導向的 BIOS 傳輸速率:
|
Parity | 1 | 59 |
|
停止位 | 1 | 60 |
|
流量控制 | 1 | 61 |
|
終端機類型 | 1 | 62 | BIOS 用於主控台重新導向的終端機通訊協定:
|
Language | 1 | 63 | BIOS 重新導向的語言。 必須是 0。 |
PCI 裝置識別碼 | 2 | 64 | 指定 PCI 裝置的裝置識別碼,其中包含要作為無周邊埠的 UART。 如果不是 PCI 裝置,則必須0xFFFF。 |
PCI 廠商識別碼 | 2 | 66 | 指定 PCI 裝置的廠商識別碼,其中包含要作為無周邊埠的 UART。 如果不是 PCI 裝置,則必須0xFFFF。 |
PCI 匯流排號碼 | 1 | 68 | 如果資料表描述 PCI 裝置,PCI 匯流排號碼。 如果不是 PCI 裝置,則必須0x00。 |
PCI 裝置號碼 | 1 | 69 | PCI 裝置編號,如果表格描述 PCI 裝置。 如果不是 PCI 裝置,則必須0x00。 |
PCI 函數編號 | 1 | 70 | 如果資料表描述 PCI 裝置,PCI 函數編號。 如果不是 PCI 裝置,則必須0x00。 |
PCI 旗標 | 4 | 71 | PCI 相容性旗標位元遮罩。 預設應為零。
|
PCI 區段 | 1 | 75 | PCI 區段號碼。 對於少於 255 PCI 匯流排的系統,此號碼必須為 0。 |
UART 時鐘頻率 | 4 | 76 | 針對修訂 2 或更低版本:
|
精確傳輸速率 | 4 | 80 | 包含特定的非零傳輸速率,它會覆寫 [已設定的傳輸速率] 欄位的值。 如果此欄位為零或不存在,則會使用已設定的傳輸速率。 請參閱下方注意事項。 |
NamespaceStringLength | 2 | 84 | NamespaceString 的長度,以位元組為單位,包括 NUL 字元。 |
NamespaceStringOffset | 2 | 86 | 從這個 結構的開頭到 Field NamespaceString[] 的位移,以位元組為單位。 這個值必須有效,因為此字串必須存在。 |
NamespaceString[] | NamespaceStringLength | NamespaceStringOffset | NUL 終止的 ASCII 字串,可唯一識別此裝置。 此字串包含物件的完整參考,代表 ACPI 命名空間中的這個裝置。 如果命名空間裝置不存在,NamespaceString[] 只能包含單一 '.' (ASCII 句點) 字元。 |
[傳輸速率欄位] 上的附注
[設定的傳輸速率] 欄位自建立 SPCR 資料表後已以單一位元組欄位的形式存在,而且作業系統廣泛支援。 不過,由於它是列舉,因此無法精確描述非傳統的傳輸速率,例如高速 UART 所使用的速率。 因此,已新增 [精確傳輸速率] 欄位,讓韌體提供支援的作業系統 DWORD 值,其中描述特定傳輸速率 (例如 1500000) 。 當 [精確傳輸速率] 欄位包含非零值時,[已設定的傳輸速率] 欄位應為零。
修訂歷程
Date | Rev | Description |
---|---|---|
2/15/00 | .10 | 建立時間 |
3/1/00 | .50 | 'SPCR'。 已新增簽章資料 |
3/20/00 | .55 | 修改為包含埠和 irq 的資料 |
3/22/00 | .56 | 厘清埠識別 已新增停用重新導向的功能。 已將指標新增至泛型暫存器位址結構 |
3/23/00 | .56a | 格式化、免責聲明、複製編輯 |
4/24/00 | .6 | 張貼在 WinHEC 的 Web 上 |
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 | |
2020/6/5 | 1.05 | 編輯的格式設定 |
9/1/2020 | 1.06 | 已編輯格式化和更新 DBG2 規格的連結 |
2/17/2021 | 1.07 | 已修正 [停止位] 欄位中不正確的描述。 復原意外移除流程式控制制欄位。 編輯的格式設定。 |
10/7/2021 | 1.08 | 已將資料表修訂變更為 3,並建立 UART 時鐘頻率的欄位。 編輯的格式設定。 |
4/10/2023 | 1.09 | 已將資料表修訂變更為 4。 已將 RISC-V 和輪詢支援新增至 [中斷類型] 欄位。 已新增新的欄位:精確傳輸速率、NamespaceStringLength、NamespaceStringOffset 和 NamespaceString[]。 |
5/1/2023 | 1.10 | 已厘清全域系統中斷和 UART 時鐘頻率欄位中的文字。 |