Plug and Play Requirements

This section defines the specific requirements for Plug and Play.

System and device configuration meet Plug and Play requirements

Required

Optional: Support for legacy Plug and Play technology.

Windows NT Server 5.0 implements complete support for Plug and Play configuration. Each bus and device provided in a server system must meet the current Plug and Play specifications related to its class, including requirements defined in Section 6 of the ACPI 1.0 specification and the clarifications published for some Plug and Play specifications. This includes requirements for automatic device configuration, resource allocation, and dynamic disable capabilities.

For information about new Plug and Play support under Windows NT 5.0, see the Windows NT 5.0 DDK.

The following are current version numbers for all Plug and Play specifications:

Note: Standard system devices are excluded from the Plug and Play requirement. The system can reserve static resources for devices such as programmable interrupt controllers (PICs) 1 and 2, timer (8254-2), keyboard controller (8042), real-time clock, DMA page registers, and DMA controllers 1 and 2. For systems based on Intel Architecture processors, these fixed resources are located at I/O addresses under 100h and can also include a Non-Maskable Interrupt (NMI).

Also, this requirement does not apply to devices that are completely invisible to the operating system, such as out-of-band systems management devices or I2O hidden devices; however, these devices still must properly reserve resources using ACPI methods to avoid potential conflicts.

Unique Plug and Play ID is provided for each system device and add-on device

Required

Each device connected to an expansion bus must be able to supply its own unique identifier, as defined in the current Plug and Play specification for the bus that it uses. The following defines the specific requirements for Plug and Play device IDs:

The following are exceptions to the requirements for a unique Plug and Play ID:

In addition, if an OEM uses a proprietary mechanism to assign asset or serial numbers to hardware, this information must be available to the operating system using Windows hardware instrumentation technology.

Option ROMs meet Plug and Play requirements

Optional

This feature does not apply for DEC Alpha servers. These recommendations apply whether the device is present on the system board set or is provided through an expansion card. Related option ROM recommendations are also defined later in this guide for specific bus classes and specific devices, such as SCSI and graphics adapters, respectively.

Option ROMs are usually located on cards used as system boot devices. During the boot process, option ROMs initialize the boot devices, which provide the primary input, primary output, and IPL device to boot the system. However, Plug and Play option ROMs can be used to supply the Plug and Play expansion header to devices other than boot devices, enabling them to initialize both devices when the system boots.

To design an option ROM with Plug and Play capabilities, follow the requirements described in the Plug and Play BIOS Specification, Version 1.0a, Clarification to Plug and Play BIOS Specification, Version 1.0a, and the Compaq, Intel, Phoenix BIOS Boot Specification, Version 1.01, which describe the Plug and Play expansion header and the interaction between the system BIOS and the option ROM.

“PNP” vendor code is used only to define a legacy device’s Compatible ID

Required

All legacy devices not enumerated by the system board set interface must not use “PNP” in their vendor and device codes. The PNP vendor code is reserved for Microsoft and vendors whose hardware is specifically assigned a particular ID. Other hardware can use a PNP code only when defining a device’s Compatible ID (CID) and only after first indicating the device’s Hardware ID in the Plug and Play header.

Use of CIDs is recommended for devices that use device drivers provided with the Windows NT operating system, such as a standard COM port (PNP0500).