Dela via


Omdirigeringstabell för serieportkonsol (SPCR)

Det här dokumentet definierar innehållet i omdirigeringstabellen för serieportkonsolen. Den här tabellen används för att ange om en seriell port eller ett icke-äldre UART-gränssnitt är tillgängligt för användning med Microsoft® Windows® Emergency Management Services (EMS).

Tabellen innehåller information om konfiguration och användning av serieporten eller det icke-äldre UART-gränssnittet. I ett system där BIOS eller systemets inbyggda programvara använder serieporten för konsolens indata/utdata bör den här tabellen användas för att förmedla information om inställningarna för att säkerställa en sömlös övergång mellan utdata från den inbyggda programvaran och Windows EMS-utdata.

Den här tabellen måste finnas i systemminnet med andra ACPI-tabeller och den måste refereras till i TABELLEN ACPI RSDT.

Patentmeddelande: Microsoft gör vissa patenträttigheter tillgängliga för implementeringar av denna specifikation under två alternativ:

  1. Microsofts Community Promise, tillgängligt på https://www.microsoft.com/openspecifications/en/us/programs/community-promise/default.aspx; eller
  2. Open Web Foundations slutliga specifikationsavtal version 1.0 ("OWF 1.0") från och med den 1 oktober 2012 finns på Open Web Foundations webbplats.
Field Byte Length Byte Offset Description
Header
Signature 4 0 'SPCR'. Signatur för omdirigeringstabellen för serieportkonsolen.
Length 4 4 Längd, i byte, på hela omdirigeringstabellen för serieportkonsolen, inklusive NamespaceString.
Revision 1 8 Den aktuella tabellrevisionen är 4.
Checksum 1 9 Hela tabellen måste summeras till noll.
OEM ID 6 10 Oem-ID (Original Equipment Manufacturer).
OEM-tabell-ID 8 16 För omdirigeringstabellen för serieportkonsolen är tabell-ID:t tillverkarens modell-ID.
OEM Revision 4 24 OEM-revision av omdirigeringstabellen för serieportkonsolen för det angivna OEM-tabell-ID:t.
Creator ID 4 28 Leverantörs-ID för verktyg som skapade tabellen.
Creator Revision 4 32 Revision av verktyget som skapade tabellen.
Interface Type 1 36 Anger typ av registergränssnitt:
För revision 1:
  • 0 = Fullständigt 16550-gränssnitt
  • 1 = Fullständigt 16450-gränssnitt (måste också acceptera att skriva till FCR-registret 16550)
  • 2-255 = Reserverad
För revision 2 eller senare:
See the Serial Port Subtypes in Table 3 of the DBG2 Specification.
Reserved 3 37 Måste vara 0.
Base Address 12 40 Basadressen för registeruppsättningen för serieportar som beskrivs med hjälp av den allmänna AVSI-adressstrukturen, eller 0 om konsolomdirigering är inaktiverad.

Note:
COM1 (0x3F8) skulle vara:
  • Heltalsformulär: 0x 01 08 00 00 000000000000003F8
  • Visad i minnet: 0x01080000F803000000000000
COM2 (0x2F8) skulle vara:
  • Heltalsformulär: 0x 01 08 00 00 000000000000002F8
  • Visas i minnet: 0x01080000F802000000000000
Interrupt Type 1 52 Avbrottstyper som används av UART:
  • Bit[0]: PC-AT-kompatibel dual-8259 IRQ-avbrott
  • Bit[1]: I/O APIC-avbrott (globalt systemavbrott)
  • Bit[2]: I/O SAPIC-avbrott (globalt systemavbrott)
  • Bit[3]: ARMH GIC-avbrott (globalt systemavbrott)
  • Bit[4]: RISC-V PLIC/APLIC-avbrott (globalt systemavbrott)
  • Bit[5:7]: Reserverad (måste anges till 0)
Where
  • 0 = Stöds inte
  • 1 = Stöds
Ange det här fältet till noll om det beskrivna gränssnittet endast stöder avsökningsåtgärd.
Plattformar med både en dual-8259 och en I/O APIC eller I/O SAPIC måste ange IRQ-biten (Bit[0]) och motsvarande globala systemavbrottsbit (t.ex. ett system som stöder 8259 och SAPIC skulle vara 5).
IRQ 1 53 Den PC-AT-kompatibla IRQ som används av UART:
  • 2-7, 9-12, 14-15 = Giltiga IRQs respektive
  • 0-1, 8, 13, 16-255 = Reserverad
Gäller endast om Bit[0] i fältet Avbrottstyp har angetts.
Avbrott i det globala systemet 4 54 Det globala systemavbrott (GSIV) som används av UART.
Ogiltigt om Bit[1:7] i fältet Avbrottstyp är 0.
Om bit 3 i fältet Avbrottstyp anges (ARMH GIC) används en Arm GIC-avbrottskontrollant. Arm GIC SGI- och PPI-avbrott kan inte användas för UART, så det är förbjudet att ange något värde i {0, ..., 31} eller {1056, ..., 1119}.
Konfigurerad överföringshastighet 1 58 Överföringshastigheten för BIOS som används för omdirigering:
  • 0 = Som det är förlitar sig operativsystemet på den aktuella konfigurationen av serieporten tills den fullständiga aktuella drivrutinen initieras.
  • 3 = 9600
  • 4 = 19200
  • 6 = 57600
  • 7 = 115200
  • 1-2, 5, 8-255 = Reserverad
Parity 1 59
  • 0 = Ingen paritet
  • 1–255 = Reserverad
Stop Bits 1 60
  • 1 = 1 Stoppbit
  • 0, 2-255 = Reserverad
Flow Control 1 61
  • Bit[0]: DCD krävs för överföring
  • Bit[1]: RTS/CTS-maskinvaruflödeskontroll
  • Bit[2]: XON/XOFF-programvarukontroll
  • Bit[3:7]: Reserverad, måste vara 0
Terminal Type 1 62 Terminalprotokollet som BIOS använde för konsolomdirigering:
  • 0 = VT100
  • 1 = Utökad VT100 (VT100+)
  • 2 = VT-UTF8
  • 3 = ANSI
  • 4–255 = Reserverad
Language 1 63 Språk som BIOS omdirigerade. Måste vara 0.
PCI-enhets-ID 2 64 Anger enhets-ID för en PCI-enhet som innehåller en UART som ska användas som en huvudlös port.
Måste vara 0xFFFF om det inte är en PCI-enhet.
PCI-leverantörs-ID 2 66 Anger leverantörs-ID för en PCI-enhet som innehåller en UART som ska användas som en huvudlös port.
Måste vara 0xFFFF om det inte är en PCI-enhet.
PCI Bus-nummer 1 68 PCI Bus-nummer om tabellen beskriver en PCI-enhet.
Måste vara 0x00 om det inte är en PCI-enhet.
PCI-enhetsnummer 1 69 PCI-enhetsnummer om tabellen beskriver en PCI-enhet.
Måste vara 0x00 om det inte är en PCI-enhet.
PCI-funktionsnummer 1 70 PCI-funktionsnummer om tabellen beskriver en PCI-enhet.
Måste vara 0x00 om det inte är en PCI-enhet.
PCI Flags 4 71 BITMASK för PCI-kompatibilitetsflaggor. Ska vara noll som standard.
  • Bit[0]: Operativsystemet bör INTE undertrycka PNP-enhetsuppräkning eller inaktivera energisparfunktioner för den här enheten. Måste vara 0 om det inte är en PCI-enhet.
  • Bit[1-31]: Reserverad, måste vara 0.
PCI Segment 1 75 PCI-segmentnummer.

För system med färre än 255 PCI-bussar måste det här antalet vara 0.

UART-klockfrekvens 4 76 För revision 2 eller lägre:
  • Måste vara 0.
För revision 3 eller senare:
  • Noll, vilket indikerar att UART-klockfrekvensen är obestämd.
  • Ett värde som inte är noll som anger UART-klockfrekvensen i Hz.
Exakt överföringshastighet 4 80 Innehåller en specifik överföringshastighet som inte är noll och som åsidosätter värdet för fältet Konfigurerad baud-hastighet. Om det här fältet är noll eller inte finns används Konfigurerad baud-hastighet. Se anmärkning nedan.
NamespaceStringLength 2 84 Längd, i byte, på NamespaceString, inklusive NUL-tecken.
NamespaceStringOffset 2 86 Offset, i byte, från början av den här strukturen till fältet NamespaceString[]. Det här värdet måste vara giltigt eftersom den här strängen måste finnas.
NamespaceString[] NamespaceStringLength NamespaceStringOffset NUL-avslutad ASCII-sträng för att unikt identifiera den här enheten. Den här strängen består av en fullständigt kvalificerad referens till objektet som representerar den här enheten i ACPI-namnområdet. Om det inte finns någon namnområdesenhet får NamespaceString[] endast innehålla en enda .' (ASCII-period) tecken.

Obs! På fälten för baud-kurs

Fältet Konfigurerad Baud Rate har funnits som ett fält med en byte sedan SPCR-tabellen skapades och stöds ofta av operativsystem. Men eftersom det är en uppräkning är den begränsad i sin förmåga att exakt beskriva icke-traditionella baud-priser, till exempel de som används av höghastighets-UART. Därför lades fältet Precise Baud Rate till för att aktivera inbyggd programvara för att tillhandahålla stödoperativsystem ett DWORD-värde som beskriver en specifik baud-hastighet (t.ex. 1500000). När fältet Precise Baud Rate innehåller ett värde som inte är noll, ska fältet Konfigurerad baud rate vara noll.

Revision History

Date Rev Description
2/15/00 .10 Created
3/1/00 .50 ‘SPCR’. Signaturdata har lagts till
3/20/00 .55 Data som reviderats för att inkludera port och irq
3/22/00 .56 Förtydligad portidentifiering Ytterligare möjlighet att inaktivera omdirigering. Pekare har lagts till i den allmänna registeradressstrukturen
3/23/00 .56a Formatering, ansvarsfriskrivning, kopieringsredigering
4/24/00 .6 Publicerad på webben för WinHEC
4/24/00 .6 Offentligt granskningsutkast publicerat
5/25/00 .61 Korrigering av BASE_ADDRESS beskrivning
5/25/00 .61 Offentligt granskningsutkast publicerat
5/31/00 .7 Korrigering av BASE_ADDRESS beskrivningsexempel. 16540-gränssnittet har lagts till.
5/31/00 .71 Ändrade informationen om GRAS från en anteckning till en "*"
5/31/00 .71 Offentligt granskningsutkast publicerat
6/1/00 .72 Gras COM-portexempel har ändrats så att de är lite endianska. Text har lagts till i slutet av raden
7/12/00 .75 IRQ-beskrivning har åtgärdats. Åtgärdade olika formatproblem Lade till PCI-bussinformation.
7/26/00 .76 Uppdatera till PCI-fältnamnet "Enhetsnummer". Introspråket har ändrats till att omfatta icke-äldre UART.
8/10/00 .77 Ändrad avbrottsinformation, lägga till APIC- och SAPIC-flödeskontroll
9/22/00 .78 PCI-segment har lagts till
10/25/00 .80 Avsnittet PCI Flags har åtgärdats. Terminaltyper har lagts till 16450 FCR-information har lagts till
10/1/01 .95 Språkkoder har tagits bort
1/11/02 1.00 lägga till uppdaterad licensspecifikation till 1.00
3/12/14 1.01 Släppt under Microsoft Community Promise
6/2/14 1.02 Ändrade tabellrevision till 2 och lade till stöd för ytterligare gränssnittstyper enligt definitionen i DBG2-specifikationen.
8/10/15 1.03 Uppdaterat patentmeddelande.
7/23/2018 1.04
6/5/2020 1.05 Edited formatting
9/1/2020 1.06 Redigerad formatering och uppdaterad länk till DBG2-specifikation
2/17/2021 1.07 Fel beskrivning har åtgärdats i fältet Stoppa bitar. Ångra oavsiktlig borttagning av fältet Flödeskontroll. Edited formatting.
10/7/2021 1.08 Tabellrevision har ändrats till 3 och skapats för UART-klockfrekvens. Edited formatting.
4/10/2023 1.09 Tabellrevision har ändrats till 4. Stöd för RISC-V och avsökning har lagts till i fältet Avbrottstyp. Nya fält har lagts till: Precise Baud Rate, NamespaceStringLength, NamespaceStringOffset och NamespaceString[].
5/1/2023 1.10 Förtydligad formulering i fälten Global System Interrupt och UART Clock Frequency.