JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Solaris Dynamic Tracing Guide
search filter icon
search icon

Document Information

Preface

1.  Introduction

2.  Types, Operators, and Expressions

3.  Variables

4.  D Program Structure

5.  Pointers and Arrays

6.  Strings

7.  Structs and Unions

8.  Type and Constant Definitions

9.  Aggregations

10.  Actions and Subroutines

11.  Buffers and Buffering

12.  Output Formatting

13.  Speculative Tracing

14.  dtrace(1M) Utility

15.  Scripting

16.  Options and Tunables

17.  dtrace Provider

18.  lockstat Provider

19.  profile Provider

20.  fbt Provider

21.  syscall Provider

22.  sdt Provider

23.  sysinfo Provider

24.  vminfo Provider

25.  proc Provider

26.  sched Provider

27.  io Provider

28.  mib Provider

29.  fpuinfo Provider

30.  pid Provider

31.  plockstat Provider

32.  fasttrap Provider

33.  User Process Tracing

copyin() and copyinstr() Subroutines

Avoiding Errors

Eliminating dtrace(1M) Interference

syscall Provider

ustack() Action

uregs[] Array

pid Provider

User Function Boundary Tracing

Tracing Arbitrary Instructions

34.  Statically Defined Tracing for User Applications

35.  Security

36.  Anonymous Tracing

37.  Postmortem Tracing

38.  Performance Considerations

39.  Stability

40.  Translators

41.  Versioning

Glossary

Index

uregs[] Array

The uregs[] array enables you to access individual user registers. The following tables list indices into the uregs[] array corresponding to each supported Solaris system architecture.

Table 33-1 SPARC uregs[] Constants

Constant
Register
R_G0..R_G7
%g0..%g7 global registers
R_O0..R_O7
%o0..%o7 out registers
R_L0..R_L7
%l0..%l7 local registers
R_I0..R_I7
%i0..%i7 in registers
R_CCR
%ccr condition code register
R_PC
%pc program counter
R_NPC
%npc next program counter
R_Y
%y multiply/divide register
R_ASI
%asi address space identifier register
R_FPRS
%fprs floating-point registers state

Table 33-2 x86 uregs[] Constants

Constant
Register
R_CS
%cs
R_GS
%gs
R_ES
%es
R_DS
%ds
R_EDI
%edi
R_ESI
%esi
R_EBP
%ebp
R_EAX
%eax
R_ESP
%esp
R_EAX
%eax
R_EBX
%ebx
R_ECX
%ecx
R_EDX
%edx
R_TRAPNO
%trapno
R_ERR
%err
R_EIP
%eip
R_CS
%cs
R_ERR
%err
R_EFL
%efl
R_UESP
%uesp
R_SS
%ss

On AMD64 platforms, the uregs array has the same content as it does on x86 platforms, plus the additional elements listed in the following table:

Table 33-3 amd64 uregs[] Constants

Constant
Register
R_RSP
%rsp
R_RFL
%rfl
R_RIP
%rip
R_RAX
%rax
R_RCX
%rcx
R_RDX
%rdx
R_RBX
%rbx
R_RBP
%rbp
R_RSI
%rsi
R_RDI
%rdi
R_R8
%r8
R_R9
%r9
R_R10
%r10
R_R11
%r11
R_R12
%r12
R_R13
%r13
R_R14
%r14
R_R15
%r15

The aliases listed in the following table can be used on all platforms:

Table 33-4 Common uregs[] Constants

Constant
Register
R_PC
program counter register
R_SP
stack pointer register
R_R0
first return code
R_R1
second return code