Sun Java Solaris Communities My SDN Account

Article

Device Mapping on Sun Servers: A Quick Guide

 
By Karpagam Narayanan, June 2001  

Introduction


Managing I/O devices and disks can be very challenging, especially when configurations are complex. This guide explains how to identify slot numbers from a device's fully qualified physical path name.

Every hardware device on a system is identified with its full device name, also called the physical device name. Physical device files are found in the /devices directory. The full device pathname identifies a device in terms of its location in the device tree by identifying a series of node names separated by slashes, with the root indicated by a leading slash. Each node name in the full device pathname has the following form: driver-name@unit-address:device arguments.

driver-name identifies the device name; @unit-address is the physical address of the device in the address space of the parent; and :device arguments defines additional information regarding the device software.

If you match the devices to the driver names (which will be part of the physical path) you will know what type of device you are looking at.

Description


The following sections describe slot numbers for different system architecture.

Table 1 provides the descriptions of commonly used device drivers:

Device Driver Description
fas Fast/wide SCSI controller
hme Fast (10/100 Mb/sec) Ethernet
isp Differential SCSI controllers and the SunSwift card
glm UltraSCSI controllers
scsi Small Computer Serial Interface (SCSI) devices
sf soc+ or socal Fiber Channel Arbitrated Loop (FCAL)
soc SPARC Storage Array (SSA) controllers
socal Serial optical controllers for FCAL (soc+)

Table 1: Commonly used device drivers

Enterprise 3500-6500 servers


The physical path can help you locate a particular device. For example, the full device address

/sbus@1f,0/esp@0,3000/sd@2,0:a

represents a slice of a SCSI disk drive on a SPARC system. It is interpreted from left to right as a device attached to the sbus with a main system bus address of 1f,0; an esp device, a SCSI bus attached at sbus slot 0, offset 3000; and an sd device with a SCSI bus target of 2, a logical unit of 0, and an argument of a, which represents slice a of the disk.

For Sun Fire, there are two sbuses per board, 0 and 1 on board 0, 2 and 3 on board 1, etc. The sbus is in hex and the slot # in decimal. There are 3 slots per board, 0, 1 and 2. Slot d is the onboard slot. Slots go from left to right (they are numbered so it's easy). There are two channels per slot, 0 and 1. Channels go from right to left. For example:

Searching for disks...done

AVAILABLE DISK SELECTIONS:
0. c2t96d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719af3e,0
1. c2t101d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719b0e8,0
2. c2t106d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719aded,0
3. c2t112d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719ad78,0
4. c2t115d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719ad8e,0
5. c2t118d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719b021,0
6. c2t122d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719aea6,0
Specify disk (enter its number):

The above format output shows one (they're all c2) photon (because it's using socal/sf/ssd drivers) on sbus@17, which means it's on board 11 (17 hex = 23 decimal. Round odd numbers down one = 22 and divide by 2 = 11). It is connected to the onboard socal (socal@d,10000) and must be on the right channel (sf@0,0).

So, if the device path reads:

0. c2t96d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@7,0/SUNW,socal@1,0/sf@1,0/ssd@w210000203719af3e,0

then the device is on sbus@7 = board 3 (7 hex = 7 decimal, round down to 6 and divide by 2 = 3), in slot 1 (socal@1.0) in channel 1 (left channel, sf@1,0).

With this information you can track the device by tracing the wire. Table 2, which makes the same calculation a lot easier to interpret, describes the slot and sbus slot assignments and their locations (front or back of the system).

Front Back
Board slot sbus@ sbus@ Board slot sbus@ sbus@
0 0 1 1 2 3
2 4 5 3 6 7
4 8 9 5 A B
6 C D 7 E F
8 10 11 9 12 13
10 14 15 11 16 17
12 18 19 13 1A 1B
14 1C 1D 15 1E 1F

Table 2: 3500-6500 slot assignments

Refer to the preceding example and Table 2. You will see that sbus@17 means it is in board slot 11 at the back of the system.

Note: The Sun Enterprise 3x00 has board slots in the back of the system only (the internal disks are located on the front). The Sun Enterprise 4x00, 5x00, and 6x00 have board slots in the front and back.

Note: sf@0 is the GBIC port on the right and sf@1 is the GBIC port on the left on a soc+ I/O board.

Midrange 250 and 450 Servers


The Sun workgroup server product series slot assignments for Sun Enterprise 250 and 450 are shown in this section.

Consider the following device path:

/pci@6,4000/scsi@2

As shown in Table 3, this device path represents the card occupying slot 3. In this table, Device is the device driver name of the card occupying the slot (for example, scsi).

Full Device Path Name PCI Slot/Device
/pci@1f,4000/device@4 10
/pci@4,4000/device@2 9
/pci@4,4000/device@3 8
/pci@4,4000/device@4 7
/pci@4,2000/device@1 6
/pci@1f,2000/device@1 5
/pci@6,2000/device@1 4
/pci@6,4000/device@2 3
/pci@6,4000/device@3 2
/pci@6,4000/device@4 1
/pci@1f,4000/scsi@2/sd@6,0 Internal CD-ROM
/pci@1f,4000/scsi@2/device External SCSI port

Table 3: 450 PCI Slot Assignments

The device path /pci@1f,4000/scsi@3 may be reported. This device path references the disk controller built onto the system board that controls the first four internal disk slots in a Sun Enterprise 450 - the bottom four slots.

The device path /pci@1f,4000/scsi@2 may be reported. This device path references the controller built onto the system board for the internal CD-ROM or tape drive, as well as the onboard SCSI port on the system board.

Table 4 shows the Sun Enterprise 250 PCI Slot Assignments.

PCI Slot/Device Device Path
PCI Slot #0 /pci@1f,4000/device@5
PCI Slot #1 /pci@1f,4000/device@4
PCI Slot #2 /pci@1f,4000/device@2
PCI Slot #3 /pci@1f,2000/device@1
Internal Disk Slot #0 /pci@1f,4000/scsi@3/sd@0
Internal Disk Slot #1 pci@1f,4000/scsi@3/sd@8
Internal Disk Slot #2 pci@1f,4000/scsi@3/sd@9
Internal Disk Slot #3 /pci@1f,4000/scsi@3/sd@a
Internal Disk Slot #4 /pci@1f,4000/scsi@3/sd@b
Internal Disk Slot #5 /pci@1f,4000/scsi@3/sd@c
Internal CD-ROM /pci@1f,4000/scsi@3/sd@6,0
External SCSI Port /pci@1f,4000/scsi@3,1/device

Table 4: 250 PCI Slot Assignments

Enterprise 3800-6800 Servers


There are two types of I/O boards - PCI and cPCI. PCI has 8 slots and cPCI has 6 slots. 4800/4810/6800 do not support cPCI cards at this time. In 3800, IB6 and IB8 are located side by side on the front of the box. In 4800, IB6 is at the bottom and IB8 is at the top at the back of the box. In 4810, both of the boards are located in the front. In 6800, they are located as:

IB9     IB8
IB7     IB6

3800-6800: CPU/Memory Boards


Depending on the type, Sun Fire systems can have up to 6 CPU boards. Each CPU board can have up to 4 processors. Processors with Agent IDs (AID) 0-3 reside on board C0, 4-7 on board C1, 8-11 on board C2, and so on. Refer to Table 5 for AID allocation.

Using this allocation, there are up to 4 CPU instances P0-P3 on each board. There are up to 4 banks of memory per CPU board. Each bank is controlled by one memory controller (MMU). The memory controller is co-packaged with its processor. Thus, AID for the memory controller is the same as its processor AID but with a different offset. The offset is 0 for processors and 400000 for memory.

Board P3 P2 P1 P0
0 CPU 3 CPU 2 CPU 1 CPU 0
1 CPU 7 CPU 6 CPU 5 CPU 4
2 CPU 11 CPU 10 CPU 9 CPU 8
3 CPU 15 CPU 14 CPU 13 CPU 12
4 CPU 19 CPU 18 CPU 17 CPU 16
5 CPU 23 CPU 22 CPU 21 CPU 20

Table 5: AID Allocation
Example for CPU module

To determine the physical location of CPU modules, consider the following full device path name

/ssm@0,0/SUNW,UltraSPARC-III@b,0

Here, 0 is the Node ID and CPU AID is B. Now

  • Divide processor Agent ID by 4.

    hex: b/4 = 2.xx
    dec: 11/4 = 2.xx

    The whole number represents the CPU board number(slot number), C2 in this case.

  • The remainder of the division represents processor instance number (0-3) on the CPU board.

    In this example, the remainder is 3, indicating CPU P3.
Example for memory controller

To determine physical location of memory controllers, consider the following full device path name

/ssm@0,0/SUNW,memory-controller@b,400000

Here Node ID is 0, Memory AID is B and offset is 400000. The same formula applies to memory components. As in the CPU case, memory resides on board C2.

3800-6800: IO Boards


There are up to 4 I/O boards in a system, each hosting 2 Schizo's. Each Schizo has two bus sides, A and B. Agent ID 25 and 26 are located on IB6, 27 and 28 on IB7, and so on. The node ID for Sun Fire is always zero (ssm@0,0). Sun Fireplane Agent IDs (AID) range from 0-31 (0-1f, hex). CPU AIDs range from 0-23 (0-17, hex). Schizo AIDs range from 24-31 (18-1f, hex).

Board Schizo AID Schizo AID
6 25 24
7 27 26
8 29 28
9 31 30

Table 6: Sun Fireplane Agent ID (AID) allocation for Schizo IO

There are 2 types of IO boards, PCI and cPCI. The PCI board types have 8 slots. A cPCI may have 4 or 6 slots. Tables 5, 6, and 7 describe PCI and cPCI IO board topology.

Even/Odd AID Offset Device # Slot assignment
1 600000 1 Slot 7 is Schizo1/A
1 700000 3 Slot 6 is Schizo1/B
1 700000 2 Slot 5 is Schizo1/B
1 700000 1 Slot 4 is Schizo1/B
0 600000 1 Slot 3 is Schizo0/A
0 700000 3 Slot 2 is Schizo0/B
0 700000 2 Slot 1 is Schizo0/B
0 700000 1 Slot 0 is Schizo0/B

Table 7: PCI IO Board Topology


Even/Odd AID Offset Device # Slot assignment
0 600000 1 Slot 0 is Schizo0/A
1 600000 1 Slot 1 is Schizo1/A
0 700000 1 Slot 2 is Schizo0/B
1 700000 1 Slot 3 is Schizo1/B

Table 8: cPCI IO Board Topology for 4 slots


Even/Odd AID Offset Device # Slot assignment
0 600000 1 Slot 0 is Schizo0/A
1 700000 1 Slot 1 is Schizo1/A
0 700000 1 Slot 2 is Schizo0/B (shared)
0 700000 2 Slot 3 is Schizo0/B (shared)
1 700000 1 Slot 4 is Schizo1/B (shared)
0 700000 2 Slot 3 is Schizo0/B (shared)

Table 9: cPCI IO Board Topology for 6 slots


    IB7, IB9         IB6, IB8    
0 7
1 6
2 5
3 4
4 3
5 2
6 1
7 0

Table 10: Physical Slot location for PCI IO boards

Example for IO boards


PCI Example 1

To determine physical location of I/O devices, consider the following full device pathname:

/ssm@0,0/pci@19,700000/pci@3/SUNW,isptwo@4/sd (block)

Where
Node ID is 0
Schizo AID is 19
Device# is 3

To locate the IO board number, divide the Schizo ID by 2 and subtract 6.

Hex: (19/2)- 6 = 6.8

This means the device resides on the I/O board in slot 6 (IB6). The fact that the result has a fraction indicates that this is an odd AID. An odd AID indicates Schizo 1 and an even AID indicates Schizo 0 of IB6. Alternatively, you can look up the AID in Table 5.

To identify the slot number of IB6 in which this device is installed, use Table 7 for PCI IO topology. From the device path, AID is odd (19), offset = 700000, and device # = 3. This device is in slot 6 of IO board IB6.

PCI Example 2

(from show-devs output):
/ssm@0,0/pci@1d,600000/scsi@1,1 (scsi-2)
/ssm@0,0/pci@1d,600000/scsi@1,1/tape (byte)
/ssm@0,0/pci@1d,600000/scsi@1,1/disk (block)
/ssm@0,0/pci@1d,600000/scsi@1 (scsi-2)
/ssm@0,0/pci@1d,600000/scsi@1/tape (byte)
/ssm@0,0/pci@1d,600000/scsi@1/disk (block)

Where AID is 0
Offset is 600000
Device# is 1

All of these devices belong to the same slot since the AID, offset, and device numbers are identical.

AID=1d, offset=600000, device#=1
1d/2-6=8.8 => slot8 

Using PCI topology Table 7, you can determine that this device is located at slot 7 of IO board IB8.

cPCI Example 1

Consider this full device pathname

/ssm@0,0/pci@1c,700000/pci@1/SUNW,isptwo@4 (scsi)

Where
Node ID is 0
Schizo AID is 1c
Device# is 1

To find the IO board number, divide the AID 1c by 2 then subtract 6: 1c/2 - 6 = 8. This device is on IB8. Again, no fractions means Schizo 0 of IB8.

From the device path: AID=even (1c), offset = 700000, device# = 1. Using Table 7, you will find that this device is located at slot 2 of IB8.

Complete List of Software Utilities and Products

Utilities


Software Module Products
format All
ssaadm SSA
luxadm SSA, A5x00, T3
cfgadm SCSI disks
Component Manager A5x00, T3
StorTools All
rm6 A3x00

Table 11 Software Utilities and Products

Back to Top

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.

Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.