When debugging FMA issues, there's been several times I've wanted to know what XML maps are being used to generate (or fail to generate :) the FM topology. I guess I reached a sufficient point of annoyance, so I wrote a pair of dtrace scripts to automate this. Here's an example from an Ultra 24 workstation running snv_140.# ./topomaps.d -c /usr/lib/fm/fmd/fmtopo 2>/dev/null | grep MapMap: //usr/platform/i86pc/lib/fm/topo/maps/i86pc-hc-topology.xmlMap: //usr/platform/i86pc/lib/fm/topo/maps/i86pc-legacy-hc-topology.xmlMap: //usr/platform/i86pc/lib/fm/topo/maps/chip-hc-topology.xmlMap: //usr/platform/i86pc/lib/fm/topo/maps/chassis-hc-topology.xml^C

Now, I did say a pair of dtrace scripts. topomaps.d is the first script, which calls a second script topomapmon.d that ultimately traces the calls to topo_xml_read(). Two scripts are required to deal with the dynamic loading done by fmtopo. Anyway, drop both in the same directory and run with sufficient privileges and you should be good to go.

Read More about [What Topology Map(s) is FMA Using?...