Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот документ определяет содержимое таблицы перенаправления консоли последовательного порта. Эта таблица используется для указания того, доступен ли последовательный порт или устаревший интерфейс UART для использования со службами управления чрезвычайными ситуациями Microsoft® Windows® (EMS).
В таблице содержатся сведения о конфигурации и использовании последовательного порта или интерфейса UART, не устаревшего. В системе, в которой BIOS или системное встроенное ПО использует последовательный порт для ввода и вывода консоли, эта таблица должна использоваться для передачи сведений о параметрах, чтобы обеспечить простой переход между выходными данными консоли встроенного ПО и выходными данными Windows EMS.
Эта таблица должна находиться в системной памяти с другими таблицами ACPI и ссылаться на нее в таблице RSDT ACPI.
Уведомление о патентах: корпорация Майкрософт предоставляет определенные патенты для реализации этой спецификации в двух вариантах:
- Обещание сообщества Майкрософт, доступное по адресу https://www.microsoft.com/openspecifications/en/us/programs/community-promise/default.aspx; или
- Соглашение о окончательной спецификации Open Web Foundation версии 1.0 ("OWF 1.0") с 1 октября 2012 г. доступно на веб-сайте 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 | 8 | 16 | Для таблицы перенаправления консоли последовательного порта идентификатор таблицы — это идентификатор модели производителя. |
| 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 и APIC ввода-вывода или SAPIC должны задать бит IRQ (Bit[0]) и соответствующий бит прерывания глобальной системы (например, система, которая поддерживает 8259 и SAPIC будет 5). |
| IRQ | 1 | 53 | Среда IRQ, совместимая с PC-AT, используемая UART:
|
| Прерывание глобальной системы | 4 | 54 | Глобальное прерывание системы (GSIV), используемое UART. Недопустимо, если значение Bit[1:7] поля типа прерывания равно 0. Если задано значение 3 поля типа прерывания (ARMH GIC), используется контроллер прерывания Arm GIC. Прерывания SGI и PPI в Arm GIC нельзя использовать для UART, поэтому для этого поля запрещено задать любое значение в {0, ..., 31} или в {1056, ..., 1119}. |
| Настроенная скорость Baud | 1 | 58 | Скорость передачи BIOS, используемая для перенаправления:
|
| Parity | 1 | 59 |
|
| Stop Bits | 1 | 60 |
|
| Flow Control | 1 | 61 |
|
| Terminal Type | 1 | 62 | Протокол терминала, используемый BIOS для перенаправления консоли:
|
| Language | 1 | 63 | Язык, который перенаправлялСЯ BIOS. Должно быть 0. |
| Идентификатор устройства PCI | 2 | 64 | Указывает идентификатор устройства PCI, содержащего UART, который будет использоваться в качестве порта без головы. Должно быть 0xFFFF, если это не устройство PCI. |
| Идентификатор поставщика PCI | 2 | 66 | Указывает идентификатор поставщика устройства PCI, содержащего UART, который будет использоваться в качестве порта без головы. Должно быть 0xFFFF, если это не устройство PCI. |
| Номер шины PCI | 1 | 68 | Номер шины PCI, если таблица описывает устройство PCI. Должен быть 0x00, если это не устройство PCI. |
| Номер устройства PCI | 1 | 69 | Номер устройства PCI, если таблица описывает устройство PCI. Должен быть 0x00, если это не устройство PCI. |
| Номер функции PCI | 1 | 70 | Номер функции PCI, если таблица описывает устройство PCI. Должен быть 0x00, если это не устройство PCI. |
| PCI Flags | 4 | 71 | Битовая маска флагов совместимости PCI. По умолчанию должно быть равно нулю.
|
| PCI Segment | 1 | 75 | Номер сегмента PCI. Для систем с менее чем 255 автобусами PCI это число должно быть 0. |
| Частота часов UART | 4 | 76 | Для версии 2 или более поздней версии:
|
| Точность скорости Baud | 4 | 80 | Содержит определенную ненулевую скорость baud, которая переопределяет значение поля "Настроенная ставка Baud". Если это поле равно нулю или нет, используется настроенная скорость Baud. См. примечание ниже. |
| NamespaceStringLength | 2 | 84 | Длина в байтах пространства именString, включая символы NUL. |
| NamespaceStringOffset | 2 | 86 | Смещение в байтах с начала этой структуры до поля NamespaceString[]. Это значение должно быть допустимым, так как эта строка должна присутствовать. |
| NamespaceString[] | NamespaceStringLength | NamespaceStringOffset | Строка ASCII, завершаемая NUL, однозначно идентифицирует это устройство. Эта строка состоит из полной ссылки на объект, представляющий это устройство в пространстве имен ACPI. Если устройство пространства имен не существует, namespaceString[] должен содержать только один "". Символ (период ASCII). |
Примечание о полях скорости Baud
Поле "Настроенная скорость Baud" существует как однобайтовое поле с момента создания таблицы SPCR и широко поддерживается операционными системами. Тем не менее, поскольку это перечисление, оно ограничено в его способности точно описывать не традиционных скоростей боудов, таких как те, которые используются высокоскоростными UARTs. Таким образом, для обеспечения поддержки операционных систем значение DWORD, описывающее определенную скорость baud (например, 1500000), добавлено поле "Точный показатель скорости Baud rate" (например, 1500000). Если поле "Точное значение скорости Baud" содержит ненулевое значение, поле "Настроенная ставка" должно быть равно нулю.
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 | Изменены примеры com-портов GRAS, которые должны быть маленькими. Добавлен текст в конец строки |
| 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. Добавлены типы терминалов, добавленные сведения о FCR 16450 |
| 10/1/01 | .95 | Удалены коды языка |
| 1/11/02 | 1.00 | добавление обновленной спецификации лицензирования до версии 1.00 |
| 3/12/14 | 1.01 | Выпущено в рамках Microsoft Community Promise |
| 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 | Исправлено неправильное описание в поле Stop Bits. Отмена случайного удаления поля управления потоками. Edited formatting. |
| 10/7/2021 | 1.08 | Изменена версия таблицы на 3 и создано поле для частоты часов UART. Edited formatting. |
| 4/10/2023 | 1.09 | Изменена версия таблицы на 4. Добавлена RISC-V и опрашиваемая поддержка поля "Тип прерывания". Добавлены новые поля: Точный показатель Baud, namespaceStringLength, NamespaceStringOffset и NamespaceString[]. |
| 5/1/2023 | 1.10 | Уточненная формулировка в полях глобальной системы прерывания и частоты часов UART. |