| Skip Navigation Links | |
| Exit Print View | |
![]() | man pages section 1M: System Administration Commands Oracle Solaris 11 Information Library |
- Kernel Symbolic Debugging for OpenBoot Firmware
modload-p misc/obpsym
obpsym is a kernel module that installs OpenBoot callback handlers that providekernel symbol information to OpenBoot. OpenBoot firmware user interface commands use thecallbacks to convert numericaddresses to kernel symbol names for display purposes, andto convert kernel symbol names to numericliterals allowing symbolic names tobe used as input arguments to user interface commands.
Onceobpsym is installed, kernel symbolic names may be used anywhere atthe OpenBoot firmware's user interface command prompt in place of a literal(numeric) string. For example, ifobpsym is installed, the OpenBoot firmware commandsctrace anddis typically display symbolic names and offsets in the formmodname:symbolname + offset. User interface Commands such asdis can be given a kernelsymbolic name such asufs:ufs_mount instead of a numeric address.
Placing the command
forceload: misc/obpsym
into thesystem(4) file forces the kernel modulemisc/obpsym to be loadedand activates the kernel callbacks during the kernel startup sequence.
obpsym may be useful as a kernel debugger in situations where otherkernel debuggers are not useful. For example, on SPARC machines, ifobpsymis loaded, you may be able to use the OpenBoot firmware'sctracecommand to display symbolic names in the stack backtrace after a watchdog reset.
The syntax for a kernel symbolic name is:
[module-name: ]symbol-name
Wheremodule-name is the name of the kernel module that the symbolsymbol-name appears in. ANULL module name is taken as “all modules,in no particular order” byobpsym. The module nameunix is equivalent toaNULL module name, so that conflicts with words defined in thefirmware's vocabulary can be avoided.
Typically, OpenBoot firmware reads a word from the input stream and looksthe word up in its internalvocabulary before checking if the wordis aliteral. Thus, kernel symbols, such asreset may be givenasunix:reset to avoid the unexpected side effect of the firmware findingand executing a matching word in its vocabulary.
System configuration information file.
Platform-specific kernel symbol information.
Seeattributes(5) for descriptions of the following attributes:
|
kmdb(1),uname(1),kernel(1M),modload(1M),modunload(1M),system(4),attributes(5)
OpenBoot 2.x Command Reference Manual
Some OpenBoot firmware user interface commands may use system resources incompatibly withthe way they are used by the Unix kernel. These commands andthe use of this feature as a kernel debugger may cause interactionsthat the Unix kernel is not prepared to deal with. If thisoccurs, the Unix kernel and/or the OpenBoot firmware user interface commands may reactunpredictably and may panic the system, or may hang or may causeother unpredictable results. For these reasons, the use of this feature isonly minimally supported and recommended to be used only as a kerneldebugger of last resort.
If a breakpoint or watchpoint is triggered while the console frame bufferis powered off, the system can crash and be left in astate from which it is difficult to recover. If one of theseis triggered while the monitor is powered off, you will not beable to see the debugger output.
platform-name can be found using the-i option ofuname(1)
obpsym is supported only on architectures that support OpenBoot firmware.
On some systems, OpenBoot must be completely RAM resident so theobpsymsymbol callback support can be added to the firmware, if the firmwaredoesn't include support for the symbol callbacks. On these systems,obpsym maycomplain that it requires that “you must useramforth to use this module”.
See theOpenBoot 2.x Command Reference Manual for details on how to use theramforth command,how to place the command intonvramrc, and how to setuse-nvramrc?totrue. On systems with version 1.x OpenBoot firmware,nvramrc doesn't exist, andtheramforth command must be typed manually after each reset, in orderto use this module.
Once installed, the symbol table callbacks can be disabled by using thefollowing OpenBoot firmware command:
0 0 set-symbol-lookup
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |