view usr/src/man/man1m/obpsym.1m @ 13659:57451298f940

1469 ttyc/ttyd should be an allowed console device Reviewed by: Milan Jurik <milan.jurik@xylab.cz> Reviewed by: Alexander Eremin <alexander.r.eremin@gmail.com> Approved by: Richard Lowe <richlowe@richlowe.net>
author Gary Mills <gary_mills@fastmail.fm>
date Thu, 05 Apr 2012 08:47:21 -0500
parents 5b2854ecc12d
children
line wrap: on
line source

'\" te
.\"  Copyright 2001 Sun Microsystems, Inc.  All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH OBPSYM 1M "Dec 13, 2001"
.SH NAME
obpsym \- Kernel Symbolic Debugging for OpenBoot Firmware
.SH SYNOPSIS
.LP
.nf
\fBmodload\fR \fB-p\fR misc/obpsym
.fi

.SH DESCRIPTION
.sp
.LP
\fBobpsym\fR is a kernel module that installs OpenBoot callback handlers that
provide kernel symbol information to OpenBoot. OpenBoot firmware user interface
commands use the callbacks to convert numeric \fIaddresses\fR to kernel symbol
names for display purposes, and to convert kernel symbol names to numeric
\fIliterals\fR allowing symbolic names to be used as input arguments to user
interface commands.
.sp
.LP
Once \fBobpsym\fR is installed, kernel symbolic names may be used anywhere at
the OpenBoot firmware's user interface command prompt in place of a literal
(numeric) string. For example, if \fBobpsym\fR is installed, the OpenBoot
firmware commands \fBctrace\fR and \fBdis\fR typically display symbolic names
and offsets in the form \fImodname:symbolname + offset.\fR User interface
Commands such as \fBdis\fR can be given a kernel symbolic name such as
\fBufs:ufs_mount\fR instead of a numeric address.
.sp
.LP
Placing the command
.sp
.LP
\fBforceload: misc/obpsym\fR
.sp
.LP
into the \fBsystem\fR(4) file forces the kernel module \fBmisc/obpsym\fR to be
loaded and activates the kernel callbacks during the kernel startup sequence.
.sp
.LP
\fBobpsym\fR may be useful as a kernel debugger in situations where other
kernel debuggers are not useful. For example, on SPARC machines, if
\fBobpsym\fR is loaded, you may be able to use the OpenBoot firmware's
\fBctrace\fR command to display symbolic names in the stack backtrace after a
watchdog reset.
.SS "Kernel Symbolic Name Syntax"
.sp
.LP
The syntax for a kernel symbolic name is:
.sp
.LP
\fB\fR [ \fImodule-name\fR \fB:\fR ] \fIsymbol-name\fR
.sp
.LP
Where \fImodule-name\fR is the name of the kernel module that the symbol
\fIsymbol-name\fR appears in. A \fINULL\fR module name is taken as "all
modules, in no particular order" by \fBobpsym\fR. The module name \fBunix\fR is
equivalent to a \fINULL\fR module name, so that conflicts with words defined in
the firmware's vocabulary can be avoided.
.sp
.LP
Typically, OpenBoot firmware reads a word from the input stream and looks the
word up in its internal \fIvocabulary\fR before checking if the word is a
\fIliteral\fR. Thus, kernel symbols, such as \fBreset\fR may be given as
\fBunix:reset\fR to avoid the unexpected side effect of the firmware finding
and executing a matching word in its vocabulary.
.SH FILES
.sp
.ne 2
.na
\fB\fB/etc/system\fR\fR
.ad
.sp .6
.RS 4n
system configuration information file
.RE

.sp
.ne 2
.na
\fB\fB/platform/\fR\fIplatform-name\fR\fB/kernel/misc/obpsym\fR\fR
.ad
.sp .6
.RS 4n

.RE

.SH SEE ALSO
.sp
.LP
\fBkadb\fR(1M), \fBkernel\fR(1M), \fBmodload\fR(1M), \fBmodunload\fR(1M),
\fBuname\fR(1), \fBsystem\fR(4), \fBattributes\fR(5)
.sp
.LP
\fI\fR
.SH WARNINGS
.sp
.LP
Some OpenBoot firmware user interface commands may use system resources
incompatibly with the way they are used by the Unix kernel. These commands and
the use of this feature as a kernel debugger may cause interactions that the
Unix kernel is not prepared to deal with. If this occurs, the Unix kernel
and/or the OpenBoot firmware user interface commands may react unpredictably
and may panic the system, or may hang or may cause other unpredictable results.
For these reasons, the use of this feature is only minimally supported and
recommended to be used only as a kernel debugger of "last resort".
.sp
.LP
If a breakpoint or watchpoint is triggered while the console frame buffer is
powered off, the system can crash and be left in a state from which it is
difficult to recover. If one of these is triggered while the monitor is powered
off, you will not be able to see the debugger output.
.SH NOTES
.sp
.LP
\fIplatform-name\fR can be found using the \fB-i\fR option of \fBuname\fR(1)
.sp
.LP
\fBobpsym\fR is supported only on architectures that support OpenBoot firmware.
.sp
.LP
On some systems, OpenBoot must be completely RAM resident so the \fBobpsym\fR
symbol callback support can be added to the firmware, if the firmware doesn't
include support for the symbol callbacks. On these systems, \fBobpsym\fR may
complain that it requires that "you must use ramforth to use this module".
.sp
.LP
See the  for details on how to use the \fIramforth\fR command, how to place the
command into \fInvramrc\fR, and how to set \fIuse-nvramrc?\fR to \fBtrue\fR. On
systems with version 1.x OpenBoot firmware, \fInvramrc\fR doesn't exist, and
the \fIramforth\fR command must be typed manually after each reset, in order to
use this module.
.sp
.LP
Once installed, the symbol table callbacks can be disabled by using the
following OpenBoot firmware command:
.sp
.LP
\fB0 0 set-symbol-lookup\fR