Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este documento define o conteúdo da Tabela de Redirecionamento do Console de Porta Serial. Esta tabela é usada para indicar se uma porta serial ou uma interface UART não herdada está disponível para uso com o EMS (Serviços de Gerenciamento de Emergências) do Microsoft® Windows®.
A tabela fornece informações sobre a configuração e o uso da porta serial ou interface UART não herdada. Em um sistema em que o BIOS ou firmware do sistema usa a porta serial para entrada/saída do console, essa tabela deve ser usada para transmitir informações sobre as configurações, para garantir uma transição perfeita entre a saída do console de firmware e a saída do Windows EMS.
Essa tabela deve estar localizada na memória do sistema com outras tabelas ACPI e deve ser referenciada na tabela ACPI RSDT.
Aviso de patente: a Microsoft está disponibilizando certos direitos de patente para implementações desta especificação em duas opções:
- Promessa da Comunidade da Microsoft, disponível em https://www.microsoft.com/openspecifications/en/us/programs/community-promise/default.aspx; ou
- O Contrato de Especificação Final do Open Web Foundation versão 1.0 ("OWF 1.0") a partir de 1º de outubro de 2012, disponível no site do Open Web Foundation .
| Field | Byte Length | Byte Offset | Description |
|---|---|---|---|
| Header | |||
| Signature | 4 | 0 | 'SPCR'. Assinatura da Tabela de Redirecionamento do Console de Porta Serial. |
| Length | 4 | 4 | Comprimento, em bytes, de toda a Tabela de Redirecionamento do Console de Porta Serial, incluindo NamespaceString. |
| Revision | 1 | 8 | A revisão da tabela atual é 4. |
| Checksum | 1 | 9 | A tabela inteira deve somar a zero. |
| OEM ID | 6 | 10 | ID do fabricante do equipamento original (OEM). |
| ID da tabela OEM | 8 | 16 | Para a Tabela de Redirecionamento do Console de Porta Serial, a ID da tabela é a ID do modelo do fabricante. |
| OEM Revision | 4 | 24 | Revisão OEM da Tabela de Redirecionamento do Console de Porta Serial para a ID da Tabela OEM fornecida. |
| Creator ID | 4 | 28 | ID do fornecedor do utilitário que criou a tabela. |
| Creator Revision | 4 | 32 | Revisão do utilitário que criou a tabela. |
| Interface Type | 1 | 36 | Indica o tipo da interface de registro: Para a Revisão 1:
See the Serial Port Subtypes in Table 3 of the DBG2 Specification. |
| Reserved | 3 | 37 | Deve ser 0. |
| Base Address | 12 | 40 | O endereço base do conjunto de registros de Porta Serial descrito usando a Estrutura de Endereços Genéricos acPI ou 0 se o redirecionamento do console estiver desabilitado. Note: COM1 (0x3F8) seria:
|
| Interrupt Type | 1 | 52 | Tipos de interrupção usados pelo UART:
Plataformas com um DUPLO-8259 e um SAPIC de E/S ou E/S devem definir o bit IRQ (Bit[0]) e o bit de Interrupção do Sistema Global correspondente (por exemplo, um sistema com suporte 8259 e SAPIC seria 5). |
| IRQ | 1 | 53 | O IRQ compatível com PC-AT usado pela UART:
|
| Interrupção global do sistema | 4 | 54 | A GSIV (Interrupção global do sistema) usada pela UART. Não é válido se Bit[1:7] do campo Tipo de Interrupção for 0. Se o bit 3 do campo Tipo de Interrupção for definido (ARMH GIC), um controlador de interrupção arm GIC será usado. As interrupções de SGI e PPI do Arm GIC não podem ser usadas para o UART, portanto, é proibido que esse campo seja definido como qualquer valor em {0, ..., 31} ou em {1056, ..., 1119}. |
| Taxa de Baud configurada | 1 | 58 | A taxa de baud usada pelo BIOS para redirecionamento:
|
| Parity | 1 | 59 |
|
| Stop Bits | 1 | 60 |
|
| Flow Control | 1 | 61 |
|
| Terminal Type | 1 | 62 | O protocolo de terminal que o BIOS estava usando para redirecionamento de console:
|
| Linguagem | 1 | 63 | Linguagem que o BIOS estava redirecionando. Deve ser 0. |
| ID do dispositivo PCI | 2 | 64 | Designa a ID do dispositivo de um dispositivo PCI que contém um UART a ser usado como uma porta sem cabeça. Deve ser 0xFFFF se não for um dispositivo PCI. |
| ID do fornecedor de PCI | 2 | 66 | Designa a ID do Fornecedor de um dispositivo PCI que contém um UART a ser usado como uma porta sem cabeça. Deve ser 0xFFFF se não for um dispositivo PCI. |
| Número do barramento PCI | 1 | 68 | Número do Barramento PCI se a tabela descrever um dispositivo PCI. Deve ser 0x00 se não for um dispositivo PCI. |
| Número do dispositivo PCI | 1 | 69 | Número do dispositivo PCI se a tabela descrever um dispositivo PCI. Deve ser 0x00 se não for um dispositivo PCI. |
| Número da função PCI | 1 | 70 | Número da função PCI se a tabela descrever um dispositivo PCI. Deve ser 0x00 se não for um dispositivo PCI. |
| PCI Flags | 4 | 71 | Máscara de bits de sinalizadores de compatibilidade PCI. Deve ser zero por padrão.
|
| PCI Segment | 1 | 75 | Número do segmento PCI. Para sistemas com menos de 255 ônibus PCI, esse número deve ser 0. |
| Frequência do relógio UART | 4 | 76 | Para a Revisão 2 ou inferior:
|
| Taxa de Baud Precisa | 4 | 80 | Contém uma taxa de baud não zero específica que substitui o valor do campo Taxa de Baud Configurada. Se esse campo for zero ou não estiver presente, a Taxa de Baud Configurada será usada. Veja a observação abaixo. |
| NamespaceStringLength | 2 | 84 | Comprimento, em bytes, de NamespaceString, incluindo caracteres NUL. |
| NamespaceStringOffset | 2 | 86 | Deslocamento, em bytes, desde o início dessa estrutura até o campo NamespaceString[]. Esse valor deve ser válido porque essa cadeia de caracteres deve estar presente. |
| NamespaceString[] | NamespaceStringLength | NamespaceStringOffset | Cadeia de caracteres ASCII terminada por NUL para identificar exclusivamente esse dispositivo. Essa cadeia de caracteres consiste em uma referência totalmente qualificada ao objeto que representa esse dispositivo no namespace ACPI. Se nenhum dispositivo de namespace existir, NamespaceString[] deverá conter apenas um único '.' (Período ASCII). |
Observação sobre os campos de taxa de baud
O campo Taxa baud configurada existe como um campo de byte único desde a criação da tabela SPCR e é amplamente compatível com sistemas operacionais. No entanto, como é uma enumeração, ela é limitada em sua capacidade de descrever precisamente taxas de baud não tradicionais, como as usadas por UARTs de alta velocidade. Assim, o campo Taxa de Baud Precisa foi adicionado para permitir que o firmware forneça aos sistemas operacionais de suporte um valor DWORD que descreve uma taxa de baud específica (por exemplo, 15000000). Quando o campo Taxa de Baud Precisa contiver um valor diferente de zero, o campo Taxa de Baud Configurada será zero.
Revision History
| Date | Rev | Description |
|---|---|---|
| 2/15/00 | .10 | Created |
| 3/1/00 | .50 | ‘SPCR’. Dados de assinatura adicionados |
| 3/20/00 | .55 | Dados revisados para incluir porta e irq |
| 3/22/00 | .56 | Identificação de porta esclarecida Adicionada capacidade de desabilitar o redirecionamento. Ponteiro adicionado à estrutura de endereços de registro genérico |
| 3/23/00 | .56a | Formatação, isenção de responsabilidade, edição de cópia |
| 4/24/00 | .6 | Postado na Web para WinHEC |
| 4/24/00 | .6 | Rascunho de revisão pública publicado |
| 5/25/00 | .61 | Correção para BASE_ADDRESS descrição |
| 5/25/00 | .61 | Rascunho de revisão pública publicado |
| 5/31/00 | .7 | Correção para BASE_ADDRESS exemplos de descrição. Adição da interface 16540. |
| 5/31/00 | .71 | Alterou as informações sobre o GRAS de uma nota para "*" |
| 5/31/00 | .71 | Rascunho de revisão pública publicado |
| 6/1/00 | .72 | Os exemplos de porta COM do GRAS alterados para serem little-endian. Texto adicionado ao final da linha |
| 7/12/00 | .75 | Correção da descrição do IRQ. Correção de vários problemas de formato adicionados informações de barramento PCI. |
| 7/26/00 | .76 | Atualize para o nome do campo PCI "Número do Dispositivo". Idioma de introdução alterado para incluir UART não herdado. |
| 8/10/00 | .77 | Informações de interrupção alteradas, adicionando controle de fluxo adicionado a APIC e SAPIC |
| 9/22/00 | .78 | Segmento de PCI adicionado |
| 10/25/00 | .80 | Correção da seção Sinalizadores PCI. Adicionados tipos de terminal adicionados 16450 informações de FCR |
| 10/1/01 | .95 | Códigos de idioma removidos |
| 1/11/02 | 1.00 | adicionando especificação de licenciamento atualizada à 1.00 |
| 3/12/14 | 1.01 | Lançado sob o Microsoft Community Promise |
| 6/2/14 | 1.02 | Alterou a Revisão de Tabela para 2 e adicionou suporte para tipos de interface adicionais, conforme definido na especificação DBG2. |
| 8/10/15 | 1.03 | Aviso de patente atualizado. |
| 7/23/2018 | 1.04 | |
| 6/5/2020 | 1.05 | Edited formatting |
| 9/1/2020 | 1.06 | Formatação editada e link atualizado para especificação DBG2 |
| 2/17/2021 | 1.07 | Correção da descrição incorreta no campo Parar Bits. Desfazer a remoção acidental do campo Controle de Fluxo. Edited formatting. |
| 10/7/2021 | 1.08 | Alteração da revisão de tabela para 3 e campo criado para frequência de relógio UART. Edited formatting. |
| 4/10/2023 | 1.09 | Alteração da revisão de tabela para 4. Adicionado RISC-V e suporte sondado ao campo Tipo de Interrupção. Novos campos adicionados: Taxa de Baud Precisa, NamespaceStringLength, NamespaceStringOffset e NamespaceString[]. |
| 5/1/2023 | 1.10 | Redação esclarecida nos campos Interrupção do Sistema Global e Frequência de Relógio UART. |