Tuesday, January 27, 2009

Hardware Descriptor - M4000/M5000 (OPL)

The gory Hardware details about OPL systems M4000 (FF1) or M5000 (FF2) or
other DC1-3 (Data Center Machines) is described in Hardware descriptor.

     39 #define HWD_SBS_PER_DOMAIN  32  /* System boards per domain */
40 #define HWD_CPUS_PER_CORE
4 /* Strands per physical core */
41 #define HWD_CORES_PER_CPU_CHIP
4 /* Cores per processor chip */
42 #define HWD_CPU_CHIPS_PER_CMU
4 /* Processor chips per CMU */
43 #define HWD_SCS_PER_CMU
4 /* System controllers per CMU */
44 #define HWD_DIMMS_PER_CMU
32 /* Memory DIMMs per CMU */
45 #define HWD_IOCS_PER_IOU
2 /* Oberon chips per I/O unit */
46 #define HWD_PCI_CHANNELS_PER_IOC
2 /* PCI channels per Oberon chip */
47 #define HWD_LEAVES_PER_PCI_CHANNEL
2 /* Leaves per PCI channel */
48 #define HWD_PCI_CHANNELS_PER_SB
4 /* PCI channels per system board */
49 #define HWD_CMU_CHANNEL
4 /* CMU channel number */
50 #define HWD_IO_BOATS_PER_IOU
6 /* I/O boats per I/O unit */
51 #define HWD_BANKS_PER_CMU
8 /* Memory banks per CMU */
52 #define HWD_MAX_MEM_CHUNKS
8 /* Chunks per board */

View the opl_hwdesc.h

Is there is a way to this information, yes of course via the mdb.
Dump the structures (mdb print command)

hwd_header_t
hwd_domain_info_t;
hwd_cpu_t;
hwd_core_t;
hwd_cpu_chip_t;
hwd_sc_t;
hwd_bank_t;
hwd_dimm_t;
hwd_memory_t;

A whole lot of other structures and dump the memory contents and
join togther entire Hardware descriptor.

Wouldn't be easy if there to be command that does the job for you.
Here you go: mdb's dcmd (to read as dee-command) -- oplhwd


Dcmd that I wrote is described here: opl_hwd.c

> ::help oplhwd

NAME
oplhwd - print hardware descriptor information on OPL

SYNOPSIS
[ addr ] ::oplhwd [ -b NUM ] [ -sdihomkrcp ] [ -a ] [ -v NUM ]

DESCRIPTION

-b NUM list oplhwd entry for a board
-s list oplhwd entry with SB Status
-d list oplhwd entry with Domain Info
-i list oplhwd entry with SB Info
-h list oplhwd entry with Chips details
-o list oplhwd entry with Core details
-m list oplhwd entry with Memory Information
-k list oplhwd entry with Memory Bank Information
-r list oplhwd entry with SC Information
-c list oplhwd entry with CMU channels
-p list oplhwd entry with PCI channels
-a list oplhwd entry with all the above information
-v NUM list oplhwd entry in verbose mode

Check out the entire output at oplhwd-log.


Welcome

Thanks for landing here. Welcome!
I work at Sun Microsystems/Systems group for
the NPE (New Product Engineering).

I'm a development engineer/Technical lead on
many Enterprise Servers, some of which include:

Mid-range: SunFire E4900, E6800,
Sun SPARC Enterprise M4000/M5000 (OPL),
High-end: SunFire E20K, E25K
and SunFire Classic's E4500.

Here in my blog you will find interesting information.
So are you ready ?