Removing Support for Industry Standard Architecture (ISA) Bus

Updated: March 15, 2007

In future versions of the Windows operating systems, Microsoft plans to discontinue support for the Industry Standard Architecture (ISA) bus. This legacy reduction effort is being introduced with changes to the Windows Vista and Windows Server 2008 operating systems. Microsoft expects to fully remove this support with the next major release of a future version of the Windows operating system. Microsoft has not identified any customer dependency on this support.

Questions or feedback about this paper may be provided to pciesup@microsoft.com.

Background

Windows operating systems provide support for ISA hardware enumeration and resource allocation via the ISA Plug and Play (ISAPnP) protocol. Starting in the early 1990s, the PCI Local Bus architecture began to replace ISA. PCI Express is now becoming the new bus standard that offers faster performance and a more robust implementation than conventional PCI. Because of the rapid adoption of PCI, the need for ISAPnP support in Windows operating systems continues to decline.

ISAPnP Support in Windows Operating Systems

Currently, ISAPnP capability is supported in the following Microsoft Windows operating systems:

Windows 2000

Windows XP

Windows Server 2003

Windows Vista (not enabled by default)

Windows Server 2008 (not enabled by default)

Windows XP and Windows Server 2003 provide ISAPnP support by using the isapnp.sys driver.

Changes in Windows Vista and Windows Server 2008

Windows Vista and Windows Server 2008 continue to provide isapnp.sys, but this driver is not loaded by default. As a first step toward completely removing legacy ISAPnP support, Windows Vista and Windows Server 2008 moved reduced support for ISA devices into the driver msisadrv.sys. This driver preserves only minimal functionality and does not provide ISAPnP enumeration and resource assignment support. Msisadrv.sys contains routines to manage an ISA bridge, such as exporting an interrupt translator interface from the HAL, and is required to support legacy devices still prevalent in the platform, such as PS/2 input devices. Windows Vista and Windows Server 2008 will load msisadrv.sys on a PCI-to-ISA bridge device by default. For legacy devices where the platform firmware provides hardware enumeration and resource assignment support, msisadrv.sys will provide the necessary support and these devices will work without issue.

Enabling ISAPnP Support in Windows Vista and Windows Server 2008

If legacy ISAPnP enumeration and resource allocation support is still required, a custom .inf file is required to cause isapnp.sys to be loaded on the system's PCI-to-ISA bridge device. A device requiring this ISAPnP support should place a reference in its .inf file, as illustrated in the sample below.

Sample .inf File

[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider=%MANUFACTURER%
CatalogFile=manufacturer.cat
DriverVer=xx/xx/xxxx,y.y.y.yyyy

[ControlFlags]
ExcludeFromSelect=*

[Manufacturer]
%MANUFACTURER%=MANUFACTURER_SYS

[MANUFACTURER_SYS]
%PCI\VEN_XXXX&DEV_YYYY.DeviceDesc% = ISAPNP_DRV, PCI\VEN_XXXX&DEV_YYYY

[sourcedisksnames]

[sourcedisksfiles]

[ISAPNP_DRV]
Include=machine.inf
Needs=LEGACY_ISAPNP_DRV

[ISAPNP_DRV.Services]
Include=machine.inf
Needs=LEGACY_ISAPNP_DRV.Services

[Strings]
MANUFACTURER="Manufacturer"
PCI\VEN_XXXX&DEV_YYYY.DeviceDesc ="Manufacturer Device Description String"

		

Top of pageTop of page