Dependency Classes

Since Solaris and
DTrace support a variety of operating platforms and processors, DTrace also
labels interfaces with a dependency class that tells
you whether an interface is common to all Solaris platforms and processors,
or whether the interface is associated with a particular system architecture.
The dependency class is orthogonal to the stability levels described earlier.
For example, a DTrace interface can be Stable but only supported on SPARC
microprocessors, or it can be Unstable but common to all Solaris systems.
The DTrace dependency classes are described in the following list in order
from least common (that is, most specific to a particular architecture) to
most common (that is, common to all architectures).

Unknown

The interface has an unknown set
of architectural dependencies. DTrace does not necessarily know the architectural
dependencies of all entities, such as data types defined in the operating
system implementation. The Unknown label is typically applied to interfaces
of very low stability for which dependencies cannot be computed. The interface
might not be available when using DTrace on any architecture
other than the one you are currently using.

CPU

The interface is specific to the CPU
model of the current system. You can use the psrinfo(1M) utility's -v option
to display the current CPU model and implementation names. Interfaces with
CPU model dependencies might not be available on other CPU implementations,
even if those CPUs export the same instruction set architecture (ISA). For
example, a CPU-dependent interface on an UltraSPARC-III+ microprocessor might
not be available on an UltraSPARC-II microprocessor, even though both processors
support the SPARC instruction set.

Platform

The interface is specific to the
hardware platform of the current system. A platform typically associates a
set of system components and architectural characteristics such as a set of
supported CPU models with a system name such as SUNW,Ultra-Enterprise-10000. You can display the current platform name using the uname(1)-i option.
The interface might not be available on other hardware platforms.

Group

The interface is specific to the hardware
platform group of the current system. A platform group typically associates
a set of platforms with related characteristics together under a single name,
such as sun4u. You can display the current platform group
name using the uname(1)-m option. The interface is available on other platforms in the platform
group, but might not be available on hardware platforms that are not members
of the group.

ISA

The interface is specific to the instruction
set architecture (ISA) supported by the microprocessors on this system. The
ISA describes a specification for software that can be executed on the microprocessor,
including details such as assembly language instructions and registers. You
can display the native instruction sets supported by the system using the isainfo(1) utility. The interface might
not be supported on systems that do not export any of the same instruction
sets. For example, an ISA-dependent interface on a Solaris SPARC system might
not be supported on a Solaris x86 system.

Common

The interface is common to all Solaris
systems regardless of the underlying hardware. DTrace programs and layered
applications that depend only on Common interfaces can be executed and deployed
on other Solaris systems with the same Solaris and DTrace revisions. The majority
of DTrace interfaces are Common, so you can use them wherever you use Solaris.