Hp COMPAQ PROLIANT 3000, COMPAQ PROLIANT 1500, COMPAQ PROLIANT 4500, COMPAQ PROLIANT 1600, COMPAQ PROLIANT 5000 PCI Bus Numbering in a Microsoft Windows NT Environment
PCI Bus Numbering in a
Microsoft Windows NT
Environment
Abstract: Computing environments change rapidly to support
business requirements. Typical network PCI-based servers contain a
large number of expansion slots on multiple buses to allow for
system growth. This means that multiple network and disk
controllers of the same type may be installed in one server, with the
intent that each installed controller supports a separate unique
function. This can make it difficult to understand the physical and
logical implications of PCI bus numbering.
This document provides information to help systems engineering
professionals understand how Microsoft Windows NT handles PCI
bus numbering when controllers are physically added, moved, or
removed from a server configuration. This document also includes
ideas and suggestions that can help systems professionals avoid
network downtime due to configuration changes.
IMPORTANT: During the development of Microsoft Windows
2000, Compaq and Microsoft worked closely together effectively
implementing Windows 2000 on Compaq hardware. Through this
partnership, device detection improved, eliminating PCI bus
numbering issues in the Windows 2000 environment. Windows 2000
checks and resets registry settings automatically, unlike its
predecessor that does not reset the registry settings after discovering
unbound devices.
The following documents were either used as references to produce
this white paper or are mentioned as recommended related reading
material:
• PCI System Architecture, Third Edition, MindShare, Inc. Tom
Shanley and Don Anderson, November, 1995.
• PCI Bus Balancing and Optimization on Compaq ProLiant
Servers, March, 1998 – Doc ID ECG073/0398.
• Where Do I Plug the Cable? Solving the Logical-Physical Slot
Numbering Problem, December 1996 – Doc ID 209A/1296.
• Deploying PCI Hot Plug on Compaq
Windows NT
Environment, July 1997 - Doc ID 064A/0797.
Servers in a Microsoft
Help us improve our technical communication. Let us know what you think
about the technical information in this document. Your feedback is valuable
and will help us structure future communications. Please send your
comments to:
CompaqNT@compaq.com
PCI Bus Numbering in a Microsoft Windows NT Environment 2
Trademark Office.
SoftPaq is a trademark and/or service mark of Compaq Computer Corporation.
Netelligent is a trademark and/or service mark of Compaq Information Technologies Group, L.P. in the
U.S. and/or other countries.
Microsoft, Windows, Windows NT, and Windows 2000 are trademarks and/or registered trademarks of
Microsoft Corporation.
Pentium, Xeon, Pentium II Xeon, and Pentium III Xeon are registered trademarks of Intel Corporation.
Adobe, Acrobat, and the Acrobat logo are trademarks of Adobe Systems, Inc.
Other product names mentioned herein may be trademarks and/or registered trademarks of their respective
companies.
The information in this publication is subject to change without notice and is provided “AS IS” WITHOUT
WARRANTY OF ANY KIND. THE ENTIRE RISK ARISING OUT OF THE USE OF THIS
INFORMATION REMAINS WITH RECIPIENT. IN NO EVENT SHALL COMPAQ BE LI AB LE FOR
ANY DIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL, PUNITIVE OR OTHER DAMAGES
WHATSOEVER (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
PROFITS, BUSINESS INTERRUPTION OR LOSS OF BUSINESS INFO RMATION), EVEN IF
COMPAQ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
The limited warranties for Compaq products are exclusively set forth in the documentation accompanying
such products. Nothing herein should be construed as constituting a further or additional warranty.
This publication does not constitute an endorsement of the product or products that were tested. The
configuration or configurations tested or described may or may not be the only available solution. This test
is not a determination or product quality or correctness, nor does it ensure compliance with any federal
state or local requirements.
PCI Bus Numbering in a Microsoft Windows NT Environment
Integration Note prepared by OS Integration Engineering
Fourth Edition (December 2000)
Document Number 13UK-1200A-WWEN
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 3
Executive Overview
The term Peripheral Component Interconnect, commonly known as PCI, refers to the bus
architecture standard. The PCI bus technology has become an industry standard; today’s servers
provide a large number of expansion slots and can be populated with a greater number of PCI
disk and network controllers. PCI buses provide fast access between controllers and/or system
memory and the host processor. PCI buses offer a significant performance advantage over EISA
buses.
The PCI Special Interest Group (SIG) is an unincorporated association of members of the
microcomputer industry set up for the purpose of monitoring and enhancing the development of
the PCI architecture. The PCI Steering Committee is a group of nine companies that oversees SIG
activities and reviews formal recommendations for changes to PCI Specification(s). Compaq is a
member of the SIG Steering Committee and actively proposes and contributes new design
functions for future revisions to the PCI Specification.
Later in this document, examples
are provided in two test scenarios,
illustrating what happens to PCI
bus numbering when configuration
changes occur.
during system start up. Windows NT uses these numbers to identify bridged controllers. If
controllers are added to an existing system, the PCI bus numbering might change. This change
might affect the operation of your system.
This white paper provides information to help systems professionals understand how the PCI
Specification addresses server bus numbering assignments. This document discusses:
• How the PCI BIOS detects and numbers PCI buses and bridges.
• What happens to PCI Bus numbering at each system start up.
• How adding or removing PCI devices might cause a renumbering of PCI buses.
• How Windows NT handles bus numbering in the Windows NT Registry.
• How to prevent PCI bus numbering mismatches from occurring.
This document contains several examples to demonstrate PCI bus numbering. After reading this
document, you should be able to properly configure and/or reconfigure a Windows NT system when
PCI bus numbers are reassigned with minimal interruption to the network.
PCI bus technology development continues to advance at a rapid pace to
meet customer’s business requirements. Server technology includes
equipment, such as the ProLiant 8000 with multiple PCI buses. The
computing capabilities of these servers can be further expanded through
PCI controllers and PCI bridged devices such as the Smart Array 4250ES
Controller. Each PCI bus in the system is numbered by the PCI BIOS
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 4
PCI Bus Architecture Terminology
Table 1 lists some terms related to PCI Bus Architecture terminology. Some of the terminology
defined in this table was referenced from PCI System Architecture, Third Edition, MindShare,
Inc. Tom Shanley and Don Anderson. (November, 1995.)
Table 1. PCI bus architecture standard terms
Bridge Bridge is the device, providing connectivity between two independent
Bus Number Bus number is a number in the range 0…255 that uniquely selects a PCI
Device ID Device ID is a number in the range 0…31 that uniquely selects a device
Downstream When a transaction is initiated and is passed through one or more PCI-to-
Dual-Peer PCI Bus A system architecture providing high-bandwidth I/0 because two buses
Highly Parallel
Architecture
PCI Peripheral Component Interconnect refers to a bus based on the PCI
PCI BIOS PCI BIOS functions provides a software interface to the hardware used to
PCI Bridge The device that provides the bridge between two independent buses.
PCI-to-PCI Bridge PCI-to-PCI bridge is a system architecture where an additional PCI bus is
buses.
bus.
on a PCI bus.
PCI bridges flowing away from the host processor, it is said to be moving
downstream.
can operate simultaneously (i.e., in parallel) is called a dual-peer-PCI bus.
A system architecture using dual memory controllers, dual-peer-P CI
buses to deliver optimized multiprocessing support to deliver increased
system throughput and increased system performance when compared to
traditional x86-based designs is said to be highly parallel.
Local Bus Specification, through which industry-standard peripheral
controllers connect to computer systems.
implement a PCI based system.
PCI bridges can reside on the system and can reside on controllers. PCI
bridges help with signal integrity and allow more devices to be added per
system.
bridged off another PCI bus (i.e., in series).
Peer-to-Peer PCI Buses PCI buses that occupy the same ranking in the PCI bus hierarchy (with
Primary Bus The PCI bus closest to the host processor that is connected to one side of
Secondary Bus The PCI bus detected after the Primary Bus is called the Secondary Bus.
Tertiary Bus The Tertiary bus resides furthest from host processor that is connected to
Triple-Peer PCI Bus System architecture operating with three PCI buses on a single server is
Upstream When a transaction is initiated and is passed through one or more PCI-to-
13UK-1200A-WWEN
respect to the host bus) are referred to as Peer PCI buses.
the inter-bus bridge is the Primary Bus (numbering always starts at 0).
one side of the inter-bus bridge.
referred to as a Triple-Peer PCI Bus.
PCI bridges flowing towards the host processor, it is said to be moving
upstream.
PCI Bus Numbering in a Microsoft Windows NT Environment 5
PCI Hot Plug Terminology
Table 2 lists some terms related to PCI Hot Plug Terminology; however, this is not a complete list.
The terms described here are those that relate to Hot Plug capabilities experienced in this
document.
Table 2. PCI hot plug standard terms
*Hot Add
Hot Plug Aware Indicates that a piece of software, such as a device driver, can take
Hot Plug Slot A PCI slot capable of being powered down without interfering with the other
Hot Replacement The ability to remove PCI controllers from a system while the system is
*Hot Upgrade
PCI Hot Plug The ability to physically insert or remove industry-standard PCI adapters
* Not available in initial release of PCI Hot Plug technology for Windows NT
The ability to add existing PCI controllers and drivers to next generation
controllers and drivers while a system is running, without shutting down
the system.
advantage of the PCI Hot Plug capabilities of a system.
slots in the system, and without shutting the system down.
running and replace them with equivalent PCI controllers, without removing
power to the server and without reconfiguring or reloading software
support.
The ability to upgrade existing PCI controllers and drivers to next generation
controllers and drivers while a system is running, without shutting down the
system.
while the system is running without disrupting the operation of other
devices in the system.
PCI System Overview
This section reviews some of the basics of buses including PCI architecture and bridged
controllers, PCI BIOS, PCI bus numbering, PCI BIOS discovery, and configuration changes to
the bus numbering.
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 6
PCI Architecture and Bridged Controllers
There are four primary bus expansion schemes for PCI systems, namely the PCI-to-PCI bridge
architecture, Dual-Peer PCI Bus architecture (see Figure 1), Highly-Parallel Bus architecture (see
Figure 2), and Triple-Peer PCI Bus architecture (see Figure 3). The Compaq servers discussed in
this white paper and used in the Integration Lab testing include these PCI architecture system
designs. Refer to the “Compaq Server and Option Hardware” section of this white paper for more
information.
133MHz FSB
Pentium III
133MHz
1.06GB/s
133MHz
1.06GB/s
133MHz
SDRAM
DIMMs
OSB4
SuperIO
Controller
ISA
Slot
Figure 1. Dual-peer PCI bus architecture in the ProLiant ML350
RCC 3.0
PCI/Memory
Controller
133 MB/s
4 x 32-Bit PCI Slots
133MHz FSB
Pentium III
267 MB/s
2 x 64-Bit
PCI Slots
Server Feature Card
in 32-bit PCI slot
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 7
Pentium III
Xeon
133MHz
SDRAM
DIMMs
33MHz/32-bit
Figure 2. Highly parallel PCI bus architecture in the ProLiant ML530
133MHz133MHz
PCI slot
RCC 3.0
controller
66MHz/64-bit
PCI slots
Pentium III
Xeon
RCC 3.0
controller
SDRAM
DIMMs
33MHz/64-bit
PCI slots
Figure 3. Triple-peer PCI bus architecture in the ProLiant 8000
PCI bridges are not limited to the computer system; controllers can include them also. Hardware
manufactures such as Compaq include PCI bridges on controllers to help with signal integrity,
enabling more devices to be added per system. Data transfers from the host bus, through the
primary PCI bus, through the PCI-to-PCI bridge on the controller, and finally to the PCI device.
For example, an intelligent device such as a Smart Array 4250ES Controller contains a PCI
bridge.
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 8
PCI BIOS
The PCI BIOS specification defines the rules regarding implementation of the PCI BIOS and the
software that it calls. The PCI BI OS supplies servic es t o the hardw are pla tf orm, such as
determining the range of PCI buses present in the system and searching for all instances of a
specific PCI device. The PCI BIOS for each hardware manufacturer is platform-specific. The
operating system, application programs, and device drivers do not directly access the PCI
configuration area. On Compaq servers you can review system configuration information by
accessing the Compaq System Configuration Utility during system startup before the operating
system initialization (by pressing F10). The System Configuration Utility may be installed on a
server with the Compaq SmartStart and Support Software CD or from a diskette to update the
server configuration.
PCI Bus Numbering
At startup time, the PCI BIOS is aware only of the existence of PCI bus 0, the first bus number
detected on the Primary PCI Bus. The PCI BIOS assigns numbers to each PCI bus and bridge it
detects during system initialization. PCI bus numbers reassign each time the system starts and the
discovery process begins again. Each PCI device receives the same PCI bus number if no changes
have been made.
Each time the server restarts the PCI BIOS must walk the base PCI bus (starting at bus 0),
subsequent bridges, and bridged devices to search and identify other PCI buses as if it were the
first time. Each time the PCI BIOS discovers another PCI bus after a physical configuration
change is made, it increments the bus number and continues to walk the bus until all other buses
are discovered.
As it discovers each bus and/or bridge, the PCI BIOS:
• Records each unique bus number
• Associates the bus number to a bus or bridged PCI device
When the System Configuration Utility runs it builds a picture of the bus “tree” that represents
the overall system topology. The System Configuration Utility displays the slot and bus number
assignment for each PCI device in the server. Since controllers are physically installed in
numbered slots, the PCI BIOS does not detect the numbers assigned to the slots, only the PCI
devices installed in the slots. Systems professionals typically use slot numbers to identify and
record the physical placement of controllers when configuring network systems. This document
should help you predict how the PCI BIOS assigns and/or reassign bus numbers and how to
associate these assignments to the physical slot numbers. Slot number assignments remain
constant with a controller for as long as the controller is installed in a particular slot.
PCI BIOS Discovery
The following examples illustrate the PCI BIOS discovery and bus number assignment process
for PCI buses, non-bridged controllers, and bridged controllers. The actual discovery process
includes other components not shown here that reside on the PCI bus, such as video or embedded
SCSI devices. However, this document omits these other components to simplify the example.
PCI Bus numbering is determined by the order of detection of each PCI bus discovered in a
server configuration. The manufacturer defines the detection order for each server. Refer to
“Table 11. PCI Bus Number Order of Detection Matrix” for Compaq ProLiant servers.
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 9
IMPORTANT: PCI Bus numbers are assigned in “device detection order,” not by slot
numbering.
Bus numbers are assigned during
bus initialization according to
predefined hardware designators.
The bus numbers may not appear to
follow a set increment and some
numbers may be skipped.
However, by this method, these
hardware designators prevent
overlays in bus numbering from
occurring.
process continues until all PCI controllers and controllers with bridged buses on the Primary Bus
are detected. The PCI BIOS then continues the discovery process on the Secondary Bus until all
PCI buses are detected.
The diagram in Table 3 shows an example of the discovery process. Table 3 does not represent all
the PCI slots and bus assignment possibilities, it depicts snapshot of what occurs when controllers
are loaded in the server.
Table 3. Example of PCI bus number detection order for the ProLiant ML350 (a dual-peer system)
ProLiant ML350 PCI Server Architecture
PCI BIOS Discovery Process
! Host Bus " Primary PCI Bus First 0 ! Slot 1 – Server Feature Card Second 0 ! Slot 4 – Empty Third 0 ! Slot 5 – Empty Fourth 0 ! Slot 6 – NC3131 Fast Ethernet NIC Fifth 1
Dual-Peer PCI Bus – The Compaq ProLiant ML350 server, an example
of the dual-peer PCI architecture, begins the PCI BIOS discovery process
at the Host Bus. When it detects the primary bus, it assigns bus 0 to it.
The PCI BIOS then looks for PCI controllers in slots on the Primary Bus.
PCI controllers detected without bridged PCI buses are assigned bus 0,
the number of the bus in which it is seated. However, if the PCI Bios
detects a bridged PCI device, it increments the bus number to 1 and
assigns that bus number to the PCI bus detected on the bridged
controller. (The next PCI bus detected is assigned a bus number
according to the hardware designation for that system). This discovery
Controller Bus Detection
Order
Bus Number
Assignment
As indicated in Table 3, the order of detection on the ProLiant ML350 server is Primary Host-toPCI Bridge, followed by PCI controllers and bridged controllers on the Primary Bus in slots
beginning at 1, skipping 2-3, and ending at 6. The bus discovery process continues with the
Secondary Host-to-PCI Bridge, followed by PCI controllers and bridged controllers in slots
beginning at 2 and ending at 3.
Highly Para l lel PCI Bus – The Compaq ProLiant ML530 provides an example of highly parallel
PCI architecture. This architecture uses dual memory controllers, dual-peer-PCI buses to deliver
optimized multiprocessing support to deliver increased system throughput, and increased system
performance when compared to traditional x86-based designs.
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 10
Triple-Peer PCI Bus – The Compaq ProLiant 8000 is an example of the triple-peer PCI
architecture. The PCI BIOS begins the discovery process at the Host Bus. In a triple-peer PCI bus
architecture the Primary Bus is the first bus detec ted an d it is assig ned bus 0. The PCI BIO S then
looks for PCI controllers in slots on the Primary Bus. PCI controllers detected without bridged
PCI buses are assigned bus 0, which is the number of the bus it is seated in. However, if a PCI
controller is detected with a bridged PCI device, the PCI BIOS increments the bus number to 1
and assigns that bus number to the PCI bus detected on the bridged controller. This discovery
process continues until all PCI controllers and controllers with bridged buses on the Primary Bus
are detected. The PCI BIOS then continues the discovery process on the Secondary Bus until all
PCI buses are detected, and then on to the Tertiary Bus until all PCI buses are detected.
The diagram in Table 4 is an example of the discovery process.
Table 4. Example of PCI bus number order of detection for ProLiant 8000 (a triple-peer system)
ProLiant 8000 PCI Server Architecture
PCI BIOS Discovery Process
! Host Bus
" Primary PCI Bus First 0
! PCI Slot 1 – Pri Bus Empty Second 0
! PCI Slot 2 – Pri Bus Empty Third 0
! PCI Slot 3 – Pri Bus Empty Fourth 0
! PCI Slot 4 – Pri Bus Empty Fifth 0
" Secondary PCI Bus Sixth 6
! PCI Slot 5 – Sec Bus Empty Seventh 6
! PCI Slot 6 – Sec Bus Empty Eighth 6
! PCI Slot 7 – Sec Bus PCI Controller (no bridge) Ninth 6
! PCI Slot 8 – Sec Bus PCI Controller (integrated PCI bridge) Tenth 7
! PCI Slot 9 – Sec Bus Empty Tenth 6
" Tertiary PCI Bus Eleventh 13
! PCI Slot 10 – Ter Bus PCI Controller (no bridge) Twelfth 13
! PCI Slot 11 – Ter Bus PCI Controller (integrated PCI bridge) Thirteenth 14
End of bus
discovery
Controller Bus
Detection Order
Bus Number
Assignment
The “Additional Troubleshooting Tips” section of this document contains a matrix titled “Table
11. PCI Bus Number Order of Detection Matrix”. This matrix lists the PCI Bus detection order
for several Compaq ProLiant servers.
In this scenario, PCI BIOS assigns the Primary Bus as bus 0. Since it detects no devices in the
Primary Bus, the discovery process continues to the Secondary Bus, assigned bus 6. The first PCI
controller detected downstream from the Secondary Bus does not contain a bridge, this controller
is assigned bus 6, the same as the Secondary PCI bus. The discovery process continues with bus
number assignments for other controllers on the Secondary Bus based on the order of detection.
Once again, if the PCI controller is a bridged PCI device, the bus number increments, if the PCI
controller is a non-bridged device then the controller is assigned the same number as the bus it is
seated in. After detection on the Secondary Bus completes, the Tertiary PCI Bus is assigned the
bus 13.
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 11
For example, the order of detection on the ProLiant 8000 is Primary Host-to-PCI Bridge,
followed by PCI controllers and bridged controllers on the Primary Bus in slots beginning at 1, 2,
3 and ending at slot 4. The bus discovery process continues with the Secondary Host-to-PCI
Bridge, followed by PCI controllers and bridged controllers in slots beginning at 5, 6, 7, 8, and
ending at slot 9. Then, the process moves forward to the Tertiary Host-to-PCI Bridge, followed
by PCI controllers and bridges controllers in slots beginning at 10 and ending at slot 11.
Configuration Changes
Bus number assignments for
controllers with bridged devices
are assigned to the PCI bus on the
controller.
subsequent controller in the discovery process (containing a bridged PCI bus) receives an
incremented bus number assignment, regardless of whether it is new or it was previously
configured.
The PCI BIOS assigns resources at power-up, the server must be restarted before the PCI BIOS
can assign PCI bus numbers to each bus discovered in the new configuration. The PCI BIOS
assigns PCI bus numbers to each PCI device in the order of discovery without any concern for
prior bus assignments or the physical slot location. Several bus-numbering scenarios included in
this white paper demonstrate how the PCI BIOS discovers PCI buses and assigns numbers.
From time to time, network administrators add disk and network
controllers to existing configurations to address the requirements of
growing server networks. Adding a bridged controller earlier in the
discovery order than other existing controllers can change the PCI bus
number assignment of all bridged PCI controllers detected after it. Each
Windows NT and PCI Bus Numbering
During the initial installation of Windows NT, all network controllers in the server automatically
add to the registry along with the bus number assignment. This is the only time that Windows NT
automatically adds the PCI bus numbers in the registry. If no physical configuration changes are
made to the system in the future, Windows NT continues to detect the controllers after future
system restarts.
IMPORTANT: During the development of Microsoft Windows 2000, Compaq and Microsoft
worked closely together effectively implementing Windows 2000 on Compaq hardware. Through
this partnership, device detection improved, eliminating PCI bus numbering issues in the
Windows 2000 environment. Windows 2000 checks and resets registry settings automatically,
unlike its predecessor that does not reset the registry settings after discovering unbound devices.
PCI Bus Numbering and Network Controllers
When you modify a server by adding a new controller, removing a controller, or moving a
controller to a different slot, Windows NT might not detect the change in the server
configuration. Configuration changes only occur when you insert or remove a bridged device.
The PCI BIOS renumbers PCI bus numbers assigned to PCI buses and PCI bridged devices
during the discovery process, based on the new configuration. Windows NT does not
automatically check for new bus number assignments. Windows NT retains the original controller
slot number and bus number assignments in its registry after the server restarts. However, the bus
number assignments in the Windows NT registry can be updated using the appropriate network
configuration tool for your controllers. The Compaq TLAN Teaming and Configuration Utility
supports Compaq NetFlex-3 and Netelligent Controllers (see Appendix C for usage information),
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 12
where as, the Compaq Network Teaming and Configuration Utility supports Compaq 10/100 and
Gigabit NICs, discussed in this document.
Note: When configuration changes are necessary due to server maintenance or upgrade,
Compaq recommends that you plan your changes carefully, document all original settings and
bindings, and backup the system.
Physical controller modifications made after the initial configuration can adversely affect the
original bindings. To make the controller functional again, you must reset the controller and
device driver bindings. Network controllers must bind to device drivers to be functional and
provide connectivity on a network. System Administrators unaware that new bus number
assignments were made after a configuration change might falsely believe that the hardware is
broken.
Compaq and Microsoft provide several utilities you can use to reset device driver and controller
bindings. As long as the System Administrator knows bus numbers are assigned in a server, the
Windows NT registry can be reset with minimal effort. See the section titled “PCI Test
Configurations with ProLiant Servers” in this document.
Disk Renumbering
Disk reordering can complicate an
administrator’s ability to identify
what a particular disk volume
contains when the numbers change
in Disk Administrator. Howe ver,
disk number reordering does not
affect the contents of the disk
volume.
partition and that loads as Disk 0. Compaq recommends running the Disk Administrator after
completing a Windows NT installation to ensure that the boot drive receives a signature properly
(Drive C:) and locks the drive letter to the partition.
The Compaq SCSI and Array Disk Controllers have a Windows NT Registry entry used to
determine disk controller-loading order. If disk numbers/drive letters become reordered because of a
changed drive load order, the operation of the applications on the disk should not be affected. When
you create a partition on a disk drive; Windows NT Disk Administrator should be run to
permanently lock the drive letter to the partition even if Drive C: is the only disk in the system.
In simple configurations, identifying contents on a particular drive or volume might not be an issue.
In more complex configurations consisting of multiple drives and volumes, the order in which the
drives/volumes are listed can change when a physical modification is made to the disk
configuration. As mentioned earlier, Windows NT Disk Administrator lists drives and volumes in
the order they are discovered.
Disk ordering in a simple example:
Order of detection (Before Change) Drive Letter and Label
Disk 0 C: NT OS
Disk 1 D: ACCT files
The Windows NT Disk Administrator located under
#Programs#Administrative Tools (Common) contains a graphical
Start
tool provided with the operating system to manage disk drives. This tool
allows Disk Administrators to display and track disk devices. Windows
NT lists drives and volumes in this utility in the order discovered at
system startup. Each drive detected during discovery shows in the Disk
Administrator with a disk number (starting at 0). The hard drive that
boots the system must have one partition designated as the active
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 13
Add two more drives to the system and the order of detection changes:
Order of detection (After Change) Drive Letter and
Label
Disk 0 C: NT OS
Disk 1 Unknown (not
formatted)
Disk 2 E: ENG files
Active
System
Partition
New
New
Disk 3 D: ACCT files
Windows NT orders disk volumes in the order of discovery at boot time. Adding more drives to
an already configured system can change the order of detection. Descriptively labeling the disk
volumes using the Disk Administrator can eliminate frustration and prevent unnecessary
confusion identifying the contents of a disk volume. Labeling the volume ensures that you can
easily identify its content.
Hardware, Software, and Configuration
Tools
This section identifies the Compaq servers and option hardware used to create test scenarios in
the Compaq Windows NT Integration Lab. All tests ran under the Windows NT 4.0 operating
system. In addition to the operating system, several Compaq utilities and Windows NT
administration tools were used to aid in the testing process. Testing included slot identification,
bus number assignments, disk number assignments, and resetting the configuration after a system
modification.
Compaq Servers and Option Hardware
This section provides a brief description of the servers and option hardware used to test PCI bus
numbering and slot configurations for this document.
Disk order
changed
Compaq Servers
This white paper details the PCI bus numbering scheme of five Compaq ProLiant server models.
Note: The features discussed in this section should not be considered a complete description for
any of the server or option hardware. Refer to the specification for each product to learn more
about the complete feature set. This information is available on the Compaq website at
http://www.compaq.com/products/servers
The ProLiant ML350 contains the dual-peer PCI bus architecture. Two other servers, the ProLiant
DL380 and the ProLiant 530, have a highly parallel architecture, whereas, the ProLiant 8000 has
a triple-peer PCI bus architecture as documented in Configuration B.
The ProLiant ML530 results are described in Configuration A, and the ProLiant ML350 server’s
PCI bus numbering results are detailed in Configuration C.
The “PCI Bus Number Order of Detection Matrix” provided in this document lists the PCI BIOS
discovery process for all servers mentioned up to this point.
13UK-1200A-WWEN
.
PCI Bus Numbering in a Microsoft Windows NT Environment 14
ProLiant 8000
The ProLiant 8000 has 11 PCI slots: ten 64-Bit slots and one 32-Bit PCI slot (see Figure 4).
Figure 4. Slot view of the ProLiant 8000
Primary Bus:
Slot 1 is the first PCI slot
detected in this server
configuration. Bus
numbering starts here and
continues to slots 2, 3,
and 4.
Secondary Bus:
Bus numbering continues
down to slots 5, 6, 7, 8,
and 9.
Tertiary Bus:
Then, bus numbering
completes after reaching
slots 10 and 11.
ProLiant ML530
ProLiant ML530 contains a highly parallel bus and has 8 PCI slots: two 64-Bit 66MHz slots, five
64-Bit 33MHz slots, and one 32-Bit 33MHz slot (see Figure 5).
Figure 5. Slot view of the ProLiant ML530
Primary Bus:
Slot 1 comprises the
Primary Bus.
Secondary Bus:
Bus numbering continues
down level to slots 7 and
8.
Tertiary Bus:
Bus numbering continues
down level to slots 6, 4, 3,
and 2, completing after
assigning a bus number to
slot 5.
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 15
ProLiant ML350
ProLiant ML350 is a dual-peer bus and has 7 PCI slots: two 64-Bit 3V slots, four 32-Bit slots,
and one Non-Shared ISA slot (see Figure 6).
Primary Bus:
Bus numbering begins
on slot 1 and continues
to slots 4, 5, and 6.
Secondary Bus:
Slots 2 and 3 comprise
the Secondary Bus and
complete the bus
numbering in this
server configuration.
Figure 6. Slot view of the ProLiant ML350
ProLiant DL580
ProLiant DL580 is a triple-peer bus and is comprised of 6 PCI slots: two 64-Bit/66MHz slots,
three 64-Bit/33MHz slots, and one 32-Bit/33MHz slot (see Figure 7).
Figure 7. Slot view of ProLiant DL580
Primary Bus:
The Primary Bus
completes bus numbering
after assignment to 6.
Secondary Bus:
Bus numbering begins
with slot 1 and continues
to 2 and 3.
Tertiary Bus:
Bus numbering begins
with slot 4 and completes
with slot 5.
13UK-1200A-WWEN
PCI Bus Numbering in a Microsoft Windows NT Environment 16
ProLiant DL380
ProLiant DL380 contains a highly parallel bus and has 4 PCI slots: three 64-Bit slots and one 32Bit slot (see Figure 8).
Primary Bus:
Slot 1 is the only slot on
the Primary Bus.
Secondary Bus:
Slots 2, 3, and 4 complete
bus numbering on this
server configuration.
Figure 8. Slot view of the ProLiant DL380
Option Hardware
The following listing in Table 5 identifies the types of Compaq controllers that are categorized as
either PCI bridged or non-bridged.