Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten dokument definiuje zawartość tabeli przekierowania konsoli portów szeregowych. Ta tabela służy do wskazania, czy port szeregowy lub inny niż starszy interfejs UART jest dostępny do użycia z usługami zarządzania awaryjnego systemu Microsoft® Windows® (EMS).
Tabela zawiera informacje o konfiguracji i użyciu portu szeregowego lub innego niż starszy interfejs UART. W systemie, w którym system BIOS lub oprogramowanie układowe systemu używa portu szeregowego dla danych wejściowych/wyjściowych konsoli, ta tabela powinna służyć do przekazywania informacji o ustawieniach, w celu zapewnienia bezproblemowego przejścia między wyjściem konsoli oprogramowania układowego a danymi wyjściowymi systemu Windows EMS.
Ta tabela musi znajdować się w pamięci systemowej z innymi tabelami ACPI i musi się odwoływać w tabeli ACPI RSDT.
Powiadomienie o patentach: Firma Microsoft udostępnia pewne prawa patentowe do implementacji tej specyfikacji w ramach dwóch opcji:
- Obietnica społeczności firmy Microsoft dostępna pod adresem https://www.microsoft.com/openspecifications/en/us/programs/community-promise/default.aspx; lub
- Wersja 1.0 (OWF 1.0) z dnia 1 października 2012 r. dostępna w witrynie internetowej Open Web Foundation .
| Field | Byte Length | Byte Offset | Description |
|---|---|---|---|
| Header | |||
| Signature | 4 | 0 | 'SPCR'. Podpis tabeli przekierowania konsoli portów szeregowych. |
| Length | 4 | 4 | Długość w bajtach całej tabeli przekierowania konsoli portów szeregowych, w tym namespaceString. |
| Revision | 1 | 8 | Bieżąca wersja tabeli to 4. |
| Checksum | 1 | 9 | Cała tabela musi być równa zero. |
| OEM ID | 6 | 10 | Identyfikator producenta oryginalnego sprzętu (OEM). |
| Identyfikator tabeli producenta OEM | 8 | 16 | W przypadku tabeli przekierowania konsoli portów szeregowych identyfikator tabeli jest identyfikatorem modelu producenta. |
| OEM Revision | 4 | 24 | Poprawka OEM tabeli przekierowania konsoli portów szeregowych dla podanego identyfikatora tabeli OEM. |
| Creator ID | 4 | 28 | Identyfikator dostawcy narzędzia, które utworzyło tabelę. |
| Creator Revision | 4 | 32 | Poprawka narzędzia, które utworzyło tabelę. |
| Interface Type | 1 | 36 | Wskazuje typ interfejsu rejestru: Dla poprawki 1:
See the Serial Port Subtypes in Table 3 of the DBG2 Specification. |
| Reserved | 3 | 37 | Musi mieć wartość 0. |
| Base Address | 12 | 40 | Adres podstawowy zestawu rejestrów portów szeregowych opisany przy użyciu ogólnej struktury adresów ACPI lub 0, jeśli przekierowanie konsoli jest wyłączone. Note: COM1 (0x3F8) będzie:
|
| Interrupt Type | 1 | 52 | Typy przerwań używane przez funkcję UART:
Platformy z dwoma 8259 i we/wy APIC lub we/wy SAPIC muszą ustawić bit IRQ (Bit[0]) i odpowiedni globalny bit przerwania systemu (np. system, który obsługiwał 8259 i SAPIC będzie 5). |
| IRQ | 1 | 53 | Środowisko IRQ zgodne z funkcją AT komputera używane przez funkcję UART:
|
| Globalne przerwanie systemu | 4 | 54 | Globalne przerwania systemu (GSIV) używane przez UART. Nieprawidłowa wartość, jeśli bit[1:7] pola Typ przerwania wynosi 0. Jeśli bit 3 pola Typ przerwania jest ustawiony (ARMH GIC), używany jest kontroler przerwań Arm GIC. Przerwania arm GIC SGI i PPI nie mogą być używane dla UART, więc nie można ustawić dla tego pola żadnej wartości w {0, ..., 31} lub {1056, ..., 1119}. |
| Skonfigurowana szybkość transmisji | 1 | 58 | Szybkość transmisji systemu BIOS używanego do przekierowywania:
|
| Parity | 1 | 59 |
|
| Stop Bits | 1 | 60 |
|
| Flow Control | 1 | 61 |
|
| Terminal Type | 1 | 62 | Protokół terminalu używany przez system BIOS do przekierowywania konsoli:
|
| Język | 1 | 63 | Język, który system BIOS przekierowywał. Musi mieć wartość 0. |
| Identyfikator urządzenia PCI | 2 | 64 | Wyznacza identyfikator urządzenia PCI, który zawiera UART, który ma być używany jako port bezgłówkowy. Musi być 0xFFFF, jeśli nie jest urządzeniem PCI. |
| Identyfikator dostawcy PCI | 2 | 66 | Wyznacza identyfikator dostawcy urządzenia PCI zawierającego UART, który ma być używany jako port bezgłówkowy. Musi być 0xFFFF, jeśli nie jest urządzeniem PCI. |
| Numer magistrali PCI | 1 | 68 | Numer magistrali PCI, jeśli tabela opisuje urządzenie PCI. Musi być 0x00, jeśli nie jest urządzeniem PCI. |
| Numer urządzenia PCI | 1 | 69 | Numer urządzenia PCI, jeśli tabela opisuje urządzenie PCI. Musi być 0x00, jeśli nie jest urządzeniem PCI. |
| Numer funkcji PCI | 1 | 70 | Numer funkcji PCI, jeśli tabela opisuje urządzenie PCI. Musi być 0x00, jeśli nie jest urządzeniem PCI. |
| PCI Flags | 4 | 71 | Maska bitów flag zgodności PCI. Domyślnie powinna być równa zero.
|
| PCI Segment | 1 | 75 | Numer segmentu PCI. W przypadku systemów z mniej niż 255 magistralami PCI ta liczba musi być 0. |
| Częstotliwość zegara UART | 4 | 76 | W przypadku wersji 2 lub niższej:
|
| Dokładna szybkość transmisji | 4 | 80 | Zawiera konkretną niezerową szybkość transmisji, która zastępuje wartość skonfigurowanego pola Szybkość transmisji. Jeśli to pole ma wartość zero lub nie istnieje, zostanie użyta skonfigurowana szybkość transmisji. Patrz uwaga poniżej. |
| NamespaceStringLength | 2 | 84 | Długość ( w bajtach) ciągu NamespaceString, w tym znaki NUL. |
| NamespaceStringOffset | 2 | 86 | Przesunięcie w bajtach od początku tej struktury do pola NamespaceString[]. Ta wartość musi być prawidłowa, ponieważ ten ciąg musi być obecny. |
| NamespaceString[] | NamespaceStringLength | NamespaceStringOffset | Ciąg ASCII zakończony przez NUL w celu unikatowego zidentyfikowania tego urządzenia. Ten ciąg składa się z w pełni kwalifikowanego odwołania do obiektu reprezentującego to urządzenie w przestrzeni nazw ACPI. Jeśli żadne urządzenie przestrzeni nazw nie istnieje, element NamespaceString[] musi zawierać tylko jeden element "". Znak (kropka ASCII). |
Uwaga dotycząca pól współczynnika transmisji
Pole Skonfigurowane szybkość transmisji istnieje jako jedno bajtowe pole od utworzenia tabeli SPCR i jest powszechnie obsługiwane przez systemy operacyjne. Jednak ze względu na to, że jest to wyliczenie, jest on ograniczony do precyzyjnego opisywania nie tradycyjnych szybkości transmisji, takich jak te używane przez szybkie UARTs. W związku z tym dodano pole Precise Baud Rate (Szybkość dokładnego transmisji), aby umożliwić oprogramowaniu układowemu zapewnienie obsługi systemów operacyjnych wartość DWORD, która opisuje określoną szybkość transmisji (np. 1500000). Gdy pole Dokładna szybkość transmisji zawiera wartość inną niż zero, pole Skonfigurowana szybkość transmisji będzie równa zero.
Revision History
| Date | Rev | Description |
|---|---|---|
| 2/15/00 | .10 | Created |
| 3/1/00 | .50 | ‘SPCR’. Dodane dane podpisu |
| 3/20/00 | .55 | Dane zmienione w celu uwzględnienia portu i środowiska irq |
| 3/22/00 | .56 | Wyjaśniona identyfikacja portów Dodano możliwość wyłączenia przekierowania. Dodano wskaźnik do ogólnej struktury adresów rejestru |
| 3/23/00 | .56a | Formatowanie, zastrzeżenie, edytowanie kopii |
| 4/24/00 | .6 | Opublikowano w internecie dla usługi WinHEC |
| 4/24/00 | .6 | Opublikowano wersję roboczą przeglądu publicznego |
| 5/25/00 | .61 | Korekta opisu BASE_ADDRESS |
| 5/25/00 | .61 | Opublikowano wersję roboczą przeglądu publicznego |
| 5/31/00 | .7 | Korekta przykładów opisu BASE_ADDRESS. Dodano interfejs 16540. |
| 5/31/00 | .71 | Zmieniono informacje dotyczące GRAS z notatki na "*" |
| 5/31/00 | .71 | Opublikowano wersję roboczą przeglądu publicznego |
| 6/1/00 | .72 | Zmieniono przykłady portów GRAS COM na little-endian. Dodano tekst na końcu wiersza |
| 7/12/00 | .75 | Naprawiono opis środowiska IRQ. Rozwiązano różne problemy z formatem Dodano informacje o magistrali PCI. |
| 7/26/00 | .76 | Zaktualizuj do nazwy pola PCI "Numer urządzenia". Zmieniono język wprowadzający w celu uwzględnienia nie starszej wersji funkcji UART. |
| 8/10/00 | .77 | Zmieniono informacje o przerwaniu pracy, dodając kontrolkę przepływu APIC i SAPIC |
| 9/22/00 | .78 | Dodano segment PCI |
| 10/25/00 | .80 | Naprawiono sekcję flag PCI. Dodano typy terminali dodane informacje o 16450 FCR |
| 10/1/01 | .95 | Usunięto kody języków |
| 1/11/02 | 1.00 | dodawanie zaktualizowanej specyfikacji licencjonowania do wersji 1.00 |
| 3/12/14 | 1.01 | Wydana w ramach obietnicy społeczności firmy Microsoft |
| 6/2/14 | 1.02 | Zmieniono poprawkę tabeli na 2 i dodano obsługę dodatkowych typów interfejsów zgodnie z definicją w specyfikacji DBG2. |
| 8/10/15 | 1.03 | Zaktualizowano powiadomienie o patentach. |
| 7/23/2018 | 1.04 | |
| 6/5/2020 | 1.05 | Edited formatting |
| 9/1/2020 | 1.06 | Edytowanie formatowania i zaktualizowane łącze do specyfikacji DBG2 |
| 2/17/2021 | 1.07 | Naprawiono niepoprawny opis w polu Zatrzymaj bity. Cofnij przypadkowe usunięcie pola sterowania przepływem. Edited formatting. |
| 10/7/2021 | 1.08 | Zmieniono poprawkę tabeli na 3 i utworzono pole częstotliwości zegara UART. Edited formatting. |
| 4/10/2023 | 1.09 | Zmieniono poprawkę tabeli na 4. Dodano obsługę RISC-V i sondowania do pola Typ przerwania. Dodano nowe pola: Dokładna szybkość transmisji, NamespaceStringLength, NamespaceStringOffset i NamespaceString[]. |
| 5/1/2023 | 1.10 | Wyjaśnione sformułowanie w polach Global System Interrupt (Przerywanie systemu globalnego) i UART Clock Frequency (Częstotliwość zegara UART). |