From 8c023e69f7363a0944189ec901632e957a27e3a8 Mon Sep 17 00:00:00 2001 From: Robert Mustacchi Date: Sat, 12 Feb 2022 07:53:29 -0800 Subject: [PATCH] illumos/illumos-docbooks#100 Update manual page references for IPD 4 --- raw/dtrace/chapter1.xml | 2 +- raw/dtrace/chp-actsub.xml | 12 +++---- raw/dtrace/chp-anon.xml | 10 +++--- raw/dtrace/chp-buf.xml | 12 +++---- raw/dtrace/chp-dtrace.xml | 2 +- raw/dtrace/chp-dtrace1M.xml | 8 ++--- raw/dtrace/chp-fbt.xml | 2 +- raw/dtrace/chp-fmt.xml | 8 ++--- raw/dtrace/chp-fpuinfo.xml | 4 +-- raw/dtrace/chp-io.xml | 20 +++++------ raw/dtrace/chp-lockstat.xml | 2 +- raw/dtrace/chp-mib.xml | 4 +-- raw/dtrace/chp-opt.xml | 6 ++-- raw/dtrace/chp-plockstat.xml | 2 +- raw/dtrace/chp-post.xml | 10 +++--- raw/dtrace/chp-proc.xml | 8 ++--- raw/dtrace/chp-sched.xml | 6 ++-- raw/dtrace/chp-script.xml | 4 +-- raw/dtrace/chp-sdt.xml | 2 +- raw/dtrace/chp-stab.xml | 6 ++-- raw/dtrace/chp-strings.xml | 2 +- raw/dtrace/chp-structs.xml | 12 +++---- raw/dtrace/chp-syscall.xml | 4 +-- raw/dtrace/chp-sysinfo.xml | 14 ++++---- raw/dtrace/chp-typeopexpr.xml | 2 +- raw/dtrace/chp-user.xml | 10 +++--- raw/dtrace/chp-variables.xml | 4 +-- raw/dtrace/chp-vers.xml | 2 +- raw/dtrace/chp-vminfo.xml | 12 +++---- raw/dtrace/chp-xlate.xml | 2 +- raw/dtrace/glossary.xml | 2 +- raw/mdb/api.xml | 2 +- raw/mdb/casestudy.xml | 6 ++-- raw/mdb/commands.xml | 2 +- raw/mdb/concepts.xml | 2 +- raw/mdb/modules.xml | 4 +-- raw/wdd/LP64.xml | 32 +++++++++--------- raw/wdd/autoconf.xml | 14 ++++---- raw/wdd/block.xml | 10 +++--- raw/wdd/character.xml | 4 +-- raw/wdd/console.xml | 8 ++--- raw/wdd/ddidkisvc.xml | 2 +- raw/wdd/debug.xml | 42 +++++++++++------------ raw/wdd/devmap.xml | 2 +- raw/wdd/drvovr.xml | 8 ++--- raw/wdd/events.xml | 4 +-- raw/wdd/gld.xml | 14 ++++---- raw/wdd/hardening.xml | 38 ++++++++++----------- raw/wdd/hwovr.xml | 10 +++--- raw/wdd/kernelovr.xml | 10 +++--- raw/wdd/ldi.xml | 44 ++++++++++++------------ raw/wdd/loading.xml | 64 +++++++++++++++++------------------ raw/wdd/mt.xml | 2 +- raw/wdd/powermgt.xml | 32 +++++++++--------- raw/wdd/properties.xml | 6 ++-- raw/wdd/scsi.xml | 4 +-- raw/wdd/scsihba.xml | 10 +++--- raw/wdd/usb.xml | 24 ++++++------- raw/zfs-admin/zfsfs.xml | 14 ++++---- raw/zfs-admin/zfsover.xml | 20 +++++------ 60 files changed, 315 insertions(+), 315 deletions(-) diff --git a/raw/dtrace/chapter1.xml b/raw/dtrace/chapter1.xml index 039bb2c7..e7069cc2 100644 --- a/raw/dtrace/chapter1.xml +++ b/raw/dtrace/chapter1.xml @@ -47,7 +47,7 @@ back to you. If you don't specify any actions for a probe, DTrace will just take note of each time the probe fires.Every probe in DTrace has two names: a unique integer ID and a human-readable string name. We're going to start learning DTrace by building some very simple requests using the probe named BEGIN, which fires once -each time you start a new tracing request. You can use the dtrace1M utility's option +each time you start a new tracing request. You can use the dtrace8 utility's option to enable a probe using its string name. Type the following command:# dtrace -n BEGINAfter a brief pause, you will see DTrace tell you that one probe was enabled and you will see a line of output indicating that the BEGIN probe fired. Once you see this output, dtrace remains paused diff --git a/raw/dtrace/chp-actsub.xml b/raw/dtrace/chp-actsub.xml index d8475128..7afb48f0 100755 --- a/raw/dtrace/chp-actsub.xml +++ b/raw/dtrace/chp-actsub.xml @@ -29,7 +29,7 @@ induced the action. Indeed, whenever any data is traced, it must be accompanied by the EPID to enable the consumer to make sense of the data. Therefore, the default action is to trace the EPID and nothing else. -Using the default action allows for simple use of dtrace1M. For example, the following +Using the default action allows for simple use of dtrace8. For example, the following example command enables all probes in the TS timeshare scheduling module with the default action: # dtrace -m TS @@ -127,7 +127,7 @@ more information on using the print action. traces D expressions. However, printf allows for elaborate printf3C-style formatting. Like printf3C, the parameters consists of a format string followed by a variable number of arguments. By default, the arguments are traced to the directed buffer. -The arguments are later formatted for output by dtrace1M according to the specified +The arguments are later formatted for output by dtrace8 according to the specified format string. For example, the first two examples of trace from could be combined in a single printf:printf("execname is %s; priority is %d", execname, curlwpsinfo->pr_pri);For more information on printf, see . @@ -429,9 +429,9 @@ in a stack with Java frame translation in place. destructive actionsactionsdestructiveSome DTrace actions are destructive in that they change the state of the system in some well-defined way. Destructive actions may not be used unless they -have been explicitly enabled. When using dtrace1M, you can enable destructive +have been explicitly enabled. When using dtrace8, you can enable destructive actions using the option. If an attempt is made to enable -destructive actions in dtrace1M without +destructive actions in dtrace8 without explicitly enabling them, dtrace will fail with a message similar to the following example: dtrace: failed to enable 'syscall': destructive actions not allowed @@ -448,7 +448,7 @@ for details on DTrace security privileges. void stop(void) actionsdestructivestopThe stop action forces the process that fires the enabled probe to stop when it next leaves -the kernel, as if stopped by a proc4 action. +the kernel, as if stopped by a proc5 action. The prun1 utility may be used to resume a process that has been stopped by the stop action. The stop action can be used to stop a process at any @@ -653,7 +653,7 @@ causing the panic. For example: 100% done: 11837 pages dumped, compression ratio 4.66, dump succeeded rebooting... -syslogd1M will +syslogd8 will also emit a message upon reboot: Jun 10 16:56:31 machine1 savecore: [ID 570001 auth.error] reboot after panic: dtrace: panic action at probe syscall::mmap:entry (ecb 300000acfc8) diff --git a/raw/dtrace/chp-anon.xml b/raw/dtrace/chp-anon.xml index 81861ca1..5b47dce3 100755 --- a/raw/dtrace/chp-anon.xml +++ b/raw/dtrace/chp-anon.xml @@ -10,8 +10,8 @@ However, only the super user may create an anonymous enabling, and only one anonymous enabling can exist at any time. Anonymous Enablings -anonymous tracinganonymous enablingTo create an anonymous enabling, use the option with a dtrace1M invocation that specifies the desired probes, predicates, actions and options. dtrace will add a series of driver properties representing your request to the dtrace7D driver's configuration file, typically /kernel/drv/dtrace.conf. These properties will be read by the dtrace7D driver when it is loaded. The driver will enable the specified probes with the specified actions, and create an anonymous state to associate with the new enabling. Normally, the dtrace7D driver is loaded on-demand, as are any drivers that act as DTrace providers. To allow tracing during boot, the dtrace7D driver must be loaded as early as possible. dtrace adds the necessary forceload statements to /etc/system (see system4) for each required DTrace provider and for dtrace7D itself. -Thereafter, when the system boots, a message is emitted by dtrace7D to indicate that the configuration file has been successfully processed. +anonymous tracinganonymous enablingTo create an anonymous enabling, use the option with a dtrace8 invocation that specifies the desired probes, predicates, actions and options. dtrace will add a series of driver properties representing your request to the dtrace4D driver's configuration file, typically /kernel/drv/dtrace.conf. These properties will be read by the dtrace4D driver when it is loaded. The driver will enable the specified probes with the specified actions, and create an anonymous state to associate with the new enabling. Normally, the dtrace4D driver is loaded on-demand, as are any drivers that act as DTrace providers. To allow tracing during boot, the dtrace4D driver must be loaded as early as possible. dtrace adds the necessary forceload statements to /etc/system (see system5) for each required DTrace provider and for dtrace4D itself. +Thereafter, when the system boots, a message is emitted by dtrace4D to indicate that the configuration file has been successfully processed. All options may be set with an anonymous enabling, including buffer size, dynamic variable size, speculation size, number of speculations, and so on. To remove an anonymous enabling, specify to dtrace without any probe descriptions. @@ -24,13 +24,13 @@ anonymous enabling can exist at any time. Anonymous Tracing Examples -examplesanonymous tracinganonymous tracingexample of useThe following example shows an anonymous DTrace enabling for every probe in the iprb7D module: +examplesanonymous tracinganonymous tracingexample of useThe following example shows an anonymous DTrace enabling for every probe in the iprb4D module: # dtrace -A -m iprb dtrace: saved anonymous enabling in /kernel/drv/dtrace.conf dtrace: added forceload directives to /etc/system dtrace: run update_drv(1M) or reboot to enable changes # reboot -After rebooting, dtrace7D prints a message on the console to indicate that it is enabling the specified probes: +After rebooting, dtrace4D prints a message on the console to indicate that it is enabling the specified probes: ... Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. @@ -84,7 +84,7 @@ dtrace: saved anonymous enabling in /kernel/drv/dtrace.conf dtrace: added forceload directives to /etc/system dtrace: run update_drv(1M) or reboot to enable changes # reboot -After rebooting, dtrace7D prints a different message on the console to indicate the slightly different enabling: +After rebooting, dtrace4D prints a different message on the console to indicate the slightly different enabling: ... Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. diff --git a/raw/dtrace/chp-buf.xml b/raw/dtrace/chp-buf.xml index 4f462026..7ffab057 100755 --- a/raw/dtrace/chp-buf.xml +++ b/raw/dtrace/chp-buf.xml @@ -1,7 +1,7 @@ Buffers and Buffering Data buffering and management is an essential service provided by the -DTrace framework for its clients, such as dtrace1M. This chapter explores data +DTrace framework for its clients, such as dtrace8. This chapter explores data buffering in detail and describes options you can use to change DTrace's buffer management policies. @@ -75,7 +75,7 @@ the rate at which the system processes such actions. Under the switch policy, if a given enabled probe would trace more data than there is space available in the active principal buffer, the data is dropped and a per-CPU drop -count is incremented. In the event of one or more drops, dtrace1M displays a message similar +count is incremented. In the event of one or more drops, dtrace8 displays a message similar to the following example:dtrace: 11 drops on CPU 0If a given record is larger than the total buffer size, the record will be dropped regardless of buffer policy. You can reduce or eliminate drops by either increasing the size of the principal buffer with the bufsize option @@ -94,7 +94,7 @@ one or more of the per-CPU buffers has filled, use the fill b policy. Under this policy, tracing continues until an enabled probe attempts to trace more data than can fit in the remaining principal buffer space. When insufficient space remains, the buffer is marked as filled and the consumer -is notified that at least one of its per-CPU buffers has filled. Once dtrace1M detects a single filled buffer, +is notified that at least one of its per-CPU buffers has filled. Once dtrace8 detects a single filled buffer, tracing is stopped, all buffers are processed and dtrace exits. No further data will be traced to a filled buffer even if the data would fit in the buffer.To use the fill policy, set the bufpolicy option @@ -113,7 +113,7 @@ the END probe may fire on a CPU that has a filled buffer. To accommodate END tracing in fill buffers, DTrace calculates the amount of space potentially consumed by END probes and subtracts this space from the size of the principal -buffer. If the net size is negative, DTrace will refuse to start, and dtrace1M will output a corresponding +buffer. If the net size is negative, DTrace will refuse to start, and dtrace8 will output a corresponding error message:dtrace: END enablings exceed size of principal bufferThe reservation mechanism ensures that a full buffer always has sufficient space for any END probes. @@ -125,7 +125,7 @@ policy helps you trace the events leading up to a failure. If reproducing the failure takes hours or days, you might wish to keep only the most recent data. Once a principal buffer has filled, tracing wraps around to the first entry, thereby overwriting older tracing data. You establish the ring buffer -by setting the bufpolicy option to the string ring:# dtrace -s foo.d -x bufpolicy=ringWhen used to create a ring buffer, dtrace1M will not display any output +by setting the bufpolicy option to the string ring:# dtrace -s foo.d -x bufpolicy=ringWhen used to create a ring buffer, dtrace8 will not display any output until the process is terminated. At that time, the ring buffer is consumed and processed. dtrace processes each ring buffer in CPU order. Within a CPU's buffer, trace records will be displayed in order from @@ -210,7 +210,7 @@ to allocate a buffer of desired size either because not enough memory is availab or because the DTrace consumer has exceeded one of the tunable limits described in . You can configure the policy for buffer allocation failure using bufresize option, which defaults to auto. Under the auto buffer resize policy, the size of a buffer is halved until -a successful allocation occurs. dtrace1M generates +a successful allocation occurs. dtrace8M generates a message if a buffer as allocated is smaller than the requested size: # dtrace -P syscall -b 4g dtrace: description 'syscall' matched 430 probes diff --git a/raw/dtrace/chp-dtrace.xml b/raw/dtrace/chp-dtrace.xml index ecae4b4d..0ebb599a 100755 --- a/raw/dtrace/chp-dtrace.xml +++ b/raw/dtrace/chp-dtrace.xml @@ -68,7 +68,7 @@ CPU ID FUNCTION:NAME dtrace: error on enabled probe ID 1 (ID 1: dtrace:::BEGIN): invalid address (0x0) in action #1 at DIF offset 12 dtrace: 1 error on CPU 2 -The output shows that the ERROR probe fired, and also illustrates dtrace1M reporting the error. dtrace has its own enabling of the ERROR probe to allow it to report errors. Using the ERROR probe, you can create your own custom error handling. +The output shows that the ERROR probe fired, and also illustrates dtrace8 reporting the error. dtrace has its own enabling of the ERROR probe to allow it to report errors. Using the ERROR probe, you can create your own custom error handling. The arguments to the ERROR probe are as follows: diff --git a/raw/dtrace/chp-dtrace1M.xml b/raw/dtrace/chp-dtrace1M.xml index 09de625e..04207cf2 100755 --- a/raw/dtrace/chp-dtrace1M.xml +++ b/raw/dtrace/chp-dtrace1M.xml @@ -1,7 +1,7 @@ -<citerefentry><refentrytitle>dtrace</refentrytitle><manvolnum>1M</manvolnum></citerefentry> Utility +<citerefentry><refentrytitle>dtrace</refentrytitle><manvolnum>8</manvolnum></citerefentry> Utility The generic front-end to the DTrace -facility is the dtrace1M +facility is the dtrace8 command, which implements a simple interface to invoke the D language compiler, the ability to retrieve buffered trace data from the DTrace kernel facility, and a set of basic routines to format and print traced data. This @@ -94,9 +94,9 @@ immediately after consuming the anonymous tracing state rather than continuing to wait for new data. See for more information about anonymous tracing. -dtraceoptionsAGenerate driver.conf4 directives +dtraceoptionsAGenerate driver.conf5 directives for anonymous tracing. If the option is specified, dtrace compiles any D programs specified using the option -or on the command-line and constructs a set of dtrace7D configuration file directives +or on the command-line and constructs a set of dtrace4D configuration file directives to enable the specified probes for anonymous tracing (see ) and then exits. By default, dtrace attempts to store the directives to the file /kernel/drv/dtrace.conf. This behavior can diff --git a/raw/dtrace/chp-fbt.xml b/raw/dtrace/chp-fbt.xml index 4bcf81cc..313de3f3 100755 --- a/raw/dtrace/chp-fbt.xml +++ b/raw/dtrace/chp-fbt.xml @@ -118,7 +118,7 @@ CPU FUNCTION ioctl on a file descriptor that appears to be associated with a socket. You can also use FBT when trying to understand kernel -drivers. For example, the ssd7D driver +drivers. For example, the ssd4D driver has many code paths by which EIO may be returned. FBT can be easily used to determine the precise code path that resulted in an error condition, as shown in the following example: fbt:ssd::return diff --git a/raw/dtrace/chp-fmt.xml b/raw/dtrace/chp-fmt.xml index a98e047f..3ec6a9fa 100755 --- a/raw/dtrace/chp-fmt.xml +++ b/raw/dtrace/chp-fmt.xml @@ -8,7 +8,7 @@ library routine, so you should read this chapter even if you are already familiar with printf. This chapter also discusses the formatting behavior of the trace and print functions and the default output format used by -dtrace1M +dtrace8 to display aggregations. <function>printf</function> @@ -300,10 +300,10 @@ is converted. The entire conversion specification must be %%. printaThe printa function is used to format the results of aggregations in a D program. The function is invoked using one of two forms:printa(@aggregation-name); printa(format-string, @aggregation-name); -If the first form of the function is used, the dtrace1M command takes a consistent +If the first form of the function is used, the dtrace8 command takes a consistent snapshot of the aggregation data and produces output equivalent to the default output format used for aggregations, described in . -If the second form of the function is used, the dtrace1M command takes a consistent +If the second form of the function is used, the dtrace8 command takes a consistent snapshot of the aggregation data and produces output according to the conversions specified in the format string, according to the following rules:The format conversions must match the tuple signature used @@ -514,7 +514,7 @@ embedded in the operating system kernel and its modules. (DTrace does not currently use CTF data in user binaries or modules.) The system's CTF data provides most of the types that DTrace uses via functionality such as print. For more on CTF, see -ctf4. +ctf5. diff --git a/raw/dtrace/chp-fpuinfo.xml b/raw/dtrace/chp-fpuinfo.xml index 891fdce2..d09b71be 100755 --- a/raw/dtrace/chp-fpuinfo.xml +++ b/raw/dtrace/chp-fpuinfo.xml @@ -8,9 +8,9 @@ require operating system simulation are specific to a microprocessor implementat that require simulation are rare. However, if an application uses one of these operations frequently, the effect on performance could be severe. The fpuinfo provider enables rapid investigation of floating-point simulation seen through either -kstat1M and the +kstat8 and the fpu_info kernel statistic or -trapstat1M and +trapstat8 and the fp-xcp-other trap. Probes diff --git a/raw/dtrace/chp-io.xml b/raw/dtrace/chp-io.xml index 6c324704..8915c33f 100755 --- a/raw/dtrace/chp-io.xml +++ b/raw/dtrace/chp-io.xml @@ -2,7 +2,7 @@ <literal>io</literal> Provider The io provider makes available probes related to disk input and output. The io provider enables quick exploration -of behavior observed through I/O monitoring tools such as iostat1M. For example, using the io provider, you can understand I/O by device, by I/O type, by I/O +of behavior observed through I/O monitoring tools such as iostat8. For example, using the io provider, you can understand I/O by device, by I/O type, by I/O size, by process, by application name, by file name, or by file offset. Probes @@ -232,16 +232,16 @@ more information.The dev_instance field is the i the device. The instance of a device is different from the minor number. The minor number is an abstraction managed by the device driver. The instance number is a property of the device node. You can display device node instance -numbers with prtconf1M. +numbers with prtconf8. The dev_name field is the name of the device driver that manages the device. You can display device driver names with the option -to prtconf1M. +to prtconf8. The dev_statname field is the name of the device -as reported by iostat1M. -This name also corresponds to the name of a kernel statistic as reported by kstat1M. This field is provided so +as reported by iostat8. +This name also corresponds to the name of a kernel statistic as reported by kstat8. This field is provided so that aberrant iostat or kstat output can be quickly correlated to actual I/O activity.The dev_pathname field is the full path of the device. -This path may be specified as an argument to prtconf1M to obtain detailed device +This path may be specified as an argument to prtconf8 to obtain detailed device information. The path specified by dev_pathname includes components expressing the device node, the instance number, and the minor node. However, all three of these elements aren't necessarily expressed in @@ -443,13 +443,13 @@ into an otherwise idle x86 laptop system is shown in the following example:cmdk0 device having been power managed on the laptop. -Second, observe the I/O due to the scsa2usb7D driver loading to deal with +Second, observe the I/O due to the scsa2usb4D driver loading to deal with USB Mass Storage device. Third, note the writes to /var/adm/messages as the device is reported. Finally, observe the reading of the device link generators (the files ending in link.so) , which presumably deal with the new device. The io provider enables in-depth understanding of -iostat1M +iostat8 output. Assume you observe iostat output similar to the following example: extended device statistics device r/s w/s kr/s kw/s wait actv svc_t %w %b @@ -684,11 +684,11 @@ yields some interesting results, as shown in the following example output:As the output indicates, virtually all writes are associated with the Mozilla Firebird cache. The writes labeled <none> are likely due to writes associated with the UFS log, writes that are themselves -induced by other writes in the filesystem. See ufs7FS for details on logging. This example shows +induced by other writes in the filesystem. See ufs4FS for details on logging. This example shows how to use the io provider to discover a problem at a much higher layer of software. In this case, the script has revealed a configuration problem: the web browser would induce much less I/O (and quite likely none -at all) if its cache were in a directory in a tmpfs7FS filesystem. +at all) if its cache were in a directory in a tmpfs4FS filesystem. The previous examples have used only the start and done probes. You can use the wait-start and wait-done probes to understand why applications block for I/O – and for how long. The following example script uses both io probes and sched probes (see ) diff --git a/raw/dtrace/chp-lockstat.xml b/raw/dtrace/chp-lockstat.xml index a54d1b68..037c7be7 100755 --- a/raw/dtrace/chp-lockstat.xml +++ b/raw/dtrace/chp-lockstat.xml @@ -2,7 +2,7 @@ <literal>lockstat</literal> Provider The lockstat provider makes available probes that can be used to discern lock contention statistics, or to understand virtually -any aspect of locking behavior. The lockstat1M command is actually a DTrace +any aspect of locking behavior. The lockstat8 command is actually a DTrace consumer that uses the lockstat provider to gather its raw data. diff --git a/raw/dtrace/chp-mib.xml b/raw/dtrace/chp-mib.xml index c06a72f7..e5d5b278 100755 --- a/raw/dtrace/chp-mib.xml +++ b/raw/dtrace/chp-mib.xml @@ -1,9 +1,9 @@ <literal>mib</literal> Provider -The mib provider makes available probes that correspond to counters in the illumos management information bases (MIBs). MIB counters are used by the simple network management protocol (SNMP) that allow remote monitoring of heterogeneous networking entities. You can also view the counters with the kstat1M and netstat1M commands. The mib provider facilitates quick exploration of aberrant networking behavior that is observed using either remote or local networking monitors. +The mib provider makes available probes that correspond to counters in the illumos management information bases (MIBs). MIB counters are used by the simple network management protocol (SNMP) that allow remote monitoring of heterogeneous networking entities. You can also view the counters with the kstat8 and netstat8 commands. The mib provider facilitates quick exploration of aberrant networking behavior that is observed using either remote or local networking monitors. Probes -probesmibmib probeThe mib provider makes available probes for counters from several MIBs. The protocols that export MIBs instrumented by the mib provider are listed in . The table includes a reference to documentation that specifies some or all of the MIB, the name of the kernel statistic that may be used to access the running counts (using the kstat1M -n statistic option), and a reference to the table that has a complete definition of the probes. All MIB counters are also available through the -s option to netstat1M. +probesmibmib probeThe mib provider makes available probes for counters from several MIBs. The protocols that export MIBs instrumented by the mib provider are listed in . The table includes a reference to documentation that specifies some or all of the MIB, the name of the kernel statistic that may be used to access the running counts (using the kstat8 -n statistic option), and a reference to the table that has a complete definition of the probes. All MIB counters are also available through the -s option to netstat8. <literal>mib</literal> probes diff --git a/raw/dtrace/chp-opt.xml b/raw/dtrace/chp-opt.xml index c4714f56..2f35e864 100755 --- a/raw/dtrace/chp-opt.xml +++ b/raw/dtrace/chp-opt.xml @@ -10,7 +10,7 @@ you can use to modify them. Consumer Options tunablesoptionsDTraceoptionsDTrace is tuned by setting or enabling options. The available -options are described in the table below. For some options, dtrace1M provides a corresponding +options are described in the table below. For some options, dtrace8 provides a corresponding command-line option.
DTrace Consumer Options @@ -23,7 +23,7 @@ command-line option. Option Name Value - dtrace1M Alias + dtrace8 Alias Description @@ -201,7 +201,7 @@ and the option value. The following examples are all valid option settings: -The dtrace1M command +The dtrace8 command also accepts option settings on the command-line as an argument to the option. For example: # dtrace -x nspec=4 -x grabanon -x bufsize=2g \ diff --git a/raw/dtrace/chp-plockstat.xml b/raw/dtrace/chp-plockstat.xml index 7ef1ecbb..b6fc1e1a 100755 --- a/raw/dtrace/chp-plockstat.xml +++ b/raw/dtrace/chp-plockstat.xml @@ -3,7 +3,7 @@ The plockstat provider makes available probes that can be used to observe the behavior of user-level synchronization primitives including lock contention and hold times. -The plockstat1M +The plockstat8 command is a DTrace consumer that uses the plockstat provider to gather data on user-level locking events. diff --git a/raw/dtrace/chp-post.xml b/raw/dtrace/chp-post.xml index 5efe35d6..91182518 100755 --- a/raw/dtrace/chp-post.xml +++ b/raw/dtrace/chp-post.xml @@ -32,10 +32,10 @@ d7ac97c0 6 d713b7e8 dtrace ceb51ab8 the table consists of the following information: The address of the state structure - The minor number associated with the dtrace7D device + The minor number associated with the dtrace4D device The address of the process structure that corresponds to the DTrace consumer The name of the DTrace consumer (or <anonymous> for anonymous consumers) - The name of the file structure that corresponds to the open dtrace7D device + The name of the file structure that corresponds to the open dtrace4D device To obtain further information about a specific DTrace consumer, specify the address of its process structure to the ::ps dcmd: @@ -82,10 +82,10 @@ CPU ID FUNCTION:NAME 0 190 munmap:entry init ...The ::dtrace dcmd handles errors in the same way -that dtrace1M does: +that dtrace8 does: if drops, errors, speculative drops, or the like were encountered while the consumer was executing, ::dtrace will emit a message corresponding -to the dtrace1M message. +to the dtrace8 message.The order of events as displayed by ::dtrace is always oldest to youngest within a given CPU. The CPU buffers themselves are displayed in numerical order. If an ordering is required for events on different CPUs, @@ -105,7 +105,7 @@ CPU ID FUNCTION:NAME 1 186 mmap:entry init ... Notice that ::dtrace only processes in-kernel DTrace -data. Data that has been consumed from the kernel and processed (through dtrace1M or other means) will not +data. Data that has been consumed from the kernel and processed (through dtrace8 or other means) will not be available to be processed with ::dtrace. To assure that the most amount of data possible is available at the time of failure, use a ring buffer buffering policy. See for more information on buffer policies. diff --git a/raw/dtrace/chp-proc.xml b/raw/dtrace/chp-proc.xml index 97e967e0..abe9debf 100755 --- a/raw/dtrace/chp-proc.xml +++ b/raw/dtrace/chp-proc.xml @@ -101,7 +101,7 @@ and termination, executing new program images, and sending and handling signals. fault Probe that fires when a thread experiences a machine fault. The fault code (as defined in - proc4) + proc5) is in args[0]. The siginfo structure corresponding to the fault is pointed to by args[1]. Only those faults that induce a signal can trigger the fault @@ -313,7 +313,7 @@ arguments are described in . <literal>lwpsinfo_t</literal> lwpsinfo_tSeveral proc probes have arguments of type lwpsinfo_t, -a structure that is documented in proc4. +a structure that is documented in proc5. The definition of the lwpsinfo_t structure as available to DTrace consumers is as follows:typedef struct lwpsinfo { int pr_flag; /* flags; see below */ @@ -543,7 +543,7 @@ is set to a corresponding character shown in parentheses in the same table.SSTOP (T) The thread is stopped, either due to an explicit - proc4 + proc5 directive or some other stopping mechanism. @@ -566,7 +566,7 @@ is set to a corresponding character shown in parentheses in the same table. <literal>psinfo_t</literal> psinfo_tSeveral proc probes have an argument of type psinfo_t, -a structure that is documented in proc4. +a structure that is documented in proc5. The definition of the psinfo_t structure as available to DTrace consumers is as follows: typedef struct psinfo { diff --git a/raw/dtrace/chp-sched.xml b/raw/dtrace/chp-sched.xml index 87acc4ac..7d606e69 100755 --- a/raw/dtrace/chp-sched.xml +++ b/raw/dtrace/chp-sched.xml @@ -346,11 +346,11 @@ The definition of the cpuinfo_t structure is as follows: The cpu_id member is the processor identifier, as -returned by psrinfo1M and p_online2. +returned by psrinfo8 and p_online2.The cpu_pset member is the processor set that contains -the CPU, if any. See psrset1M for +the CPU, if any. See psrset8 for more details on processor sets.The cpu_chip member is the identifier of the physical -chip. Physical chips may contain several CPUs. See psrinfo1M for more information. +chip. Physical chips may contain several CPUs. See psrinfo8 for more information.The cpu_lgrp member is the identifier of the latency group associated with the CPU. See liblgrp3LIB for details on latency groups.The cpu_info member is the processor_info_t structure diff --git a/raw/dtrace/chp-script.xml b/raw/dtrace/chp-script.xml index 03a6dedd..b6f1ebc9 100755 --- a/raw/dtrace/chp-script.xml +++ b/raw/dtrace/chp-script.xml @@ -1,7 +1,7 @@ Scripting You can use the -dtrace1M +dtrace8 utility to create interpreter files out of D programs similar to shell scripts that you can install as reusable interactive DTrace tools. The D compiler and dtrace command provide a set of macro @@ -10,7 +10,7 @@ create DTrace scripts. This chapter provides a reference for the macro variable facility and tips for creating persistent scripts. Interpreter Files -interpreter filesscriptingSimilar to your shell and utilities such as awk1 and perl1, dtrace1M can be used to create executable interpreter files. An interpreter file begins with a line of the form: +interpreter filesscriptingSimilar to your shell and utilities such as awk1 and perl1, dtrace8 can be used to create executable interpreter files. An interpreter file begins with a line of the form: #! pathname arg where pathname is the path of the interpreter and arg is a single optional argument. When an interpreter file is executed, the system invokes the specified interpreter. If arg was specified in the interpreter file, it is passed as an argument to the interpreter. The path to the interpreter file itself and any additional arguments specified when it was executed are then appended to the interpreter argument list. Therefore, you will always need to create DTrace interpreter files with at least these arguments: #!/usr/sbin/dtrace -s diff --git a/raw/dtrace/chp-sdt.xml b/raw/dtrace/chp-sdt.xml index 4370757b..c4750586 100755 --- a/raw/dtrace/chp-sdt.xml +++ b/raw/dtrace/chp-sdt.xml @@ -147,7 +147,7 @@ uhci`uhci_handle_root_hub_status_change 0 | 0 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1515 2 | 0 -The output shows that uhci_handle_root_hub_status_change in the uhci7D driver represents the shortest interval timer on the system: it is called every system clock tick. +The output shows that uhci_handle_root_hub_status_change in the uhci4D driver represents the shortest interval timer on the system: it is called every system clock tick. The interrupt-start probe can be used to understand interrupt activity. The following example shows how to quantize the time spent executing an interrupt handler by driver name: interrupt-start { diff --git a/raw/dtrace/chp-stab.xml b/raw/dtrace/chp-stab.xml index d74fdc20..d84b2359 100755 --- a/raw/dtrace/chp-stab.xml +++ b/raw/dtrace/chp-stab.xml @@ -6,7 +6,7 @@ implementation details of user and kernel software. Unfortunately, new technolog and internal implementation details are both prone to changes as interfaces and implementations evolve and mature when software is upgraded or patched. Sun documents application and interface stability levels using a set of labels -described in the attributes5 man +described in the attributes7 man page to help set user expectations for what kinds of changes might occur in different kinds of future releases.No one stability attribute appropriately describes the arbitrary set of entities and services that can be accessed from a D program. DTrace and @@ -120,7 +120,7 @@ might not be available when using DTrace on any architectur other than the one you are currently using.CPUinterface dependency classesCPUThe interface is specific to the CPU -model of the current system. You can use the psrinfo1M utility's option +model of the current system. You can use the psrinfo8 utility's 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 @@ -167,7 +167,7 @@ describes interfaces using a triplet of attributes consisting of two stability levels and a dependency class. By convention, the interface attributes are written in the following order, separated by slashes:name-stability / data-stability / dependency-classThe name stability of an interface describes the stability level associated with its name as it appears in your D program -or on the dtrace1M command-line. +or on the dtrace8 command-line. For example, the execname D variable is a Stable name: Sun guarantees that this identifier will continue to be supported in your D programs according to the rules described for Stable interfaces above.The data stability of an interface is distinct diff --git a/raw/dtrace/chp-strings.xml b/raw/dtrace/chp-strings.xml index 3eafccf6..e395ffea 100755 --- a/raw/dtrace/chp-strings.xml +++ b/raw/dtrace/chp-strings.xml @@ -75,7 +75,7 @@ equal to one if the condition is true, or zero if it is false. The relational operators compare the two input strings byte-by-byte, similar to the C library routine strcmp3C. Each byte is compared using its corresponding integer value in the ASCII character set, as shown in -ascii5, until a +ascii7, until a null byte is read or the maximum string length is reached. Some example D string comparisons and their results are: diff --git a/raw/dtrace/chp-structs.xml b/raw/dtrace/chp-structs.xml index f717b2bc..284d067f 100755 --- a/raw/dtrace/chp-structs.xml +++ b/raw/dtrace/chp-structs.xml @@ -141,7 +141,7 @@ as the /proc filesystem files /proc/ are used by observability and debugging tools such as ps1, pgrep1, and truss1, and are defined in the system header file <sys/procfs.h> and are described -in the proc4 man +in the proc5 man page. Here are few example expressions using curpsinfo, their types, and their meanings: @@ -169,12 +169,12 @@ their types, and their meanings: structexample of useYou should review the complete structure definition later by examining the <sys/procfs.h> header file -and the corresponding descriptions in proc4. The next example uses the pr_psargs member +and the corresponding descriptions in proc5. The next example uses the pr_psargs member to identify a process of interest by matching command-line arguments.Structs are used frequently to create complex data structures in C programs, so the ability to describe and reference structs from D also provides a powerful capability for observing the inner workings of the illumos operating system kernel and its system interfaces. In addition to using the aforementioned curpsinfo struct, the next example examines some kernel structs -as well by observing the relationship between the ksyms7D driver and read2 requests. The driver makes +as well by observing the relationship between the ksyms4D driver and read2 requests. The driver makes use of two common structs, known as uio9S and iovec9S, to respond to requests to read from the character device file /dev/ksyms. The uio struct, accessed using the name struct uio or type alias uio_t, @@ -314,7 +314,7 @@ illumos kstat framework defines a struct containing a union that is used in the following example to illustrate and observe C and D unions. The kstat framework is used to export a set of named counters representing kernel statistics such as memory usage and I/O throughput. The -framework is used to implement utilities such as mpstat1M and iostat1M. This framework uses struct kstat_named to represent a named counter and its value and is defined +framework is used to implement utilities such as mpstat8 and iostat8. This framework uses struct kstat_named to represent a named counter and its value and is defined as follows: struct kstat_named { char name[KSTAT_STRLEN]; /* name of counter */ @@ -344,7 +344,7 @@ where the value is currently stored.examples

kstat_named.value union by tracing a user process. The kstat counters can be sampled from a user process using the kstat_data_lookup3KSTAT function, -which returns a pointer to a struct kstat_named. The mpstat1M utility calls this function +which returns a pointer to a struct kstat_named. The mpstat8 utility calls this function repeatedly as it executes in order to sample the latest counter values. Go to your shell and try running mpstat 1 and observe the output. Press Control-C in your shell to abort mpstat after @@ -425,7 +425,7 @@ pid$1:libkstat:kstat_data_lookup:return }
Now go to one of your shells and execute the command mpstat 1 to start -mpstat1M +mpstat8 running in a mode where it samples statistics and reports them once per second. Once mpstat is running, execute the command dtrace -q -s kstat.d `pgrep mpstat` in your other shell. You will see output diff --git a/raw/dtrace/chp-syscall.xml b/raw/dtrace/chp-syscall.xml index 0781c984..02d18721 100755 --- a/raw/dtrace/chp-syscall.xml +++ b/raw/dtrace/chp-syscall.xml @@ -43,7 +43,7 @@ V semaphores: syscall::semsys:entry and syscall::sem files that exceed four gigabytes in size must be able to process 64–bit file offsets. Because large files require use of large offsets, large files are manipulated through a parallel set of system interfaces, as -described in lf645. +described in lf647. These interfaces are documented in lf64, but they do not have individual manual pages. Each of these large file system call interfaces appears as its own syscall probe as shown in . @@ -122,7 +122,7 @@ that span the user-kernel boundary. As such, these system calls do not have manual pages in Section 2. Examples of system calls in this category include the signotify system call, which is used as part of the implementation of POSIX.4 message queues, and the utssys system -call, which is used to implement fuser1M. +call, which is used to implement fuser8. diff --git a/raw/dtrace/chp-sysinfo.xml b/raw/dtrace/chp-sysinfo.xml index 07b82d4d..be69aa20 100755 --- a/raw/dtrace/chp-sysinfo.xml +++ b/raw/dtrace/chp-sysinfo.xml @@ -3,7 +3,7 @@ The sysinfo provider makes available probes that correspond to kernel statistics classified by the name sys. Because these statistics provide the input for system monitoring utilities -like mpstat1M, +like mpstat8, the sysinfo provider enables quick exploration of observed aberrant behavior. @@ -13,7 +13,7 @@ correspond to the fields in the sys named kernel statistic: a probe provided by sysinfo fires immediately before the corresponding sys value is incremented. The following example shows how to display both the names and the current values of the sys named -kernel statistic using the kstat1M command. +kernel statistic using the kstat8 command. $ kstat -n sys module: cpu instance: 0 name: sys class: misc @@ -217,7 +217,7 @@ name: sys class: misc ufsdirblk Probe that fires whenever a directory block is read from the UFS file system. - See ufs7FS + See ufs4FS for details on UFS. @@ -225,7 +225,7 @@ name: sys class: misc ufsiget Probe that fires whenever an inode is retrieved. See - ufs7FS + ufs4FS for details on UFS. @@ -234,7 +234,7 @@ name: sys class: misc Probe that fires after an in-core inode without any associated data pages has been made available for reuse. See - ufs7FS + ufs4FS for details on UFS. @@ -244,7 +244,7 @@ name: sys class: misc Probe that fires after an in-core inode with associated data pages has been made available for reuse. This probe fires after the associated data pages have been flushed to disk. See - ufs7FS + ufs4FS for details on UFS. @@ -383,7 +383,7 @@ of the cpu_t structure to determine the CPU of interest. Example -Examine the following output from mpstat1M: +Examine the following output from mpstat8: CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 12 90 22 5760 422 299 435 26 71 116 11 1372 5 19 17 60 13 46 18 4585 193 162 431 25 69 117 12 1039 3 17 14 66 diff --git a/raw/dtrace/chp-typeopexpr.xml b/raw/dtrace/chp-typeopexpr.xml index 1c314005..4458f318 100755 --- a/raw/dtrace/chp-typeopexpr.xml +++ b/raw/dtrace/chp-typeopexpr.xml @@ -298,7 +298,7 @@ following suffixes to any floating-point constant to explicitly specify its D ty Character constants are written as a single character or escape sequence enclosed in a pair of single quotes ('a'). Character constants are assigned the type int and are equivalent to an integer constant whose value is determined by that character's value in the ASCII character -set. You can refer to ascii5 for a list of +set. You can refer to ascii7 for a list of characters and their values. You can also use any of the special escape sequences shown in the following table in your character constants. D supports the same escape sequences found in ANSI-C.
diff --git a/raw/dtrace/chp-user.xml b/raw/dtrace/chp-user.xml index d48f7226..f0df7a3c 100755 --- a/raw/dtrace/chp-user.xml +++ b/raw/dtrace/chp-user.xml @@ -68,9 +68,9 @@ CPU ID FUNCTION:NAME -Eliminating <citerefentry><refentrytitle>dtrace</refentrytitle><manvolnum>1M</manvolnum></citerefentry> Interference +Eliminating <citerefentry><refentrytitle>dtrace</refentrytitle><manvolnum>8</manvolnum></citerefentry> Interference dtrace interferenceIf you trace every call to the write2 system call, you will cause -a cascade of output. Each call to write causes the dtrace1M command to call write as +a cascade of output. Each call to write causes the dtrace8 command to call write as it displays the output, and so on. This feedback loop is a good example of how the dtrace command can interfere with the desired data. You can use a simple predicate to prevent these unwanted data from being traced: @@ -92,7 +92,7 @@ to the running of this script itself. system call entry and return. System calls can be a good starting point for understanding a process's behavior, especially if the process seems to be spending a large amount of time executing or blocked in the kernel. You can -use the prstat1M command +use the prstat8 command to see where processes are spending time: $ prstat -m -p 31337 PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/NLWP @@ -162,7 +162,7 @@ syscall::open:return ustack(); } This script also illustrates the use of the $1 macro -variable which takes the value of the first operand specified on the dtrace1M command-line: +variable which takes the value of the first operand specified on the dtrace8 command-line: # dtrace -s ./badopen.d 31337 dtrace: script './badopen.d' matched 2 probes CPU ID FUNCTION:NAME @@ -176,7 +176,7 @@ CPU ID FUNCTION:NAME tcsh`process+0x50c tcsh`main+0x1d54 tcsh`_start+0xdc -The ustack action records program counter (PC) values for the stack and dtrace1M resolves those PC values +The ustack action records program counter (PC) values for the stack and dtrace8 resolves those PC values to symbol names by looking though the process's symbol tables. If dtrace can't resolve the PC value to a symbol, it will print out the value as a hexadecimal integer. If a process exits or is killed before the ustack data diff --git a/raw/dtrace/chp-variables.xml b/raw/dtrace/chp-variables.xml index b2d95c6e..c951644e 100755 --- a/raw/dtrace/chp-variables.xml +++ b/raw/dtrace/chp-variables.xml @@ -404,7 +404,7 @@ currently defined by D. The lightweight process (LWP) state of the LWP associated with the current thread. This structure is described in further detail in the - proc4 + proc5 manual page. @@ -413,7 +413,7 @@ currently defined by D. The process state of the process associated with the current thread. This structure is described in further detail in the - proc4 + proc5 manual page. diff --git a/raw/dtrace/chp-vers.xml b/raw/dtrace/chp-vers.xml index 330b4933..c01b8203 100755 --- a/raw/dtrace/chp-vers.xml +++ b/raw/dtrace/chp-vers.xml @@ -17,7 +17,7 @@ tools. Versions and Releases version stringversioningThe D compiler labels sets of types, variables, functions, constants, and translators corresponding to a particular software release using a version string. A version string is a period-delimited sequence of decimal integers of the form “x” (a Major release), “x.y” (a Minor release), or “x.y.z” (a Micro release). Versions are compared by comparing the integers from left to right. If the leftmost integers are not equal, the string with the greater integer is the greater (and therefore more recent) version. If the leftmost integers are equal, the comparison proceeds to the next integer in order from left to right to determine the result. All unspecified integers in a version string are interpreted as having the value zero during a version comparison. -The DTrace version strings correspond to Sun's standard nomenclature for interface versions, as described in attributes5. A change in the D programming interface is accompanied by a new version string. The following table summarizes the version strings used by DTrace and the likely significance of the corresponding DTrace software release. +The DTrace version strings correspond to Sun's standard nomenclature for interface versions, as described in attributes7. A change in the D programming interface is accompanied by a new version string. The following table summarizes the version strings used by DTrace and the likely significance of the corresponding DTrace software release.
DTrace Release Versions diff --git a/raw/dtrace/chp-vminfo.xml b/raw/dtrace/chp-vminfo.xml index 544c36d3..8651d499 100755 --- a/raw/dtrace/chp-vminfo.xml +++ b/raw/dtrace/chp-vminfo.xml @@ -3,12 +3,12 @@ The vminfo provider makes available probes that correspond to the vm kernel statistics. Because these statistics provide the input for system monitoring -utilities like vmstat1M, +utilities like vmstat8, the vminfo provider enables quick exploration of observed aberrant behavior. Probes -probesvminfovminfo probeThe vminfo provider makes available probes that correspond to the fields in the vm named kernel statistic: a probe provided by vminfo fires immediately before the corresponding vm value is incremented. To display both the names and the current values of the vm named kernel statistic, use the kstat1M command, as shown in the following example: +probesvminfovminfo probeThe vminfo provider makes available probes that correspond to the fields in the vm named kernel statistic: a probe provided by vminfo fires immediately before the corresponding vm value is incremented. To display both the names and the current values of the vm named kernel statistic, use the kstat8 command, as shown in the following example: $ kstat -n vm module: cpu instance: 0 name: vm class: misc @@ -31,7 +31,7 @@ name: vm class: misc anonfree - Probe that fires whenever an unmodified anonymous page is freed as part of paging activity. Anonymous pages are those that are not associated with a file. Memory containing such pages includes heap memory, stack memory, or memory obtained by explicitly mapping zero7D. + Probe that fires whenever an unmodified anonymous page is freed as part of paging activity. Anonymous pages are those that are not associated with a file. Memory containing such pages includes heap memory, stack memory, or memory obtained by explicitly mapping zero4D. anonpgin @@ -176,7 +176,7 @@ name: vm class: misc Example -probesvminfoexample of usevminfo probeexampleExamine the following output from vmstat1M: +probesvminfoexample of usevminfo probeexampleExamine the following output from vmstat8: kthr memory page disk faults cpu r b w swap free re mf pi po fr de sr cd s0 — — in sy cs us sy id 0 1 0 1341844 836720 26 311 1644 0 0 0 0 216 0 0 0 797 817 697 9 10 81 @@ -196,7 +196,7 @@ dtrace: description 'pgin' matched 1 probe soffice 39 javaldx 103 soffice.bin 3065 -The output shows that a process associated with the StarOffice software, soffice.bin, is responsible for most of the page-ins. To get a better picture of soffice.bin in terms of virtual memory behavior, you could enable all vminfo probes. The following example runs dtrace1M while launching the StarOffice software: +The output shows that a process associated with the StarOffice software, soffice.bin, is responsible for most of the page-ins. To get a better picture of soffice.bin in terms of virtual memory behavior, you could enable all vminfo probes. The following example runs dtrace8 while launching the StarOffice software: dtrace -P vminfo'/execname == "soffice.bin"/{@[probename] = count()}' dtrace: description 'vminfo' matched 42 probes ^C @@ -350,7 +350,7 @@ traditional debugging tools like trussmdb1. The vminfo provider enables you to associate statistics seen in the output of conventional tools like -vmstat1M +vmstat8 with the applications that are inducing the systemic behavior. diff --git a/raw/dtrace/chp-xlate.xml b/raw/dtrace/chp-xlate.xml index 357100ba..b304aa6e 100755 --- a/raw/dtrace/chp-xlate.xml +++ b/raw/dtrace/chp-xlate.xml @@ -86,7 +86,7 @@ on some of the available libc interfaces: Process Model Translators -The DTrace library file /usr/lib/dtrace/procfs.d provides a set of translators for use in your D programs to translate from the operating system kernel implementation structures for processes and threads to the stable proc4 structures psinfo and lwpsinfo. These structures are also used in the illumos /proc filesystem files /proc/pid/psinfo and /proc/pid/lwps/lwpid/lwpsinfo, and are defined in the system header file /usr/include/sys/procfs.h. These structures define useful Stable information about processes and threads such as the process ID, LWP ID, initial arguments, and other data displayed by the ps1 command. Refer to proc4 for a complete description of the struct members and semantics. +The DTrace library file /usr/lib/dtrace/procfs.d provides a set of translators for use in your D programs to translate from the operating system kernel implementation structures for processes and threads to the stable proc5 structures psinfo and lwpsinfo. These structures are also used in the illumos /proc filesystem files /proc/pid/psinfo and /proc/pid/lwps/lwpid/lwpsinfo, and are defined in the system header file /usr/include/sys/procfs.h. These structures define useful Stable information about processes and threads such as the process ID, LWP ID, initial arguments, and other data displayed by the ps1 command. Refer to proc5 for a complete description of the struct members and semantics.
<filename>procfs.d</filename> Translators diff --git a/raw/dtrace/glossary.xml b/raw/dtrace/glossary.xml index 61f22e61..ba71546e 100755 --- a/raw/dtrace/glossary.xml +++ b/raw/dtrace/glossary.xml @@ -14,7 +14,7 @@ consumer - A program that uses DTrace to enable instrumentation and reads out the resulting stream of trace data. The dtrace command is the canonical DTrace consumer; the lockstat1M utility is another specialized DTrace consumer. + A program that uses DTrace to enable instrumentation and reads out the resulting stream of trace data. The dtrace command is the canonical DTrace consumer; the lockstat8 utility is another specialized DTrace consumer. DTrace diff --git a/raw/mdb/api.xml b/raw/mdb/api.xml index e6069680..e504619e 100755 --- a/raw/mdb/api.xml +++ b/raw/mdb/api.xml @@ -849,7 +849,7 @@ not be possible to disable these attributes independently of one another. If no terminal information is available, each terminal attribute construct is ignored by mdb_printf. For more information on terminal -attributes, see terminfo4. +attributes, see terminfo7. The available terminfo attributes are:aAlternate character set bBold text diff --git a/raw/mdb/casestudy.xml b/raw/mdb/casestudy.xml index 69c284e8..9e1a1587 100755 --- a/raw/mdb/casestudy.xml +++ b/raw/mdb/casestudy.xml @@ -46,7 +46,7 @@ returning this system to production use. dumpadmThe next step is to make sure crash dumps are properly configured. First, confirm that dumpadm is configured to save kernel crash dumps and -that savecore is enabled. See dumpadm1M for more information on crash +that savecore is enabled. See dumpadm8 for more information on crash dump parameters. # dumpadm Dump content: kernel pages @@ -54,7 +54,7 @@ dump parameters. Savecore directory: /var/crash/testsystem Savecore enabled: yes rebootNext, reboot the system -using the flag to reboot1M, which forces the kernel +using the flag to reboot8, which forces the kernel to panic and save a crash dump. # reboot -d Sep 28 17:51:18 testsystem reboot: rebooted by root @@ -71,7 +71,7 @@ $ ls bounds unix.0 unix.1 vmcore.0 vmcore.1 savecoreIf the dump is missing from your dump directory, it could be that the partition -is out of space. You can free up space and run savecore1M manually as root to subsequently +is out of space. You can free up space and run savecore8 manually as root to subsequently save the dump. If your dump directory contains multiple crash dumps, the one you just created will be the unix.[n] and vmcore.[n] pair with the most recent modification time. diff --git a/raw/mdb/commands.xml b/raw/mdb/commands.xml index 3271747b..bdf16bde 100755 --- a/raw/mdb/commands.xml +++ b/raw/mdb/commands.xml @@ -249,7 +249,7 @@ it is shown under the ::identifier form. switch when examining a crash dump if the dump contains the physical memory pages of the specified user process (as opposed to just kernel pages). The kernel crash dump facility can be configured to dump all pages or the pages of the current user - process using dumpadm1M. + process using dumpadm8. The ::status dcmd can be used to display the contents of the current crash dump. When the user requests a context switch from the kernel target, MDB diff --git a/raw/mdb/concepts.xml b/raw/mdb/concepts.xml index 1b22c0be..1cbab9f2 100755 --- a/raw/mdb/concepts.xml +++ b/raw/mdb/concepts.xml @@ -137,7 +137,7 @@ properties: The module API provides a facility for retrieving a collection of named external data buffers associated with the target. For example, MDB provides programmatic access to the - proc4 + proc5 structures associated with a user process or user core file target. diff --git a/raw/mdb/modules.xml b/raw/mdb/modules.xml index c2ff6c7a..c34cf867 100755 --- a/raw/mdb/modules.xml +++ b/raw/mdb/modules.xml @@ -1700,7 +1700,7 @@ communication primitives. Loopback File System Debugging Support (<literal>lofs</literal>) -The lofs module provides debugging support for the lofs7FS file system. +The lofs module provides debugging support for the lofs4FS file system. dcmds @@ -1750,7 +1750,7 @@ communication primitives. Internet Protocol Module Debugging Support (<literal>ip</literal>) -The ip module provides debugging support for the ip7P driver +The ip module provides debugging support for the ip4P driver dcmds diff --git a/raw/wdd/LP64.xml b/raw/wdd/LP64.xml index 5d0a565e..064ccd27 100755 --- a/raw/wdd/LP64.xml +++ b/raw/wdd/LP64.xml @@ -371,12 +371,12 @@ kernel through ioctl calls. Well Known <literal>ioctl</literal> Interfacesioctl functioncommandsMany ioctl9E operations are common to a class of device drivers. For example, most disk drivers implement many of -the dkio7I family +the dkio4I family of ioctls. Many of these interfaces copy in or copy out data structures from the kernel, and some of these data structures have changed size in the LP64 data model. The following section lists the ioctlsthat now require explicit conversion in 64-bit driver ioctl routines -for the dkio, fdio7I, fbio7I, cdio7I, and mtio7I families of ioctls. +for the dkio, fdio4I, fbio4I, cdio4I, and mtio4I families of ioctls. @@ -400,7 +400,7 @@ for the dkio, fdiodk_allmap - dkio7I + dkio4I @@ -413,7 +413,7 @@ for the dkio, fdiovtoc - dkio7I + dkio4I @@ -425,7 +425,7 @@ for the dkio, fdiofbcmap - fbio7I + fbio4I @@ -437,7 +437,7 @@ for the dkio, fdiofbcmap_i - fbio7I + fbio4I @@ -449,7 +449,7 @@ for the dkio, fdiofbcursor - fbio7I + fbio4I @@ -459,48 +459,48 @@ for the dkio, fdio cdrom_read - cdio7I + cdio4I CDROMCDDA cdrom_cdda - cdio7I + cdio4I CDROMCDXA cdrom_cdxa - cdio7I + cdio4I CDROMSUBCODE cdrom_subcode - cdio7I + cdio4I FDIOCMD fd_cmd - fdio7I + fdio4I FDRAW fd_raw - fdio7I + fdio4I MTIOCTOP mtop - mtio7I + mtio4I MTIOCGET mtget - mtio7I + mtio4I MTIOCGETDRIVETYPE mtdrivetype_request - mtio7I + mtio4I USCSICMD diff --git a/raw/wdd/autoconf.xml b/raw/wdd/autoconf.xml index 3130bda6..d8015147 100755 --- a/raw/wdd/autoconf.xml +++ b/raw/wdd/autoconf.xml @@ -82,7 +82,7 @@ element of the structure should always be NULL. };This structure describes the module in more detail. The first field provides information regarding installation of the module. This field should be set to &mod_driverops for driver modules. The second -field is a string to be displayed by modinfo1M. The second field should +field is a string to be displayed by modinfo8. The second field should contain sufficient information for identifying the version of source code that generated the driver binary. The last field points to the driver's dev_ops structure defined in the following section. <literal>dev_ops</literal> Structuredev_ops structuredescription of @@ -344,7 +344,7 @@ is assigned an instance number by the kernel. Furthermore, instance numbers provide a convenient mechanism for indexing data specific to a particular physical device. The most common use of instance numbers is ddi_get_soft_state9F, which uses instance numbers to retrieve soft state data for specific physical devices.For pseudo devices, that is, the children of pseudo nexuses, -the instance numbers are defined in the driver.conf4 file using the instance property. +the instance numbers are defined in the driver.conf5 file using the instance property. If the driver.conf file does not contain the instance property, the behavior is undefined. For hardware device nodes, the system assigns instance numbers when the device is first seen by the OS. The instance numbers persist across system reboots and OS upgrades. @@ -636,11 +636,11 @@ created.
-The node types DDI_NT_BLOCK, DDI_NT_BLOCK_CHAN, DDI_NT_CD, and DDI_NT_CD_CHAN cause devfsadm1M to identify +The node types DDI_NT_BLOCK, DDI_NT_BLOCK_CHAN, DDI_NT_CD, and DDI_NT_CD_CHAN cause devfsadm8 to identify the device instance as a disk and to create names in the /dev/dsk or /dev/rdsk directory. -The node type DDI_NT_TAPE causes devfsadm1M to identify +The node type DDI_NT_TAPE causes devfsadm8 to identify the device instance as a tape and to create names in the /dev/rmt directory. -The node types DDI_NT_SERIAL and DDI_NT_SERIAL_DO cause devfsadm1M to +The node types DDI_NT_SERIAL and DDI_NT_SERIAL_DO cause devfsadm8 to perform these actions: Identify the device instance as a serial port @@ -649,8 +649,8 @@ perform these actions: Vendor-supplied strings should include an identifying value such as a name or stock symbol to make the strings unique. The string can be used -in conjunction with devfsadm1M and -the devlinks.tab file (see the devlinks1M man page) to create logical +in conjunction with devfsadm8 and +the devlinks.tab file (see the devlinks8 man page) to create logical names in /dev. diff --git a/raw/wdd/block.xml b/raw/wdd/block.xml index f147c83e..462af1f5 100755 --- a/raw/wdd/block.xml +++ b/raw/wdd/block.xml @@ -49,7 +49,7 @@ details on driver data structures.Block device drivers provide thes I/Ofile system structure A file system is a tree-structured hierarchy of directories and files. Some file systems, such as the UNIX File System (UFS), reside on block-oriented -devices. File systems are created by format1M and newfs1M.When an application issues a read2 or write2 system +devices. File systems are created by format8 and newfs8.When an application issues a read2 or write2 system call to an ordinary file on the UFS file system, the file system can call the device driver strategy9E entry point for the block device on which the file system resides. The file system @@ -73,7 +73,7 @@ perform the common initialization tasks for each instance of a device:/devices hierarchy.block driverautoconfiguration ofblock driverslice numberslice number for block devicesLogical device names for block devices appear in the /dev/dsk directory, and consist of a controller number, bus-address number, disk number, and slice -number. These names are created by the devfsadm1M program if the node type +number. These names are created by the devfsadm8 program if the node type is set to DDI_NT_BLOCK or DDI_NT_BLOCK_CHAN. DDI_NT_BLOCK_CHAN should be specified if the device communicates on a channel, that is, a bus with an additional level of addressability. SCSI disks are a good example. DDI_NT_BLOCK_CHAN causes @@ -671,7 +671,7 @@ xxintr(caddr_t arg) dump entry pointblock driversThe dump9E entry point is used to copy a portion of virtual address space directly to the specified device in the case of a system failure. dump is also used to copy the -state of the kernel out to disk during a checkpoint operation. See the cpr7 and dump9E man pages for more information. +state of the kernel out to disk during a checkpoint operation. See the cpr4 and dump9E man pages for more information. The entry point must be capable of performing this operation without the use of interrupts, because interrupts are disabled during the checkpoint operation.int dump(dev_t dev, caddr_t addr, daddr_t blkno, int nblk)where:devDevice number of the device to receive the dump. @@ -705,9 +705,9 @@ xxprint(dev_t dev, char *str) Disk <literal>ioctl</literal>s I/Odisk controlsdiskI/O controlsillumos disk drivers need to support a minimum set of ioctl commands -specific to illumos disk drivers. These I/O controls are specified in the dkio7I manual page. Disk I/O controls +specific to illumos disk drivers. These I/O controls are specified in the dkio4I manual page. Disk I/O controls transfer disk information to or from the device driver. An illumos disk device -is supported by disk utility commands such as format1M and newfs1M. The mandatory illumos disk I/O +is supported by disk utility commands such as format8 and newfs8. The mandatory illumos disk I/O controls are as follows: diff --git a/raw/wdd/character.xml b/raw/wdd/character.xml index 1c8753e8..34761829 100755 --- a/raw/wdd/character.xml +++ b/raw/wdd/character.xml @@ -831,8 +831,8 @@ Any data transfer of arg into or out of the driver must be performed by the driver.Certain classes of devices such as frame buffers or disks must support standard sets of I/O control requests. These standard I/O control interfaces are documented in the illumos Reference Manual Collection. -For example, fbio7I documents -the I/O controls that frame buffers must support, and dkio7I documents standard disk I/O +For example, fbio4I documents +the I/O controls that frame buffers must support, and dkio4I documents standard disk I/O controls. See for more information on I/O controls. Drivers must use ddi_copyin9F to transfer arg data from diff --git a/raw/wdd/console.xml b/raw/wdd/console.xml index 51270796..16ac95df 100755 --- a/raw/wdd/console.xml +++ b/raw/wdd/console.xml @@ -91,7 +91,7 @@ polled I/O interfaces. All activity between the kernel terminal emulator and the console frame buffer driver is initiated by the kernel terminal emulator, with the exception of a callback function used by the console frame buffer driver to notify the kernel terminal emulator of changes in the video mode. -The console visual I/O interfaces are documented in detail in the visual_io7I man page. +The console visual I/O interfaces are documented in detail in the visual_io4I man page. For more information on the video mode change callback function, see . I/O Control Interfaces @@ -236,7 +236,7 @@ driver and the kernel terminal emulator is initiated by the temtem issues all of the ioctl commands described in this document. The following sections provide implementation details for each ioctl command. -For more information, see the visual_io7I man page and the /usr/include/sys/visual_io.h include file. See for detailed information about the video mode change callback +For more information, see the visual_io4I man page and the /usr/include/sys/visual_io.h include file. See for detailed information about the video mode change callback function. Each ioctl command should determine whether the FKIOCTL is set in the ioctl flag @@ -594,7 +594,7 @@ PROM ok prompt: Testing the Video Mode Change Callback Function fbconfig(1M) commandTo determine whether the video mode change callback function is -working properly, log in to the system and use fbconfig1M to change the resolution +working properly, log in to the system and use fbconfig8 to change the resolution and depth of the frame buffer several times. If the console continues to display text properly, the video mode change callback function is working correctly. The kernel terminal emulator might adjust the font size to accommodate different @@ -616,7 +616,7 @@ following command in a separate window: % tail -f /var/adm/messages eeprom(1M) commandTo avoid problems with USB while debugging the driver, change the EEPROM input-device NVRAM configuration parameter to -use a serial port instead of the keyboard. See the eeprom1M man page +use a serial port instead of the keyboard. See the eeprom8 man page for more information about this parameter.
diff --git a/raw/wdd/ddidkisvc.xml b/raw/wdd/ddidkisvc.xml index 0b8abb28..7c2ac9a8 100755 --- a/raw/wdd/ddidkisvc.xml +++ b/raw/wdd/ddidkisvc.xml @@ -2043,7 +2043,7 @@ known at compile time.
ddi_fm_ereport_post Queues an encoded fault management error report name-value pair list for delivery to the Fault Manager daemon, - fmd1M + fmd8 diff --git a/raw/wdd/debug.xml b/raw/wdd/debug.xml index 9b4dfbd5..c60696a7 100755 --- a/raw/wdd/debug.xml +++ b/raw/wdd/debug.xml @@ -33,9 +33,9 @@ hang. If the system clock has not been updated for 50 seconds, the deadman feature induces a panic and puts you in the debugger. Take the following steps to enable the deadman feature: - Make sure you are capturing crash images with dumpadm1M. + Make sure you are capturing crash images with dumpadm8. - Set the snooping variable in the /etc/system file. See the system4 man page for information on the /etc/system file. + Set the snooping variable in the /etc/system file. See the system5 man page for information on the /etc/system file. set snooping=1 Reboot the system so that the /etc/system file is read again and the snooping setting takes effect. @@ -71,7 +71,7 @@ to debug an illumos device driver, this technique is still recommended. using serial port A on both machines.This connection must be made with a null modem cable. On the host system, make sure there is an entry -in /etc/remote for the connection. See the remote4 man page for details.The terminal entry must match the serial port that is used. illumos +in /etc/remote for the connection. See the remote5 man page for details.The terminal entry must match the serial port that is used. illumos comes with the correct entry for serial port B, but a terminal entry must be added for serial port A:debug:\ :dv=/dev/term/a:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:The baud rate must be set to 9600. @@ -112,7 +112,7 @@ redirection to a serial port. In SPARC machines, the tip conn maintains console control throughout the boot process. -Setting Up Test Modulessystem filetest modulesdebuggingsystem filekernel variablesusingThe system4 file in the /etc directory +Setting Up Test Modulessystem filetest modulesdebuggingsystem filekernel variablesusingThe system5 file in the /etc directory enables you to set the value of kernel variables at boot time. With kernel variables, you can toggle different behaviors in a driver and take advantage of debugging features that are provided by the kernel. The kernel variables moddebug and kmem_flags, which can be very useful in @@ -137,18 +137,18 @@ name.You can also use a bitwise OR operation to set a value, for ex modinfo command modload command modunload command -The commands modload1M, modunload1M, and modinfo1M can be used to add test modules, +The commands modload8, modunload8, and modinfo8 can be used to add test modules, which is a useful technique for debugging and stress-testing drivers. These commands are generally not needed in normal operation, because the kernel automatically loads needed modules and unloads unused modules. The moddebug kernel variable works with these commands to provide information and set controls. Using the <function>modload</function> Function -Use modload1M to force a module into memory. The modload command +Use modload8 to force a module into memory. The modload command verifies that the driver has no unresolved references when that driver is loaded. Loading a driver does not necessarily mean that the driver can attach. When a driver loads successfully, the driver's _info9E entry point is called. The attach entry point is not necessarily called. -Using the <function>modinfo</function> FunctionUse modinfo1M to confirm that the driver is loaded.Using <command>modinfo</command> to Confirm a Loaded +</sect4><sect4 xml:id="faasm"><title>Using the <function>modinfo</function> FunctionUse modinfo8 to confirm that the driver is loaded.Using <command>modinfo</command> to Confirm a Loaded Driver$ modinfo Id Loadaddr Size Info Rev Module Name 6 101b6000 732 - 1 obpsym (OBP symbol callbacks) @@ -161,13 +161,13 @@ Driver$ modinfo $ modinfo | grep mydriver 169 781a8d78 13fb 0 1 mydriver (Test Driver 1.5) The number in the info field is the major number -that has been chosen for the driver. The modunload1M command can be used to unload a module +that has been chosen for the driver. The modunload8 command can be used to unload a module if the module ID is provided. The module ID is found in the left column of modinfo output.Sometimes a driver does not unload as expected after a modunload is issued, because the driver is determined to be busy. This situation occurs when the driver fails detach9E, either because the driver really is busy, or because the detach entry point is implemented incorrectly. -Using <function>modunload</function>To remove all of the currently unused modules from memory, run modunload1M with +Using <function>modunload</function>To remove all of the currently unused modules from memory, run modunload8 with a module ID of 0:# modunload -i 0 Setting the <varname>moddebug</varname> Kernel Variablemoddebug kernel variableThe moddebug kernel variable controls the module loading process. The possible values of moddebug are:0x80000000Prints messages to the console when loading or unloading modules. @@ -222,7 +222,7 @@ By taking precautions, you can avoid system reinstallation in this event, as described in this section.Back Up Critical System FilesA number of driver-related system files are difficult, if not impossible, to reconstruct. Files such as /etc/name_to_major, /etc/driver_aliases, /etc/driver_classes, and /etc/minor_perm can be corrupted if the driver crashes -the system during installation. See the add_drv1M man page.To be safe, make a backup copy of the root file system after the test +the system during installation. See the add_drv8 man page.To be safe, make a backup copy of the root file system after the test machine is in the proper configuration. If you plan to modify the /etc/system file, make a backup copy of the file before making modifications. To Boot With an Alternate Kernel @@ -271,11 +271,11 @@ Enter physical name of root device as a client of a server. If a problem occurs, the system can be booted from the network. The local disks can then be mounted, and any fixes can be made. Alternatively, the system can be booted directly from the illumos system CD-ROM.Another way to recover from disaster is to have another bootable root -file system. Use format1M to -make a partition that is the exact size of the original. Then use dd1M to copy the bootable root -file system. After making a copy, run fsck1M on the new file system to ensure its integrity. +file system. Use format8 to +make a partition that is the exact size of the original. Then use dd8 to copy the bootable root +file system. After making a copy, run fsck8 on the new file system to ensure its integrity. Subsequently, if the system cannot boot from the original root partition, -boot the backup partition. Use dd1M to +boot the backup partition. Use dd8 to copy the backup partition onto the original partition. You might have a situation where the system cannot boot even though the root file system is undamaged. For example, the damage might be limited to the boot block or the boot program. @@ -287,7 +287,7 @@ option. You can then specify the original file system as the root file system.saving crash dumpscrash dumps, savingWhen a system panics, the system writes an image of kernel memory to the dump device. The dump device is by default the most suitable swap device. The dump is a system crash dump, -similar to core dumps generated by applications. On rebooting after a panic, savecore1M checks the +similar to core dumps generated by applications. On rebooting after a panic, savecore8 checks the dump device for a crash dump. If a dump is found, savecore makes a copy of the kernel's symbol table, which is called unix.n. The savecore utility then dumps a core file that is called vmcore.n in @@ -295,7 +295,7 @@ the core image directory. By default, the core image directory is /var insufficient space for a core dump, the system displays the needed space but does not actually save the dump. The mdb1 debugger can then be used on the core dump and the saved kernel. -In most illumos distributions, crash dump is enabled by default. The dumpadm1M command is used to configure +In most illumos distributions, crash dump is enabled by default. The dumpadm8 command is used to configure system crash dumps. Use the dumpadm command to verify that crash dumps are enabled and to determine the location of core files that have been saved.You can prevent the savecore utility from @@ -311,8 +311,8 @@ space is available, the core file is not saved. device directoryrecovering Damage to the /devices and /dev directories can occur if the driver crashes during attach9E. If either directory is damaged, -you can rebuild the directory by booting the system and running fsck1M to repair the damaged root -file system. The root file system can then be mounted. Recreate the /devices and /dev directories by running devfsadm1M and specifying +you can rebuild the directory by booting the system and running fsck8 to repair the damaged root +file system. The root file system can then be mounted. Recreate the /devices and /dev directories by running devfsadm8 and specifying the /devices directory on the mounted disk.The following example shows how to repair a damaged root file system on a SPARC system. In this example, the damaged disk is /dev/dsk/c0t3d0s0, and an alternate boot disk is /dev/dsk/c0t1d0s0.Recovering a Damaged Device Directoryok boot disk1 ... @@ -387,7 +387,7 @@ crash from a process core file.c the recommended tool for postmortem analysis. In the current illumos releases, mdb1 is the recommended tool for postmortem analysis. The mdb feature -set surpasses the set of commands from the legacy crash1M utility. The crash utility is no longer available in illumos. +set surpasses the set of commands from the legacy crash8 utility. The crash utility is no longer available in illumos. Using the <command>kmdb</command> Kernel Debuggerdebuggingkmdb debugger kerneldebuggerkmdb debugger @@ -401,7 +401,7 @@ that provides the following capabilities:Control of kerne The focus in this section is on kmdb capabilities that are useful in device driver design. To learn how to use kmdb in detail, refer to the kmdb1 man -page and to the Modular Debugger Guide. If you are familiar with kadb, refer to the kadb1M man +page and to the Modular Debugger Guide. If you are familiar with kadb, refer to the kadb8 man page for the major differences between kadb and kmdb.The kmdb debugger can be loaded and unloaded at will. Instructions for loading and unloading kmdb are in the Modular Debugger Guide. For safety and convenience, booting with an alternate kernel is highly encouraged. The boot process is slightly @@ -740,7 +740,7 @@ can process symbolic type data with or without the SUNWzlib mdb debuggernavigating device tree with The mdb debugger provides the ::prtconf dcmd for displaying the kernel device tree. The output of the ::prtconf dcmd -is similar to the output of the prtconf1M command.Using the <command>::prtconf</command> Dcmd> ::prtconf +is similar to the output of the prtconf8 command.Using the <command>::prtconf</command> Dcmd> ::prtconf 300015d3e08 SUNW,Sun-Blade-100 300015d3c28 packages (driver not attached) 300015d3868 SUNW,builtin-drivers (driver not attached) diff --git a/raw/wdd/devmap.xml b/raw/wdd/devmap.xml index 01dea0ee..ec59eeef 100755 --- a/raw/wdd/devmap.xml +++ b/raw/wdd/devmap.xml @@ -276,7 +276,7 @@ unlocks the memory, and the project's locked-memory byte count is decremented.umem_lockmemory within the same project with overlapping memory regions are charged twice.For information about the project.max-locked-memory and zone.max-locked_memory resource controls on illumos systems with zones installed, see illumos Containers: Resource Management and illumos Zones Developer’s Guide and -see resource_controls5. +see resource_controls7. The following example shows how to allocate kernel memory for application access. The driver exports one page of kernel memory, which is used by multiple applications as a shared memory area. The memory is allocated in segmap9E when an application diff --git a/raw/wdd/drvovr.xml b/raw/wdd/drvovr.xml index 836a7b46..ce7f7499 100755 --- a/raw/wdd/drvovr.xml +++ b/raw/wdd/drvovr.xml @@ -53,7 +53,7 @@ accommodates devices, see . STREAMS device drivers – - Subset of character drivers that uses the streamio7I set of routines for character + Subset of character drivers that uses the streamio4I set of routines for character I/O within the kernel. @@ -585,7 +585,7 @@ to perform memory mapping. For other entry points, see Entry Points for the Generic LAN Device (GLD) Driver The following table lists additional entry points that can be used by -the general LAN driver (GLD). For more information on GLD drivers, see the gld9E, gld7D, and gld_mac_info9S man pages. For other entry +the general LAN driver (GLD). For more information on GLD drivers, see the gld9E, gld4D, and gld_mac_info9S man pages. For other entry points, see and . Additional Entry Points for the Generic LAN Driver @@ -829,7 +829,7 @@ the device IDs registered by the drivers.propertiesoverview The attributes of a device or device driver are specified by properties. A property is a name-value pair. The name is a string that identifies the property with an associated value. Properties can be defined by the FCode -of a self-identifying device, by a hardware configuration file (see the driver.conf4 man page), +of a self-identifying device, by a hardware configuration file (see the driver.conf5 man page), or by the driver itself using the ddi_prop_update9F family of routines. @@ -895,7 +895,7 @@ on multiple platforms and architectures. The DDI/DKI provides a group of interfaces referred to as layered device interfaces (LDI). These interfaces enable a device to be accessed from within the illumos kernel. This capability enables developers to write applications -that observe kernel device usage. For example, both the prtconf1M and fuser1M commands use LDI to enable +that observe kernel device usage. For example, both the prtconf8 and fuser8 commands use LDI to enable system administrators to track aspects of device usage. The LDI is covered in more detail in . diff --git a/raw/wdd/events.xml b/raw/wdd/events.xml index 4f6a601c..1106e421 100755 --- a/raw/wdd/events.xml +++ b/raw/wdd/events.xml @@ -36,7 +36,7 @@ that have subscribed for notification of the specified event.Two methods for designers of user-level applications deal with events: An application can use the routines in libsysevent3LIB to subscribe with the syseventd daemon for notification when a specific event occurs. - A developer can write a separate user-level application to respond to an event. This type of application needs to be registered with syseventadm1M. When syseventconfd encounters the specified event, the application is run and deals with the event accordingly. + A developer can write a separate user-level application to respond to an event. This type of application needs to be registered with syseventadm8. When syseventconfd encounters the specified event, the application is run and deals with the event accordingly. This process is illustrated in the following figure.
@@ -373,7 +373,7 @@ execution of a task. Task Queue Kernel Statistics Counters kstatstask queues Every task queue has an associated set of kstat counters. -Examine the output of the following kstat1M command: +Examine the output of the following kstat8 command: $ kstat -c taskq module: unix instance: 0 name: ata_nexus_enum_tq class: taskq diff --git a/raw/wdd/gld.xml b/raw/wdd/gld.xml index 621c46dc..305318ef 100755 --- a/raw/wdd/gld.xml +++ b/raw/wdd/gld.xml @@ -16,7 +16,7 @@ Data Link Provider Interface (DLPI) functionality for an illumos network driver. -For more information on GLDs, see the gld7D, dlpi7P, gld9E, gld9F, gld_mac_info9S, and gld_stats9S man pages. +For more information on GLDs, see the gld4D, dlpi4P, gld9E, gld9F, gld_mac_info9S, and gld_stats9S man pages. Generic LAN Driver Overview STREAMSsupport for network driverGLD is a multi-threaded, clonable, loadable @@ -233,7 +233,7 @@ must be attached to a particular PPA using DL_ATTACH described below. If GLD receives an unrecognizable ioctl command, GLD passes the command to the device-specific driver's gldm_ioctl routine, as described in gld9E.snoop commandnetwork driversDLIOCRAWioctl functionioctl functionDLIOCRAWThe DLIOCRAW ioctl function -is used by some DLPI applications, most notably the snoop1M command. +is used by some DLPI applications, most notably the snoop8 command. The DLIOCRAW command puts the stream into a raw mode. In raw mode, the driver passes full MAC-level incoming packets upstream in M_DATA messages instead of transforming the @@ -346,7 +346,7 @@ the interrupt before calling gld_mac_freekstat7D and kstat9S mechanisms. The DL_GET_STATISTICS_REQ DLPI command can also be used to retrieve the current statistics +driver statistics. Statistics are reported by GLD using the kstat4D and kstat9S mechanisms. The DL_GET_STATISTICS_REQ DLPI command can also be used to retrieve the current statistics counters. All statistics are maintained as unsigned. The statistics are 32 bits unless otherwise noted. GLD maintains and reports the following statistics. @@ -696,10 +696,10 @@ For more information on these structures, see the g GLD data structuresgld_stats After calling gldm_get_stats, a GLD-based driver uses the (gld_stats) structure to communicate statistics -and state information to GLD. See the gld9E and gld7D man pages. The members of this structure, +and state information to GLD. See the gld9E and gld4D man pages. The members of this structure, having been filled in by the GLD-based driver, are used when GLD reports the statistics. In the tables below, the name of the statistics variable reported -by GLD is noted in the comments. See the gld7D man page for a more detailed description of the meaning +by GLD is noted in the comments. See the gld4D man page for a more detailed description of the meaning of each statistic.Drivers must not make any assumptions about the length of this structure. The structure length might vary in different releases of the illumos, GLD, or both. Structure members private to GLD, which are not documented here, @@ -833,7 +833,7 @@ do not represent the number of times: entry pointsfor network drivers Entry points must be implemented by a device-specific network driver that has been designed to interface with GLD.The gld_mac_info9S structure is the main structure for communication between -the device-specific driver and the GLD module. See the gld7D man page. Some elements in +the device-specific driver and the GLD module. See the gld4D man page. Some elements in that structure are function pointers to the entry points that are described here. The device-specific driver must, in its attach9E routine, initialize these function pointers before calling gld_register.<function>gldm_reset</function> Entry Pointint prefix_reset(gld_mac_info_t *macinfo);GLD entry pointsgldm_resetgldm_reset resets @@ -945,7 +945,7 @@ driver private counters, or both, and updates the g to by stats. This routine is called by GLD for statistics requests. GLD uses the gldm_get_stats mechanism to acquire device-dependent statistics from the driver before GLD composes -the reply to the statistics request. See the gld_stats9S, gld7D, and qreply9F man pages for more information +the reply to the statistics request. See the gld_stats9S, gld4D, and qreply9F man pages for more information about defined statistics counters. <function>gldm_ioctl</function> Entry PointGLD entry pointsgldm_ioctl int prefix_ioctl(gld_mac_info_t *macinfo, queue_t *q, mblk_t *mp);gldm_ioctl implements any device-specific ioctl commands. This element is allowed to be null if the driver does diff --git a/raw/wdd/hardening.xml b/raw/wdd/hardening.xml index 67bc67f9..883f9816 100755 --- a/raw/wdd/hardening.xml +++ b/raw/wdd/hardening.xml @@ -27,7 +27,7 @@ the I/O fault service APIs within a device driver. This section discusses the following topics: provides background and an overview of the illumos Fault Management Architecture. - describes additional background with a focus on a high-level overview of the illumos Fault Manager, fmd1M. + describes additional background with a focus on a high-level overview of the illumos Fault Manager, fmd8. is the primary section for driver developers. This section highlights the best practice coding techniques for high-availability and the use of I/O fault services in driver code to interact with the FMA. describes how faults are diagnosed from the errors detected by drivers. provides information on illumos's Event Registry. @@ -72,7 +72,7 @@ engine produces another event called a fault event. The fault event is then broadcast to all agents that are interested in the specific fault event. An agent is a software component that initiates recovery and responds to specific fault events. A software component known -as the illumos Fault Manager, fmd1M, +as the illumos Fault Manager, fmd8, manages the multiplexing of events between ereport generators, diagnosis engines, and agent software. @@ -80,7 +80,7 @@ and agent software. illumos Fault Manager fmd fault manager daemon fault managementfault manager daemon fmd -The illumos Fault Manager, fmd1M, is responsible for dispatching in-bound error telemetry +The illumos Fault Manager, fmd8, is responsible for dispatching in-bound error telemetry events to the appropriate diagnosis engines. The diagnosis engine is responsible for identifying the underlying hardware faults or software defects that are producing the error symptoms. The fmd(1M) daemon is the @@ -113,7 +113,7 @@ for the bus itself. fault managementField Replaceable Unit (FRU) In addition to describing the fault that was diagnosed, a fault event also contains four payload members for which the diagnosis is applicable. - The resource is the component that was diagnosed as faulty. The fmdump1M command shows this payload member as “Problem in.” + The resource is the component that was diagnosed as faulty. The fmdump8 command shows this payload member as “Problem in.” The Automated System Recovery Unit (ASRU) is the hardware or software component that must be disabled to prevent further error symptoms from occurring. The fmdump(1M) command shows this payload member as “Affects.” The Field Replaceable Unit (FRU) is the component that must be replaced or repaired to fix the underlying problem. The Label payload is a string that gives the location of the FRU in the same form as it is printed on the chassis or motherboard, for example next to a DIMM slot or PCI card slot. The fmdump command shows this payload member as “Location.” @@ -130,7 +130,7 @@ Problem in: hc:///motherboard=0/chip=0/cpu=0 Affects: cpu:///cpuid=0 FRU: hc:///motherboard=0/chip=0 Location: SLOT 2 -In this example, fmd1M has +In this example, fmd8 has identified a problem in a resource, specifically a CPU (hc:///motherboard=0/chip=0/cpu=0). To suppress further error symptoms and to prevent an uncorrectable error from occurring, an ASRU, (cpu:///cpuid=0), is identified for retirement. The component that needs to be replaced is the FRU (hc:///motherboard=0/chip=0). @@ -147,7 +147,7 @@ diagnosis or repair. For example, the CPU and memory retire agent is designed to act on list.suspects that contain a fault.cpu.* event. The cpumem-retire agent will attempt to off-line a CPU or retire a physical memory page from service. If the agent is successful, an entry in the fault manager's ASRU cache is added for the page or CPU that was successfully retired. The -fmadm1M utility, as shown in the +fmadm8 utility, as shown in the example below, shows an entry for a memory rank that has been diagnosed as having a fault. ASRUs that the system does not have the ability to off-line, retire, or disable, will also have an entry in the ASRU cache, but they will @@ -202,7 +202,7 @@ Use fmdump -v -u <EVENT_ID> to identify the module. fault managementfault event To identify where a fault might have occurred, diagnosis engines need to have the topology for a given software or hardware system represented. -The fmd1M daemon +The fmd8 daemon provides diagnosis engines with a handle to a topology snapshot that can be used during diagnosis. Topology information is used to represent the resource, ASRU, and FRU found in each fault event. The topology can also be used to @@ -278,9 +278,9 @@ sets all these capabilities. However, if its parent nexus is not capable of supporting any one of the requested capabilities, the associated bit is cleared and returned as such to the driver. Before returning from ddi_fm_init(9F), the I/O fault services framework creates a set of fault management capability properties: fm-ereport-capable, fm-accchk-capable, fm-dmachk-capable and fm-errcb-capable. The currently supported fault management capability -level is observable by using the prtconf1M command.To make your driver support administrative selection of fault management +level is observable by using the prtconf8 command.To make your driver support administrative selection of fault management capabilities, export and set the fault management capability level properties -to the values described above in the driver.conf4 file. The fm-capable properties +to the values described above in the driver.conf5 file. The fm-capable properties must be set and read prior to calling ddi_fm_init with the desired capability list.pci_ereport_setup functionfault management pci_ereport_setup functionThe following example from the bge driver shows the bge_fm_init function, which calls the ddi_fm_init(9F) function. The bge_fm_init function is called in the bge_attach function.static void @@ -375,7 +375,7 @@ the capability bit mask currently set for dip. ENA (Error Numeric Association) fault managementENA (Error Numeric Association) The ddi_fm_ereport_post(9F) function - causes an ereport event to be queued for delivery to the fault manager daemon, fmd1M. + causes an ereport event to be queued for delivery to the fault manager daemon, fmd8. void ddi_fm_ereport_post(dev_info_t *dip, const char *error_class, uint64_t ena, @@ -1028,7 +1028,7 @@ with an error detected by the parent nexus. fault managementEversholt fault tree (eft) rules eft diagnosis rules fault managementeft diagnosis rules -The fault management daemon, fmd1M, provides a programming interface for the development +The fault management daemon, fmd8, provides a programming interface for the development of diagnosis engine (DE) plug-in modules. A DE can be written to consume and diagnose any error telemetry or specific error telemetries. The eft DE was designed to diagnose any number of ereport classes based on diagnosis rules @@ -1407,7 +1407,7 @@ all register accesses as well as direct memory access (DMA) and interrupt usage during the running of a specified workload. A script is generated that reruns that workload while injecting a set of faults into each access. The driver tester should remove duplicate test cases from the generated -scripts.bofi (bus_ops fault injection) driverth_define commandth_manage commandThe test harness is implemented as a device driver called bofi, which stands for bus_ops fault injection, and two user-level utilities, th_define1M and th_manage1M. +scripts.bofi (bus_ops fault injection) driverth_define commandth_manage commandThe test harness is implemented as a device driver called bofi, which stands for bus_ops fault injection, and two user-level utilities, th_define8 and th_manage8. The test harness does the following tasks: Validates compliant use of illumos DDI services @@ -1474,7 +1474,7 @@ bus transfer size of 8, 16, 32, or 64 bytes.DMA has a similar, yet If you have not installed this Solaris cluster, you must manually install the test harness packages appropriate for your platform.Installing the Test Harnesspkgadd command To install the test harness packages (SUNWftduu and SUNWftdur), use -the pkgadd1M command. +the pkgadd8 command. As superuser, go to the directory in which the packages are located and type:# pkgadd -d . SUNWftduu SUNWftdur Configuring the Test Harnessbofi.conf file @@ -1512,8 +1512,8 @@ of DMA functions and ensures that the driver makes compliant use of th_define command th_manage command This section describes how to create and inject faults by using the -th_define1M -and th_manage1M commands. +th_define8 +and th_manage8 commands. Creating Faults errdefdefinition @@ -1558,10 +1558,10 @@ access ( operator [ Fault-Injection Processth_define command th_manage command -The process of injecting a fault involves two phases:Use the th_define1M command +The process of injecting a fault involves two phases:Use the th_define8 command to create errdefs.Create errdefs by passing test definitions to the bofi driver, which stores the definitions so they -can be accessed by using the th_manage1M command. +can be accessed by using the th_manage8 command. Create a workload, then use the th_manage command to activate and manage the errdef.The th_manage command is a user interface to the various ioctls that are recognized by the bofi harness driver. The th_manage command operates @@ -1589,7 +1589,7 @@ the following message is printed if the driver does not detect interrupt jabber: Using Scripts to Automate the Test Process th_define command You can create fault-injection test scripts by using the logging access -type of the th_define1M utility: +type of the th_define8 utility: # th_define -n name -i instance -a log [-e fixup_script]The th_define command takes the instance offline and brings it back online. Then th_define runs the workload that is described by the fixup_script and logs @@ -1634,7 +1634,7 @@ of the driver's attach and detach path are suitable for running unassisted fault-injection tests. These scripts are created in a subdirectory of the current directory with the name driver.test.id. The scripts inject faults, one at a time, into the driver while running the workload that is described by the fixup_script.th_define commandThe driver tester has substantial control over the errdefs that -are produced by the test automation process. See the th_define1M man page. +are produced by the test automation process. See the th_define8 man page. If the tester chooses a suitable range of workloads for the test scripts, the harness gives good coverage of the hardening aspects of the driver. However, to achieve full coverage, the tester might need to create additional test diff --git a/raw/wdd/hwovr.xml b/raw/wdd/hwovr.xml index b9bd77d4..efb11099 100755 --- a/raw/wdd/hwovr.xml +++ b/raw/wdd/hwovr.xml @@ -217,7 +217,7 @@ to the system so that the system can identify the device driver that needs to be used. SBus and PCI local bus devices are examples of self-identifying devices. On SBus, the information is usually derived from a small Forth program stored in the FCode PROM on the device. Most PCI devices provide a configuration -space containing device configuration information. See the sbus4 and pci4 man pages for more information.All modern bus architectures require devices to be self-identifying. +space containing device configuration information. See the sbus5 and pci5 man pages for more information.All modern bus architectures require devices to be self-identifying. Supported Interrupt TypesThe illumos platform supports both polling and vectored interrupts. The illumos DDI/DKI interrupt model is the same for both types of interrupts. See for @@ -330,7 +330,7 @@ I/O is performed by the native load/store instructions of the processor. PCI Hardware Configuration Fileshardware configuration filesPCI devicesPCI bushardware configuration filesHardware configuration files should be unnecessary for PCI local bus devices. However, on some occasions drivers for PCI devices need to use hardware configuration files to augment the driver private information. See -the driver.conf4 and pci4 man +the driver.conf5 and pci5 man pages for further details. PCI ExpressThe standard PCI bus has evolved into PCI Express. PCI Express is the @@ -478,7 +478,7 @@ device is in a DMA-capable slot. For an example of this function, see SBus Hardware Configuration Fileshardware configuration filesSBus devicesSBushardware configuration filesHardware configuration files are normally unnecessary for SBus devices. However, on some occasions, drivers for SBus devices need to use hardware configuration files to augment the information provided by the SBus -card. See the driver.conf4 and sbus4 man +card. See the driver.conf5 and sbus5 man page for further details. @@ -541,7 +541,7 @@ without an operating system. This section describes how to use the PROM on SPARC machines to map device registers so that they can be accessed. Usually, the device can be exercised enough with PROM commands to determine whether the device is working correctly. -See the boot1M man +See the boot8 man page for a description of the x86 boot subsystem. The PROM has several purposes, including: @@ -560,7 +560,7 @@ page for a description of the x86 boot subsystem. Open Boot PROM 3 PROM commands For complete documentation on the Open Boot PROM, see the Open Boot PROM Toolkit -User's Guide and the monitor1M man page. The examples in +User's Guide and the monitor8 man page. The examples in this section refer to a Sun4U architecture. Other architectures might require different commands to perform actions. The Open Boot PROM is currently used on Sun machines with an SBus diff --git a/raw/wdd/kernelovr.xml b/raw/wdd/kernelovr.xml index 8706f471..f38b998e 100755 --- a/raw/wdd/kernelovr.xml +++ b/raw/wdd/kernelovr.xml @@ -170,17 +170,17 @@ or the processor. A typical device tree is shown in the following figure. device treedisplayingThe device tree can be displayed in three ways: The libdevinfo library provides interfaces to access the contents of the device tree programmatically. - The prtconf1M command displays the complete contents of the device tree. + The prtconf8 command displays the complete contents of the device tree. The /devices hierarchy is a representation of the device tree. Use the ls1 command to view the hierarchy. /devices displays only devices that have -drivers configured into the system. The prtconf1M command shows all device +drivers configured into the system. The prtconf8 command shows all device nodes regardless of whether a driver for the device exists on the system. <command>libdevinfo</command> Librarylibdevinfodisplaying the device treeThe libdevinfo library provides interfaces for accessing all public device configuration data. See the libdevinfo3LIB man page for a list of interfaces. <command>prtconf</command> Commandprtconf commanddisplaying the device treeThe following -excerpted prtconf1M command +excerpted prtconf8 command example displays all the devices in the system.System Configuration: Sun Microsystems sun4u Memory size: 128 Megabytes System Peripherals (Software Nodes): @@ -238,7 +238,7 @@ SUNW,Ultra-5_10 pseudo, instance #0 <filename>/devices</filename> Directory/devices directorydisplaying the device treeThe /devices hierarchy provides a namespace that represents the device tree. Following is an abbreviated listing of the /devices namespace. -The sample output corresponds to the example device tree and prtconf1M output shown +The sample output corresponds to the example device tree and prtconf8 output shown previously. /devices /devices/pseudo @@ -283,7 +283,7 @@ file. In any case, the name property represents the node name assigned to a device in the device tree. The node name is the name visible in /devices and listed -in the prtconf1M output. +in the prtconf8 output.
Device Node Names diff --git a/raw/wdd/ldi.xml b/raw/wdd/ldi.xml index 8d4ba43b..aed641ab 100755 --- a/raw/wdd/ldi.xml +++ b/raw/wdd/ldi.xml @@ -70,8 +70,8 @@ Therefore, a layered driver must obtain a layered identifier that is associated with the device number, the device information node, or the stream of the layered driver. The layered identifier is associated with the layered driver. The layered identifier is not associated with the target device.You can retrieve the kernel device usage information that is collected -by the LDI by using the libdevinfo3LIB interfaces, the fuser1M command, -or the prtconf1M command. For example, the prtconf1M command can show which target devices +by the LDI by using the libdevinfo3LIB interfaces, the fuser8 command, +or the prtconf8 command. For example, the prtconf8 command can show which target devices a layered driver is accessing or which layered drivers are accessing a particular target device. See to learn more about how to retrieve device usage information. @@ -205,7 +205,7 @@ consumers can perform operations such as read, write ldi_ioctl9F - Pass an ioctl request to the device entry point for the target device. This operation is supported for block, character, and STREAMS devices. The LDI supports STREAMS linking and STREAMS ioctl commands. See the “STREAM IOCTLS” section of the ldi_ioctl9F man page. See also the ioctl commands in the streamio7I man page. + Pass an ioctl request to the device entry point for the target device. This operation is supported for block, character, and STREAMS devices. The LDI supports STREAMS linking and STREAMS ioctl commands. See the “STREAM IOCTLS” section of the ldi_ioctl9F man page. See also the ioctl commands in the streamio4I man page. ldi_devmap9F @@ -786,7 +786,7 @@ the drv driver area on a 32-bit x86 architecture: add_drv commandLoad the driver.As user root, -use the add_drv1M command +use the add_drv8 command to load the driver. # add_drv lyr List the pseudo devices to confirm that the lyr device @@ -833,7 +833,7 @@ output of a tty command in a local terminal. An example of such a device path is /dev/pts/4.Make sure the lyr device is not in use before you update the driver to use the new target device.# modinfo -c | grep lyr 174 3 lyr UNLOADED/UNINSTALLED -Use the update_drv1M command to reload the lyr.conf configuration file: +Use the update_drv8 command to reload the lyr.conf configuration file: # update_drv lyrWrite a message to the lyr device again and verify that the message displays on the new lyr_targ device. @@ -849,8 +849,8 @@ that the message displays on the new lyr_targ device. libdevinfo device information library The LDI includes user-level library and command interfaces to report device layering and usage information. discusses the libdevinfo3LIB interfaces for reporting -device layering information. discusses the prtconf1M interfaces for reporting -kernel device usage information. discusses the fuser1M interfaces for reporting +device layering information. discusses the prtconf8 interfaces for reporting +kernel device usage information. discusses the fuser8 interfaces for reporting device consumer information. Device Information Library Interfaces @@ -958,12 +958,12 @@ The following describes the libdevinfoprtconf commanddisplaying kernel device usage information LDIprtconf command LDIdevice usage -The prtconf1M command -is enhanced to display kernel device usage information. The default prtconf1M output +The prtconf8 command +is enhanced to display kernel device usage information. The default prtconf8 output is not changed. Device usage information is displayed when you specify the -verbose option () with the prtconf1M command. Usage information +verbose option () with the prtconf8 command. Usage information about a particular device is displayed when you specify a path to that device -on the prtconf1M command line.prtconf -vDisplay device minor node and device usage information. Show +on the prtconf8 command line.prtconf -vDisplay device minor node and device usage information. Show kernel consumers and the minor nodes each kernel consumer currently has open. prtconf pathDisplay device usage information for the device specified @@ -983,8 +983,8 @@ of the path parameter can be any valid device path. Ancestor Node Usage InformationTo display usage information about a particular device and all device nodes that are ancestors of that particular device, specify the flag -with the prtconf1M command. Ancestors include all nodes up to the root of the -device tree. If you specify the flag with the prtconf1M command, +with the prtconf8 command. Ancestors include all nodes up to the root of the +device tree. If you specify the flag with the prtconf8 command, then you must also specify a device path name.% prtconf -a /dev/cfg/c0 SUNW,Sun-Fire ssm, instance #0 @@ -993,7 +993,7 @@ SUNW,Sun-Fire SUNW,isptwo, instance #0 Child Node Usage InformationTo display usage information about a particular device and all device nodes that are children of that particular device, specify the flag -with the prtconf1M command. If you specify the flag with the prtconf1M command, +with the prtconf8 command. If you specify the flag with the prtconf8 command, then you must also specify a device path name.% prtconf -c /dev/cfg/c0 SUNW,isptwo, instance #0 sd (driver not attached) @@ -1012,7 +1012,7 @@ SUNW,isptwo, instance #0 ... Layering and Device Minor Node Information – KeyboardTo display device layering and device minor node information about a -particular device, specify the flag with the prtconf1M command.% prtconf -v /dev/kbd +particular device, specify the flag with the prtconf8 command.% prtconf -v /dev/kbd conskbd, instance #0 System properties: ... @@ -1079,10 +1079,10 @@ Compare the output from this example to the output from fuser commanddisplay device usage information LDIfuser command LDIdevice usage -The fuser1M command -is enhanced to display device usage information. The fuser1M command +The fuser8 command +is enhanced to display device usage information. The fuser8 command displays device usage information only if path represents -a device minor node. The flag is valid for the fuser1M command +a device minor node. The flag is valid for the fuser8 command only if you specify a path that represents a device minor node.fuser pathDisplay information about application device consumers and kernel device consumers if path represents a device @@ -1096,12 +1096,12 @@ with the device minor node represented by path.[]). [kernel_module_name] [kernel_module_name,dev_path=path] [kernel_module_name,dev=(major,minor)] - [kernel_module_name,dev=(major,minor),dev_path=path]When the fuser1M command displays file or device users, the output consists + [kernel_module_name,dev=(major,minor),dev_path=path]When the fuser8 command displays file or device users, the output consists of a process ID on stdout followed by a character on stderr. The character on stderr describes how the file or device is being used. All kernel consumer information is displayed to stderr. No kernel consumer information is displayed -to stdout.If you do not use the flag, then the fuser1M command -reports consumers of only the device minor node that is specified by path. If you use the flag, then the fuser1M command +to stdout.If you do not use the flag, then the fuser8 command +reports consumers of only the device minor node that is specified by path. If you use the flag, then the fuser8 command reports consumers of the device node that underlies the minor node specified by path. The following example illustrates the difference in report output in these two cases.Consumers of Underlying Device NodesMost network devices clone their minor node when the device is opened. @@ -1110,7 +1110,7 @@ information might show that no process is using the device. If instead you request device usage information for the underlying device node, the usage information might show that a process is using the device. In this example, no device consumers are reported when only a device path is -passed to the fuser1M command. When the flag is used, the output +passed to the fuser8 command. When the flag is used, the output shows that the device is being accessed by udp and udp6.% fuser /dev/iprb0 /dev/iprb0: % fuser -d /dev/iprb0 diff --git a/raw/wdd/loading.xml b/raw/wdd/loading.xml index bb6d2bc7..e16c8546 100755 --- a/raw/wdd/loading.xml +++ b/raw/wdd/loading.xml @@ -24,25 +24,25 @@ code layout, compilation, packaging, and testing. Create the necessary hardware configuration files. Create a hardware configuration file unique to the device called xx.conf where xx is the prefix for - the device. This file is used to update the driver.conf4 + the device. This file is used to update the driver.conf5 file. See . For a pseudo device driver, create a - pseudo4 file. + pseudo5 file. Copy the driver to the appropriate module directory. See . - Install the device driver using add_drv1M. + Install the device driver using add_drv8. Installing the driver with add_drv is usually done as part of a postinstall - script. See . Use the update_drv1M + script. See . Use the update_drv8 command to make any changes to the driver. See . Load the driver. The driver can be loaded automatically by accessing the device. See and . Drivers can also be loaded by using the - modload1M command. + modload8 command. The modload command does not call any routines in the module and therefore is useful for testing. See . @@ -62,7 +62,7 @@ code layout, compilation, packaging, and testing. Remove the driver if necessary. - Use the rem_drv1M + Use the rem_drv8 command to remove a device driver. See and . @@ -112,16 +112,16 @@ and the public header file xxio.hdriver.conf4 man page for more information. +file. See the driver.conf5 man page for more information. Driver configuration files are required for devices that are not self-identifying. Driver configuration files are optional for self-identifying devices (SID). For self-identifying devices, the configuration file can be used to add properties into SID nodes. The following properties are examples of properties that are not set in the driver configuration file: - Drivers that use the SBus peripheral bus generally get property information from the SBus card. In cases where additional properties are needed, the driver configuration file can contain properties that are defined by sbus4. - The properties of a PCI bus can generally be derived from the PCI configuration space. In cases where private driver properties are needed, the driver configuration file can contain properties that are defined by pci4. - Drivers on the ISA bus can use additional properties that are defined by isa4. + Drivers that use the SBus peripheral bus generally get property information from the SBus card. In cases where additional properties are needed, the driver configuration file can contain properties that are defined by sbus5. + The properties of a PCI bus can generally be derived from the PCI configuration space. In cases where private driver properties are needed, the driver configuration file can contain properties that are defined by pci5. + Drivers on the ISA bus can use additional properties that are defined by isa5. @@ -135,7 +135,7 @@ add properties into SID nodes. Identify the driver module to the system through either of the following alternatives: Match the driver's name to the name of the device node. - Use either add_drv1M or update_drv1M to inform the system of the module names. + Use either add_drv8 or update_drv8 to inform the system of the module names. @@ -156,7 +156,7 @@ if you are using a 64-bit x86 kernel. The name cannot exceed 16 characters in length. Names in the range of 3-8 characters in length are preferable. If the driver must manage dev_info nodes with different -names, the add_drv1M utility +names, the add_drv8 utility can create aliases. The -i flag specifies the names of other dev_info nodes that the driver handles. The update_drv command can also modify aliases for an installed device driver. @@ -220,11 +220,11 @@ configuration file for that device. If the driver is called should be called xx.conf.On the x86 platform, device information is now supplied by the booting system. Hardware configuration files should no longer be needed, even for non-self-identifying devices.See the -driver.conf4, -pseudo4, -sbus4, +driver.conf5, +pseudo5, +sbus5, scsi_free_consistent_buf9F, -and update_drv1M +and update_drv8 man pages for more information on hardware configuration files.Arbitrary properties can be defined in hardware configuration files. Entries in the configuration file are in the form property=value, where property is the property name and value is its initial value. The configuration @@ -234,7 +234,7 @@ file approach enables devices to be configured by changing the property values.< Installing, Updating, and Removing Drivers Before a driver can be used, the system must be informed that the driver -exists. The add_drv1M utility +exists. The add_drv8 utility must be used to correctly install the device driver. After a driver is installed, that driver can be loaded and unloaded from memory without using the add_drv command.Copying the Driver to a Module Directoryloading modules module directory @@ -289,8 +289,8 @@ of the drv directory. Installing Drivers with <command>add_drv</command>loading driversadd_drv command add_drv commanddescription of -Use the add_drv1M command -to install the driver in the system. If the driver installs successfully, add_drv runs devfsadm1M to +Use the add_drv8 command +to install the driver in the system. If the driver installs successfully, add_drv runs devfsadm8 to create the logical names in the /dev directory.# add_drv xxIn this case, the device identifies itself as xx. The device special files have default ownership and permissions (0600 root sys). The add_drv command also allows additional names for the device (aliases) to be specified. See @@ -309,32 +309,32 @@ by a program that is run at driver installation time. device driversmodifying permissions device driversaliases minor device nodemodifying permissions of -Use the update_drv1M command to notify the system of any changes to an +Use the update_drv8 command to notify the system of any changes to an installed device driver. By default, the system re-reads the driver configuration file and reloads the driver binary module. Removing the Driver -To remove a driver from the system, use the rem_drv1M command, and then delete +To remove a driver from the system, use the rem_drv8 command, and then delete the driver module and configuration file from the module path. A driver cannot -be used again until that driver is reinstalled with add_drv1M. The removal +be used again until that driver is reinstalled with add_drv8. The removal of a SCSI HBA driver requires a reboot to take effect. Loading and Unloading Drivers Opening a special file (accessing the device) that is associated with -a device driver causes that driver to be loaded. You can use the modload1M command to load the driver +a device driver causes that driver to be loaded. You can use the modload8 command to load the driver into memory, but modload does not call any routines in the module. The preferred method is to open the device.Normally, the system automatically unloads device drivers when the device -is no longer in use. During development, you might want to use modunload1M to unload +is no longer in use. During development, you might want to use modunload8 to unload the driver explicitly. In order for modunload to be successful, the device driver must be inactive. No outstanding references to the device should exist, such as through open2 or mmap2. modunload commanddescription ofunloading driversThe modunload command takes -a runtime-dependent module_id as an argument. To find the module_id, use grep to search the output of modinfo1M for the driver name in question. +a runtime-dependent module_id as an argument. To find the module_id, use grep to search the output of modinfo8 for the driver name in question. Check in the first column.# modunload -i module-idTo unload all currently unloadable modules, specify module ID zero:# modunload -i 0In addition to being inactive, the driver must have working detach9E and _fini9E routines -for modunload1M to +for modunload8 to succeed. Driver Packagingdevice driverspackagingpackagingThe normal delivery vehicle for software is to create a package that contains all of @@ -346,7 +346,7 @@ scripts are two such control files. Package Postinstall After a package with a driver binary is installed onto a system, the -add_drv1M command must +add_drv8 command must be run. The add_drv command completes the installation of the driver. Typically, add_drv is run in a postinstall script, as in the following example.#!/bin/sh @@ -400,7 +400,7 @@ exit 0 Package Preremove -When removing a package that includes a driver, the rem_drv1M command must be run prior +When removing a package that includes a driver, the rem_drv8 command must be run prior to removing the driver binary and other components. The following example demonstrates a preremove script that uses the rem_drv command for driver removal.#!/bin/sh @@ -461,7 +461,7 @@ one address, that driver is likely to work as well with a different address. On the other hand, a special I/O control call might have different effects depending on the particular device configuration.Loading the driver with varying configurations ensures that the probe9E and attach9E entry points can find the device at different addresses. For basic functional testing, -using regular UNIX commands such as cat1 or dd1M is +using regular UNIX commands such as cat1 or dd8 is usually sufficient for character devices. Mounting or booting might be required for block devices. Functionality TestingtestingfunctionalityAfter a driver has been completely tested for configuration, all @@ -540,12 +540,12 @@ any optional packages. types of standard devices.Tape Driverstestingtape drivers Tape drivers should be tested by performing several archive and restore operations. The cpio1 and tar1 commands can be used for this -purpose. Use the dd1M command +purpose. Use the dd8 command to write an entire disk partition to tape. Next, read back the data, and write the data to another partition of the same size. Then compare the two copies. The mt1 command can exercise most of the I/O controls that are specific to tape drivers. See -the mtio7I man +the mtio4I man page. Try to use all the options. These three techniques can test the error-handling capabilities of tape drivers: @@ -568,7 +568,7 @@ and over again does not really exercise the driver. The page cache can be forced to retrieve data from the device by memory-mapping the file with mmap2. Then use msync3C to invalidate the in-memory copies. Copy another (unmounted) partition of the same size to the raw device. -Then use a command such as fsck1M to +Then use a command such as fsck8 to verify the correctness of the copy. The new partition can also be mounted and then later compared to the old partition on a file-by-file basis. Asynchronous Communication Driversasynchronous communication driverstestingtestingasynchronous communication driversAsynchronous diff --git a/raw/wdd/mt.xml b/raw/wdd/mt.xml index 6c8732d9..7773748d 100755 --- a/raw/wdd/mt.xml +++ b/raw/wdd/mt.xml @@ -334,7 +334,7 @@ concurrency. Generally, use one mutex per data structure, a condition variable f kmem_alloc9F with KM_SLEEP. -To look at lock usage, use lockstat1M. lockstat1M monitors all kernel lock events, gathers frequency and timing data about the events, and displays the data.See the Multithreaded Programming Guide for more details on multithreaded operations. +To look at lock usage, use lockstat8. lockstat8 monitors all kernel lock events, gathers frequency and timing data about the events, and displays the data.See the Multithreaded Programming Guide for more details on multithreaded operations. Potential Locking Pitfalls mutexrelated panicsMutexes are not re-entrant by the same thread. If you already own the mutex, attempting to claim this mutex a second time leads to the following panic: diff --git a/raw/wdd/powermgt.xml b/raw/wdd/powermgt.xml index 73e251c3..6aff8311 100755 --- a/raw/wdd/powermgt.xml +++ b/raw/wdd/powermgt.xml @@ -31,8 +31,8 @@ As part of power management, system software checks for idle devices. The Power Management framework exports interfaces that enable communication between the system software and the device driver.The illumos Power Management framework provides the following features for device power management:A device-independent model for power-manageable devices. -dtpower1M, a tool for configuring workstation power management. -Power management can also be implemented through the power.conf4 and /etc/default/power files. +dtpower8, a tool for configuring workstation power management. +Power management can also be implemented through the power.conf5 and /etc/default/power files. A set of DDI interfaces for notifying the framework about power management compatibility and idleness state. @@ -46,13 +46,13 @@ and processes later. Restore the state later. System power management is currently implemented -only on some SPARC systems supported by illumos. See the power.conf4 man page for +only on some SPARC systems supported by illumos. See the power.conf5 man page for more information. The System Power Management framework in illumos provides the following features for system power management:A platform-independent model of system idleness. -pmconfig1M, +pmconfig8, a tool for configuring workstation power management. Power management can -also be implemented through the power.conf4 and /etc/default/power files. +also be implemented through the power.conf5 and /etc/default/power files. A set of interfaces for the device driver to override the method for determining which drivers have hardware state. A set of interfaces to enable the framework to call into the @@ -151,7 +151,7 @@ the framework of the power level. The driver informs the framework of a power level change by calling pm_power_has_changed9F. The system calculates a default threshold for each potential power transition. These thresholds are based on the system idleness threshold. The default thresholds -can be overridden using pmconfig or power.conf4. Another default threshold +can be overridden using pmconfig or power.conf5. Another default threshold based on the system idleness threshold is used when the component power level is unknown. Power Management Dependenciesdevice power managementdependency @@ -161,10 +161,10 @@ powered down. For example, if a CD-ROM drive is allowed to power down, necessary functions, such as the ability to eject a CD, might be lost.To prevent a device from powering down independently, you can make that device dependent on another device that is likely to remain powered on. Typically, a device is made dependent upon a frame buffer, because a monitor is generally -on whenever a user is utilizing a system./etc/power.conf filedevice dependenciespower.conf file/etc/power.conf fileThe power.conf4file specifies the dependencies +on whenever a user is utilizing a system./etc/power.conf filedevice dependenciespower.conf file/etc/power.conf fileThe power.conf5file specifies the dependencies among devices. (A parent node in the device tree implicitly depends upon its children. This dependency is handled automatically by the power management -framework.) You can specify a particular dependency with a power.conf4 entry of this +framework.) You can specify a particular dependency with a power.conf5 entry of this form:device-dependency dependent-phys-path phys-pathdevice-dependencypower.conf entryWhere dependent-phys-path is the device that is kept powered up, such as the CD-ROM drive. phys-path represents the device whose power state is to be depended on, such as the frame buffer.device-dependency-propertypower.conf entryAdding an entry to power.conf for every new device that is plugged into the system would be @@ -173,8 +173,8 @@ general fashion:device-dependency-property p an entry mandates that any device that exports the property property must be dependent upon the device named by phys-path. Because this dependency applies especially to removable-media devices, /etc/power.conf includes the following line by default:device_dependent-property removable-media /dev/fbWith this syntax, no device that exports the removable-media property can be powered down unless the console frame buffer is also powered -down.For more information, see the power.conf4 and removable-media9P man pages. -Automatic Power Management for DevicesIf automatic power management is enabled by pmconfig or power.conf4, then all +down.For more information, see the power.conf5 and removable-media9P man pages. +Automatic Power Management for DevicesIf automatic power management is enabled by pmconfig or power.conf5, then all devices with a pm-components9P property automatically will use power management. After a component has been idle for a default period, the component is automatically lowered to the next lowest power level. The default period is calculated by @@ -182,8 +182,8 @@ the power management framework to set the entire device to its lowest power state within the system idleness threshold.By default, automatic power management is enabled on all SPARC desktop systems first shipped after July 1, 1999. This feature is disabled by default for all other systems. To determine whether automatic power management -is enabled on your machine, refer to the power.conf4 man page for instructions. -power.conf4 can +is enabled on your machine, refer to the power.conf5 man page for instructions. +power.conf5 can be used to override the defaults calculated by the framework. Device Power Management Interfacesdevice power managementinterfacesA device driver that supports a device with power-manageable components must create a pm-components9P property. This property indicates to the system that @@ -191,7 +191,7 @@ the device has power-manageable components. pm-components als tells the system which power levels are available. The driver typically informs the system by calling ddi_prop_update_string_array9F from the driver's attach9E entry -point. An alternative means of informing the system is from a driver.conf4 file. See +point. An alternative means of informing the system is from a driver.conf5 file. See the pm-components9P man page for details.Busy-Idle State Transitionsdevice power managementstate transitionsThe driver must keep the framework informed of device state transitions from idle to busy or busy to idle. Where these transitions happen is entirely device-specific. The transitions between the @@ -412,8 +412,8 @@ model. The model includes the following components:autoshutdown threshold. This behavior is enabled by default for SPARC desktop systems first shipped -after October 1, 1995 and before July 1, 1999. See the power.conf4man page for more information. -Autoshutdown can be overridden using dtpower1M or power.conf4. +after October 1, 1995 and before July 1, 1999. See the power.conf5man page for more information. +Autoshutdown can be overridden using dtpower8 or power.conf5. Busy StateThe busy state of the system can be measured in several ways. The currently supported built-in metric items are keyboard characters, mouse activity, tty characters, load average, disk reads, and NFS requests. Any one of these items can make the system busy. In addition to the built-in metrics, @@ -438,7 +438,7 @@ power management properties, see the pm-components< Automatic Power Management for Systems system power managementpolicyThe system is shut down if the following conditions apply: - Autoshutdown is enabled by dtpower1M or power.conf4. + Autoshutdown is enabled by dtpower8 or power.conf5. The system has been idle for autoshutdown threshold minutes. All of the metrics that are specified in power.conf have been satisfied. diff --git a/raw/wdd/properties.xml b/raw/wdd/properties.xml index c79885b6..b6a4d9a3 100755 --- a/raw/wdd/properties.xml +++ b/raw/wdd/properties.xml @@ -45,8 +45,8 @@ FALSE, for example auto-boot?. Predefined property names are listed in publications of the IEEE 1275 Working Group. See http://playground.sun.com/1275/ for information about how to obtain these publications. For a discussion of adding -properties in driver configuration files, see the driver.conf4 man page. The pm9P and pm-components9P man pages show how properties are used in power management. -Read the sd7D man +properties in driver configuration files, see the driver.conf5 man page. The pm9P and pm-components9P man pages show how properties are used in power management. +Read the sd4D man page as an example of how properties should be documented in device driver man pages. Creating and Updating PropertiesTo create a property for a driver, or to update an existing property, @@ -70,7 +70,7 @@ a description of using a local instance of a property value to avoid using propertiesprtconfprtconf commanddisplaying propertiesFor example, the esp driver in the following example maintains an integer property -called targetx-sync-speed for each target. The x in targetx-sync-speed represents the target number. The prtconf1M command displays +called targetx-sync-speed for each target. The x in targetx-sync-speed represents the target number. The prtconf8 command displays driver properties in verbose mode. The following example shows a partial listing for the esp driver.% prtconf -v ... diff --git a/raw/wdd/scsi.xml b/raw/wdd/scsi.xml index 726566c0..b9c1d02b 100755 --- a/raw/wdd/scsi.xml +++ b/raw/wdd/scsi.xml @@ -187,7 +187,7 @@ are listed in the following table. Hardware Configuration Filehardware configuration filesSCSI target devicesconfiguration files, hardwarehardware configuration filesBecause SCSI devices are not self-identifying, a hardware configuration file is required -for a target driver. See the driver.conf4 and scsi_free_consistent_buf9F man pages +for a target driver. See the driver.conf5 and scsi_free_consistent_buf9F man pages for details. The following is a typical configuration file:name="xx" class="scsi" target=2 lun=0;propertiesclass propertySCSI target driverpropertiesThe system reads the file during autoconfiguration. The system uses the class property to identify the driver's possible parent. Then, the system attempts to attach the driver to any parent @@ -975,7 +975,7 @@ command completed successfully and decode the sense data. Dump Handling The dump9E entry point copies a portion of virtual address space directly to the specified -device in the case of system failure or checkpoint operation. See the cpr7 and dump9E man pages. The dump9E entry point must be capable of performing +device in the case of system failure or checkpoint operation. See the cpr4 and dump9E man pages. The dump9E entry point must be capable of performing this operation without the use of interrupts.The arguments for dump are as follows:devDevice number of the dump device addrKernel virtual address at which to start the dump diff --git a/raw/wdd/scsihba.xml b/raw/wdd/scsihba.xml index c7d5e667..72c1a228 100755 --- a/raw/wdd/scsihba.xml +++ b/raw/wdd/scsihba.xml @@ -2285,7 +2285,7 @@ any target driver I/O requests in the queue. Installing HBA Drivers A SCSI HBA driver is installed in similar fashion to a leaf driver. -See . The difference is that the add_drv1M command must specify the +See . The difference is that the add_drv8 command must specify the driver class as SCSI, such as: # add_drv -m" * 0666 root root" -i'"pci1077,1020"' -c scsi isp @@ -2327,7 +2327,7 @@ uses that value rather than the per-HBA driver instance scsi-optionsscsi-options property can be defined in -the driver.conf4 file. +the driver.conf5 file. The following example shows a per-target scsi-options property definition to disable synchronous data transfer for target device 3: target3-scsi-options=0x2d8 @@ -2345,8 +2345,8 @@ Some x86 SCSI target drivers, such as the driver for cmdk dis SCSI HBA driverpropertiesIf you use the cmdk sample driver to write an HBA driver for an x86 platform, any appropriate properties must be defined -in the driver.conf4 file. -These property definitions should appear only in an HBA driver's driver.conf4 file. The +in the driver.conf5 file. +These property definitions should appear only in an HBA driver's driver.conf5 file. The HBA driver itself should not inspect or attempt to interpret these properties in any way. These properties are advisory only and serve as an adjunct to the cmdk driver. The properties should not be relied upon @@ -2373,7 +2373,7 @@ value for the disk property is: is full, the driver returns TRAN_BUSY -The following example is a driver.conf4 file for use with an x86 HBA +The following example is a driver.conf5 file for use with an x86 HBA PCI device that has been designed for use with the cmdk sample driver: # diff --git a/raw/wdd/usb.xml b/raw/wdd/usb.xml index 6dc0c729..907c7204 100755 --- a/raw/wdd/usb.xml +++ b/raw/wdd/usb.xml @@ -206,7 +206,7 @@ to the interface. The most general multiple interface entry is usb,devi 2. 'usb471,101' Vendor 471, product 101 3. 'usb,device' Generic USB device device driversusb_mid USB multi-interface driverUSB driversusb_mid USB multi-interface driverusb_mid USB multi-interface driverThe name usb,device is a compatible -name that represents any whole USB device. The usb_mid7D driver (USB multiple-interface +name that represents any whole USB device. The usb_mid4D driver (USB multiple-interface driver) binds to the usb,device device node if no other driver has claimed the whole device. The usb_mid driver creates a child device node for each interface of the physical device. The usb_mid driver also generates a set of compatible names for each @@ -260,9 +260,9 @@ name. For each interface shown in the indented list, the prtconfusb_ia USB interface association driver If the device includes an interface-association descriptor, the device tree can be parsed at the following three levels: - The usb_mid7D USB multi-interface driver binds to device level nodes of a composite device if no vendor or class-specific driver is available. + The usb_mid4D USB multi-interface driver binds to device level nodes of a composite device if no vendor or class-specific driver is available. A client driver is bound to the interface association nodes. - The usb_ia7D USB interface association driver is bound by default if no client driver is found. Then client drivers can be bound to the interface level of this interface association. + The usb_ia4D USB interface association driver is bound by default if no client driver is found. Then client drivers can be bound to the interface level of this interface association. The usb_mid driver creates an ia (interface association) node for each ia. The compatible names of ia nodes generally begin with usbia. The name usb,ia is a compatible name that represents any ia as @@ -305,8 +305,8 @@ and audio drivers are bound to the interface of the audio ia. The file /etc/driver_aliases contains entries for the bindings that already exist on a system. Each line of the /etc/driver_aliases file shows a driver name, followed by a space, followed by a device name. Use this file to check existing device driver bindings.Do not edit the /etc/driver_aliases file -manually. Use the add_drv1M command -to establish a binding. Use the update_drv1M command to change a binding. +manually. Use the add_drv8 command +to establish a binding. Use the update_drv8 command to change a binding. Basic Device AccessThis section describes how to access a USB device and how to register @@ -1018,7 +1018,7 @@ dismantling. hubd USB hub driver The sequence of events for hot insertion of a USB device is as follows: - The hub driver, hubd7D, waits for a port connect status change. + The hub driver, hubd4D, waits for a port connect status change. The hubd driver detects a port connect. The hubd driver enumerates the device, creates child device nodes, and attaches client drivers. Refer to for compatible names definitions. The client driver manages the device. The driver is in the ONLINE state. @@ -1036,9 +1036,9 @@ dismantling. entry pointsdetach functionhot removal The sequence of events for hot removal of a USB device is as follows: - The hub driver, hubd7D, waits for a port connect status change. + The hub driver, hubd4D, waits for a port connect status change. The hubd driver detects a port disconnect. - The hubd driver sends a disconnect event to the child client driver. If the child client driver is the hubd driver or the usb_mid7D multi-interface driver, then the child client driver propagates the event to its children. + The hubd driver sends a disconnect event to the child client driver. If the child client driver is the hubd driver or the usb_mid4D multi-interface driver, then the child client driver propagates the event to its children. The client driver receives the disconnect event notification in kernel thread context. Kernel thread context enables the driver's disconnect handler to block. The client driver moves to the DISCONNECTED state. Outstanding I/O transfers fail with the completion reason of device not responding. All new I/O transfers and attempts to open the device node also fail. The client driver is not required to close pipes. The driver is required to save the device and driver context that needs to be restored if the device is reconnected. The hubd driver attempts to offline the OS device node and its children in bottom-up order. @@ -1075,7 +1075,7 @@ device, the port remains unavailable. The following events take place if a previously-removed device is reinserted into the same port while the device node of the device is still open: - The hub driver, hubd7D, detects a port connect. + The hub driver, hubd4D, detects a port connect. The hubd driver restores the bus address and the device configuration. The hubd driver cancels the offline retry request. The hubd driver sends a connect event to the client driver. @@ -1262,7 +1262,7 @@ information on the usbskel driver. deviceinterface number USB deviceinterface number USB functionsusb_get_if_number function -If you are using a multiple-interface device where the usb_mid7D driver is making only one +If you are using a multiple-interface device where the usb_mid4D driver is making only one of its interfaces available to the calling driver, you might need to know the number of the interface to which the calling driver is bound. Use the usb_get_if_number9F function to do any of the following tasks:Return the number of the interface to which the calling driver is bound. The usb_get_if_number9F function returns an interface number @@ -1282,7 +1282,7 @@ bind to the entire device by using a compatible name that contains vendor ID, product ID, and revision ID. A driver that is bound to an entire composite device must manage all the interfaces of that device as a nexus driver would. In general, you should not bind your driver to an entire composite device. -Instead, you should use the generic multiple-interface driver usb_mid7D.Use the usb_owns_device9F function to determine whether a driver owns an entire +Instead, you should use the generic multiple-interface driver usb_mid4D.Use the usb_owns_device9F function to determine whether a driver owns an entire device. The device might be a composite device. The usb_owns_device9F function returns TRUE if the driver owns the entire device. Multiple-Configuration DevicesUSB driversset configuration @@ -1301,7 +1301,7 @@ device into interface nodes. Use the usb_get_cfg You can use either of the following two methods to request a different configuration. Using either of these two methods to modify the device configuration -ensures that the USBA module remains in sync with the device.Use the cfgadm_usb1M command. +ensures that the USBA module remains in sync with the device.Use the cfgadm_usb8 command. Call the usb_set_cfg9F function from the driver.Because changing device configuration affects an entire device, the client driver must meet all of the following criteria to call the usb_set_cfg9F function successfully:The client driver must own the entire device. The device must have no child nodes, because other drivers diff --git a/raw/zfs-admin/zfsfs.xml b/raw/zfs-admin/zfsfs.xml index b5253232..544b17d1 100644 --- a/raw/zfs-admin/zfsfs.xml +++ b/raw/zfs-admin/zfsfs.xml @@ -51,7 +51,7 @@ In this example, the newly created bonwick file system is at /tank/home/bonwick. For more information about automanaged mount points, see . For more information about the zfs create command, -see zfs1M. +see zfs8. You can set file system properties when the file system is created. In the following example, a mount point of /export/zfs is specified and is created for the tank/home file system. @@ -846,7 +846,7 @@ tank/home/chua/projects 16K 4.81G 9.0K /tank/home/chua/projects tank/home/chua/projects/fs1 8K 4.81G 8K /tank/home/chua/projects/fs1 tank/home/chua/projects/fs2 8K 4.81G 8K /tank/home/chua/projects/fs2 For additional information about the zfs list command, -see zfs1M. +see zfs8. Creating Complex ZFS Queries @@ -960,7 +960,7 @@ system: with the exception of mountpoint and sharenfs. The values of these properties can have mixed upper and lower case letters. For more information about the zfs set command, -see zfs1M. +see zfs8. Inheriting ZFS Properties @@ -999,7 +999,7 @@ have. Be aware that the use of the option clears the current property setting for all descendent datasets. -For more information about the zfs command, see zfs1M. +For more information about the zfs command, see zfs8. Querying ZFS Properties @@ -1113,7 +1113,7 @@ or file systems. For example: tank/home atime off local tank/home/bonwick atime off local tank/home/marks quota 50G local -For more information about the zfs get command, see zfs1M. +For more information about the zfs get command, see zfs8. Querying ZFS Properties for Scripting The zfs get command supports the and options, which are designed for scripting. The option @@ -1323,7 +1323,7 @@ a file system that is currently mounted: NAME PROPERTY VALUE SOURCE tank/home/perrin atime off temporary For more information about the zfs mount command, -see zfs1M. +see zfs8. Unmounting ZFS File Systems @@ -1345,7 +1345,7 @@ cannot unmount '/export/home/eschrock': Device busy can be used to unmount ZFS file systems. For example: # umount /export/home/bob For more information about the zfs umount command, -see zfs1M. +see zfs8. Sharing and Unsharing ZFS File Systems diff --git a/raw/zfs-admin/zfsover.xml b/raw/zfs-admin/zfsover.xml index a60faa70..4c5ace5d 100644 --- a/raw/zfs-admin/zfsover.xml +++ b/raw/zfs-admin/zfsover.xml @@ -291,7 +291,7 @@ users delegation on default NAME PROPERTY VALUE SOURCE users delegation off local By default, the delegation property is enabled. -For more information, see and zfs1M. +For more information, see and zfs8. Setting Up Separate ZFS Logging DevicesSolaris Express Developer Edition 9/07: The ZFS intent log (ZIL) is provided to satisfy POSIX requirements for synchronous transactions. For example, databases often require their transactions to be @@ -345,7 +345,7 @@ additional properties are disabled for the intermediate dataset. For example:

-For more information, see zfs1M. +For more information, see zfs8.
ZFS Hotplugging Enhancements @@ -374,7 +374,7 @@ to configure a SATA drive.
Hot spares are checked periodically to make sure they are online and available. -
For more information, see zpool1M. +
For more information, see zpool8. Recursively Renaming ZFS Snapshots (<command>zfs rename</command> <option>r</option>)Solaris Express Developer Edition 5/07: You can recursively rename all descendent ZFS snapshots by using the zfs @@ -485,7 +485,7 @@ zfs nfs=() /tank/data/1 /tank/data/2 /tank/data/3 -For more information, see sharemgr1M. +For more information, see sharemgr8. ZFS Command History (<command>zpool history</command>)Solaris Express 12/06: In this Solaris release, ZFS automatically logs successful zfs and zpool commands that modify pool state information. For example:# zpool history History for 'newpool': @@ -569,26 +569,26 @@ which means that one or two device failures can be sustained respectively, without any data loss. You can specify the raidz2 keyword for a double-parity RAID-Z configuration. Or, you can specify the raidz or raidz1 keyword for a single-parity RAID-Z configuration. -For more information, see or zpool1M. +For more information, see or zpool8. Hot Spares for ZFS Storage Pool DevicesSolaris Express 7/06: The ZFS hot spares feature enables you to identify disks that could be used to replace a failed or faulted device in one or more storage pools. Designating a device as a hot spare means that if an active device in the pool fails, the hot spare automatically replaces the failed device. Or, you can manually replace a device in a storage pool with a hot spare. -For more information, see and zpool1M. +For more information, see and zpool8. Replacing a ZFS File System With a ZFS Clone (<command>zfs promote</command>)Solaris Express 7/06: The zfs promote command enables you to replace an existing ZFS file system with a clone of that file system. This feature is helpful when you want to run tests on an alternative version of a file system and then, make that alternative version of the file system the active file system. -For more information, see and zfs1M. +For more information, see and zfs8. Upgrading ZFS Storage Pools (<command>zpool upgrade</command>)Solaris Express 6/06: You can upgrade your storage pools to a newer version to take advantage of the latest features by using the zpool upgrade command. In addition, the zpool status command has been modified to notify you when your pools are running older versions. -For more information, see and zpool1M. +For more information, see and zpool8. If you want to use the ZFS Administration console on a system with a pool from a previous Solaris release, make sure you upgrade your pools before using the ZFS Administration console. To see if your pools need to be upgraded, @@ -659,7 +659,7 @@ release includes the zpool clear command for clearing error counts associated with a device or the pool. Previously, error counts were cleared when a device in a pool was brought online with the zpool online command. For more information, see -zpool1M and . +zpool8 and . Compact NFSv4 ACL Format @@ -683,7 +683,7 @@ activity.$ fsstat zfs new name name attr attr lookup rddir read read write write file remov chng get set ops ops ops bytes ops bytes 7.82M 5.92M 2.76M 1.02G 3.32M 5.60G 87.0M 363M 1.86T 20.9M 251G zfs -For more information, see fsstat1M. +For more information, see fsstat8. ZFS Web-Based ManagementSolaris Express 1/06: A web-based ZFS management tool is available to perform many administrative actions. With this tool, you can perform the following tasks:Create a new storage pool.