Serial Port Console Redirection Table

Windows Platform Design Notes
Designing Hardware for the Microsoft Windows Family of Operating Systems
Serial Port Console Redirection Table
This document defines the content of the Serial Port Console Redirection Table. This table is
used to indicate whether a serial port or a non-legacy UART interface is available for use with
Microsoft® Windows® Emergency Management Services (EMS).
The table provides information about the configuration and use of the serial port or non-legacy
UART interface. On a system where the BIOS or system firmware uses the serial port for console
input/output, this table should be used to convey information about the settings, to ensure a
seamless transition between the firmware console output and Windows EMS output.
This table must be located in system memory with other ACPI tables, and it must be referenced in
the ACPI RSDT table.
Version 1.00 — January 11, 2002
SERIAL PORT CONSOLE REDIRECTION TABLE SPECIFICATION LICENSE
IMPORTANT—READ CAREFULLY: This Microsoft License Agreement (“Agreement”) is a legal agreement
between you (either an individual or a single entity) and Microsoft Corporation for the version of the Microsoft
specification identified above which you are about to download (“Specification”). BY DOWNLOADING,
COPYING OR OTHERWISE USING THE SPECIFICATION, YOU AGREE TO BE BOUND BY THE TERMS
OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT
DOWNLOAD, COPY, OR USE THE SPECIFICATION.
The Specification is owned by Microsoft or its suppliers and is protected by copyright laws and international copyright treaties, as well as other
intellectual property laws and treaties. THE SPECIFICATION IS LICENSED, NOT SOLD.
1.
GRANT OF LICENSE.
(a)
Provided that you comply with all terms and conditions of this Agreement, Microsoft grants to you the following nonexclusive, worldwide, royalty-free, perpetual, non-transferable, non-sublicensable, limited license under any copyrights or
patents that cover the table values described in the Specification and that are owned or licensable by Microsoft without
payment of consideration to third parties,
(i)
to reproduce copies of the Specification for your and your contractor’s internal use for the sole purpose of (1)
modifying your firmware and/or BIOS for computing devices (“Firmware”) so that it writes to memory the
appropriate table vales in the Specification or (2) modifying your software so that it may read from memory the
appropriate table values (the “Purpose”),
(ii) to implement the table values in your firmware and/or BIOS,
(iii) to license to third parties directly and indirectly the table values as part of your Firmware (and any related
documentation),
The foregoing license is granted only to the extent necessary to accomplish the Purpose and to license and/or distribute
your Firmware containing the table values to third parties. The foregoing license shall not extend to any features of your
Firmware that (i) are not required to comply with the Specification or (ii) to which there was a practicable alternative to
infringing a patent.
Serial Port Console Redirection Table — 2
(b) Microsoft reserves all other rights it may have in the Specification, its implementation and any intellectual property
therein. The furnishing of this document does not give you or any other entity any license to any other Microsoft patents,
trademarks, copyrights or other intellectual property rights. Microsoft does not grant to you or any other entity any implied
licenses or rights whatsoever under this Agreement. Specifically, this Agreement does not grant any express or implied
licenses or rights to any enabling technologies that may be necessary to fully utilize the table or the table values
described in the Specification.
2.
ADDITIONAL LIMITATIONS AND OBLIGATIONS.
(a) You must implement the table in its entirety (e.g., all fields) and without modification (e.g., byte length, offset, and permissible
values as described in the Specification).
(b) Your license rights to the Specification are conditioned upon you not creating, modify, or distributing your Firmware in a way that
such creation, modification, or distribution may (a) create, or purport to create, obligations for Microsoft with respect to the
Specification (or intellectual property therein) or (b) grant, or purport to grant, to any third party any rights or immunities to
Microsoft’s intellectual property or proprietary rights in the Specification.
(c) The foregoing license is applicable only to the version of the Specification which you are about to download. It does not apply to
any additional versions of or extensions to the Specification.
(d) Without prejudice to any other rights, Microsoft may terminate this Agreement if you fail to comply with the terms and conditions of
this Agreement. In such event you must destroy all copies of the Specification and must not further distribute the table values.
3. INTELLECTUAL PROPERTY RIGHTS. All ownership, title and intellectual property rights in and to the Specification, and any copies you
are permitted to make herein, are owned by Microsoft or its suppliers
4. DISCLAIMER OF WARRANTIES. To the maximum extent permitted by applicable law, Microsoft and its suppliers
provide the Specification (and all intellectual property therein) and any (if any) support services related to the
Specification (“Support Services”) AS IS AND WITH ALL FAULTS, and hereby disclaim all warranties and conditions,
either express, implied or statutory, including, but not limited to, any (if any) implied warranties or conditions of
merchantability, of fitness for a particular purpose, of lack of viruses, of accuracy or completeness of responses, of
results, and of lack of negligence or lack of workmanlike effort, all with regard to the Specification, any intellectual
property therein and the provision of or failure to provide Support Services. ALSO, THERE IS NO WARRANTY OR
CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NONINFRINGEMENT, WITH REGARD TO THE SPECIFICATION AND ANY INTELLECTUAL PROPERTY THEREIN. THE ENTIRE
RISK AS TO THE QUALITY OF OR ARISING OUT OF USE OR PERFORMANCE OF THE SPECIFICATION, ANY
INTELLECTUAL PROPERTY THEREIN, AND SUPPORT SERVICES, IF ANY, REMAINS WITH YOU.
5. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER DAMAGES. TO THE MAXIMUM EXTENT
PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY
SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, BUT NOT LIMITED
TO, DAMAGES FOR LOSS OF PROFITS OR CONFIDENTIAL OR OTHER INFORMATION, FOR BUSINESS INTERRUPTION,
FOR PERSONAL INJURY, FOR LOSS OF PRIVACY, FOR FAILURE TO MEET ANY DUTY INCLUDING OF GOOD FAITH OR
OF REASONABLE CARE, FOR NEGLIGENCE, AND FOR ANY OTHER PECUNIARY OR OTHER LOSS WHATSOEVER)
ARISING OUT OF OR IN ANY WAY RELATED TO THE USE OF OR INABILITY TO USE THE SPECIFICATION, ANY
INTELLECTUAL PROPERTY THEREIN, THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES, OR
OTHERWISE UNDER OR IN CONNECTION WITH ANY PROVISION OF THIS AGREEMENT, EVEN IN THE EVENT OF THE
FAULT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, BREACH OF CONTRACT OR BREACH OF WARRANTY
OF MICROSOFT OR ANY SUPPLIER, AND EVEN IF MICROSOFT OR ANY SUPPLIER HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
6. LIMITATION OF LIABILITY AND REMEDIES. Notwithstanding any damages that you might incur for any reason
whatsoever (including, without limitation, all damages referenced above and all direct or general damages), the entire
liability of Microsoft and any of its suppliers under any provision of this Agreement and your exclusive remedy for all of
the foregoing shall be limited to the greater of the amount actually paid by you for the Specification or U.S.$5.00. The
foregoing limitations, exclusions and disclaimers shall apply to the maximum extent permitted by applicable law, even if
any remedy fails its essential purpose.
7. APPLICABLE LAW. If you acquired this Specification in the United States, this Agreement is governed by the laws of the State of
Washington. In respect of any dispute which may arise hereunder, you consent to the jurisdiction of the state and federal courts sitting in
King County, Washington.
8. ENTIRE AGREEMENT. This Agreement is the entire agreement between you and Microsoft relating to the Specification
supersedes all prior or contemporaneous oral or written communications, proposals and representations with respect to the
Specification or any other subject matter covered by this Agreement. To the extent the terms of any Microsoft policies or
programs for Support Services conflict with the terms of this Agreement, the terms of this Agreement shall control.
Version 1.00 —
© 2000 - 2002 Microsoft Corporation. All rights reserved.
Serial Port Console Redirection Table — 3
Disclaimer: The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of
the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on
the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented. This document is for informational
purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.
Microsoft Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights
covering subject matter in this document. The furnishing of this document does not give you any license to the patents, trademarks,
copyrights, or other intellectual property rights except as expressly provided in any written license agreement from Microsoft Corporation.
Microsoft does not make any representation or warranty regarding specifications in this document or any product or item developed based
on these specifications. Microsoft disclaims all express and implied warranties, including but not limited to the implied warranties or
merchantability, fitness for a particular purpose and freedom from infringement. Without limiting the generality of the foregoing, Microsoft
does not make any warranty of any kind that any item developed based on these specifications, or any portion of a specification, will not
infringe any copyright, patent, trade secret or other intellectual property right of any person or entity in any country. It is your responsibility
to seek licenses for such intellectual property rights where appropriate. Microsoft shall not be liable for any damages arising out of or in
connection with the use of these specifications, including liability for lost profit, business interruption, or any other damages whatsoever.
Some states do not allow the exclusion or limitation of liability or consequential or incidental damages; the above limitation may not apply to
you.
Microsoft, Win32, Windows, and Windows NT are trademarks or registered trademarks of Microsoft Corporation in the United States and/or
other countries. Other product and company names mentioned herein may be the trademarks of their respective owners.
© 2000 Microsoft Corporation. All rights reserved.
Version 1.00 —
© 2000 - 2002 Microsoft Corporation. All rights reserved.
Serial Port Console Redirection Table — 4
Serial Port Console Redirection Table Format
Field
Byte
Length
Byte
Offset
Description
Header
Signature
4
0
Length
4
4
Revision
Checksum
OEMID
OEM Table ID
1
1
6
8
8
9
10
16
OEM Revision
4
24
Creator ID
4
28
Creator Revision
4
32
Interface Type
1
36
Reserved
Base Address
3
12
37
40
‘SPCR’. Signature for the Serial Port Console
Redirection Table.
Length, in bytes, of the entire Serial Port Console
Redirection Table.
1
Entire table must sum to zero.
OEM ID.
For the Serial Port Console Redirection Table, the
table ID is the manufacturer model ID.
OEM revision of Serial Port Console Redirection
Table for supplied OEM Table ID.
Vendor ID of utility that created the table. For the
DSDT, RSDT, SSDT, and PSDT tables, this is the ID
for the ASL Compiler.
Revision of utility that created the table. For the
DSDT, RSDT, SSDT, and PSDT tables, this is the
revision for the ASL Compiler.
Indicates the type of the register interface:
0 = full 16550 interface
1 = full 16450 interface (must also accept writing to
the 16550 FCR register)
2-255 = reserved
Must be 0.
The base address of the Serial Port register set
described using the Generic Register Address
Structure*.
0 = console redirection disabled
Interrupt Type
1
52
Note:
COM1 (0x3F8) would be:
Integer Form: 0x 01 08 00 00 00000000000003F8
Viewed in Memory: 0x01080000F803000000000000
COM2 (Ox2F8) would be:
Integer Form: 0x 01 08 00 00 00000000000002F8
Viewed in Memory: 0x01080000F802000000000000
Interrupt type(s) used by the UART.
Bit[0] PC-AT-compatible dual-8259 IRQ interrupt
Bit[1] I/O APIC interrupt (Global System Interrupt)
Bit[2] I/O SAPIC interrupt (Global System Interrupt)
(IRQ)
Bit[3:7] reserved (must be 0)
0 = not supported
1 = supported
Platforms with both a dual-8259 and an I/O APIC or
I/O SAPIC must set the IRQ bit (Bit[0]) and the
corresponding Global System Interrupt bit.). E.g. an
system trhat supported 8259 and SAPIC would be 5
Version 1.00 —
© 2000 - 2002 Microsoft Corporation. All rights reserved.
Serial Port Console Redirection Table — 5
Field
Byte
Length
1
Byte
Offset
53
Global System
Interrupt
4
54
Baud Rate
1
58
Parity
1
59
Stop Bits
1
60
Flow Control
1
61
Terminal Type
1
62
Reserved
PCI Device ID
PCI Vendor ID
PCI Bus Number
1
2
2
1
63
64
66
68
PCI Device Number
1
69
PCI Function
Number
PCI Flags
1
70
4
71
PCI Segment
1
75
Reserved
4
76
IRQ
Description
The PC-AT-compatible IRQ used by the UART.
2-7, 9-12, 14-15 = valid IRQs respectively
0-1, 8, 13, 16-255 = reserved
Valid only if Bit[0] of the Interrupt Type field is set.
The I/O APIC or I/O SAPIC Global System Interrupt
used by the UART.
Valid only if Bit[1] or Bit[2] of the Interrupt Type field is
set.
The baud rate the BIOS used for redirection.
3 = 9600
4 = 19200
6 = 57600
7 = 115200
0-2, 5, 8 - 255 = reserved
0 = No Parity
1-255 = reserved
1 = 1 Stop bit
0,2-255 = reserved
Bit[0] = DCD required for transmit
Bit[1] = RTS/CTS hardware flow control
Bit[2] = XON/XOFF software control
Bit[3:7] = reserved, must be zero
The terminal protocol the BIOS was using for console
redirection:
0 = VT100
1 = VT100+
2 = VT-UTF8
3 = ANSI
4-255 = reserved
Must be 0
Must be 0xFFFF if it is not a PCI device
Must be 0xFFFF if it is not a PCI device
PCI Bus Number if table describes a PCI device
Must be 0x00 if it is not a PCI device
PCI Slot Number if table describes a PCI device
Must be 0x00 if it is not a PCI device
PCI Function Number if table describes a PCI device
Must be 0x00 if it is not a PCI device
PCI Compatibility flags bitmask. Should be zero by
default.
Bit[0] = Operating System should NOT suppress PNP
device enumeration or disable power management for
this device. Must be 0 if it is not a PCI device
Bits 1-31 = RESERVED, must be zero.
PCI segment number.
For systems with fewer than 255 PCI buses, this
number must be 0.
Must be 0
* The Generic Register Address Structure can be found on the Microsoft web site at
http://www.microsoft.com/hwdev/onnow/download/LFreeACPI.doc
Version 1.00 —
© 2000 - 2002 Microsoft Corporation. All rights reserved.
Serial Port Console Redirection Table — 6
Revision History
Date
2/15/00
3/1/00
Rev
.10
.50
Description
Created
‘SPCR’. Signature
Data added
3/20/00
3/22/00
.55
.56
3/23/00
4/24/00
.56a
.6
Data revised to include port and irq
Clarified port identification
Added ability to disable redirection
Added pointer to the Generic Register Address
Structure
Formatting, disclaimer, copy editing
Posted on web for WinHEC
4/24/00
.6
Public review draft published
5/25/00
.61
Correction to BASE_ADDRESS description
5/25/00
.61
Public review draft published
5/31/00
.7
5/31/00
.71
Correction to BASE_ADDRESS description examples
Added 16540 interface
Changed the info on the GRAS from a note to a “*”
5/31/00
.71
Public review draft published
6/1/00
.72
7/12/00
.75
7/26/00
.76
8/10/00
.77
9/22/00
.78
Changed GRAS COM port examples to be littleendian
Added text to the end of the line
Fixed IRQ Description
Fixed various format issues
Added PCI bus information
Update to PCI field name “Device Number”
Changed intro language to include non-legacy UART
Changed interrupt information, adding APIC and
SAPIC
Added flow control
Added PCI Segment
10/25/00
.80
10/1/01
1/11/02
.95
1.00
Fixed PCI Flags section
Added Terminal Types
Added 16450 FCR info
removed language codes
adding updated licensing
spec to 1.00
Version 1.00 —
© 2000 - 2002 Microsoft Corporation. All rights reserved.