Go to main content

Oracle® OpenBoot 4.x Administration Guide

Exit Print View

Updated: June 2020
 
 

Display the Device Tree

Device tree browsing enables you to examine and modify individual device tree nodes. The active package is the device node that you can examine and modify with subsequent node examination commands. Selecting a device node makes it the active package. When a node is the active package, user-created FORTH commands are added to the list of methods for that device. You can add new properties to the list of properties for that device. Dictionary search commands will operate on the node's list of methods (followed by system FORTH words), and that node's methods can be executed as FORTH words by typing their names.

For a list of commands, see Commands for Browsing the Device Tree.

  1. Access the OpenBoot CLI.

    See Accessing the OpenBoot CLI and Getting Help.

  2. Use the show-devs command to see the all of the full device path names in the device tree.

    For example:

    {0} ok show-devs
    /pci@345
    /pci@344
    /pci@343
    /pci@342
    /pci@341
    /cpu@d40
    /cpu@d3f
    /cpu@d3e
    /cpu@d3d
    /cpu@d3c
    /pci@345/pci@1
    /pci@344/pci@1
    /pci@343/pci@2
    /pci@343/pci@2/usb@0
    /pci@343/pci@2/usb@0/storage@1
    /pci@343/pci@2/usb@0/storage@1/disk
    /pci@342/pci@1
  3. Display the properties of a node.

    For example:

    {0} ok show-props /memory
    reg                      00000000 50000000 0000001f 60000000
                             00004000 00000000 0000001f d0000000
                             00008000 00000000 0000003f d0000000
                             0000c000 00000000 0000003f d0000000
                             00010000 00000000 0000003f d0000000
                             00014000 00000000 0000003f d0000000
                             00018000 00000000 0000003f d0000000
                             0001c000 00000000 0000001f d0000000
    available                0001c01f ce790000 00000000 00002000
                             0001c000 00000000 0000001f ce780000
                             00018000 00000000 0000003f d0000000
                             00014000 00000000 0000003f d0000000
                             00010000 00000000 0000003f d0000000
                             0000c000 00000000 0000003f d0000000
                             00008000 00000000 0000003f d0000000
                             00004000 00000000 0000001f d0000000
                             00000000 90000000 0000001f 20000000
                             00000000 8fe00000 00000000 0002a000
                             00000000 50400000 00000000 3e9c0000
    name                     memory
    {0} ok 
  4. Select a node and display its properties.

    The dev device-path command makes the node the active package.

    For example:

    {0} ok dev /pci@301/pci@2/scsi@0
    {0} ok .properties
    firmware-version         5.00.00.00
    mpt-version              2.05
    local-wwid               50 80 02 00 01 aa 37 58
    vf-assigned-addresses    83020000 00000001 00010000 00000000 00010000
    assigned-addresses       81020010 00000000 00000000 00000000 00000100
                             83020014 00000001 00000000 00000000 00010000
                             82020030 00000000 00100000 00000000 00100000
    vf-reg                   03020000 00000000 00000000 00000000 00010000
    compatible               pciex1000,97
                             pci1000,97
    model                    LSI,3008
    reg                      00020000 00000000 00000000 00000000 00000000
                             01020010 00000000 00000000 00000000 00000100
                             03020014 00000000 00000000 00000000 00010000
                             02020030 00000000 00000000 00000000 00100000
    version                  1.00.64
    wide                     00000010
    device_type              scsi-sas
    name                     scsi
    #address-cells           00000004
    vf-stride                00000001
    first-vf-offset          00000001
    total-vfs                00000010
    initial-vfs              00000010
    #vfs                     00000010
    port-type                PCIE-Endpoint
    interrupts               00000001
    cache-line-size          00000010
    class-code               00010700
    subsystem-id             00000090
    subsystem-vendor-id      00001000
    revision-id              00000002
    device-id                00000097
    vendor-id                00001000
    {0} ok
  5. Display the names of the methods of the current node.
    {0} ok dev /pci@300/pci@2/disk@w5000cca123456789,0:a
    {0} ok words
    size          load          write         read          seek 
    close         open          write-blocks64 
    read-blocks64 write-blocks  read-blocks   max-transfer 
    r/w-blocks64  r/w-blocks    4c!           2c! 
    block-size    #blocks64     #blocks       read-block-size 
    read-block-extent           read-capacity-16-cmd 
    read-capacity-cmd           mode-sense-bd /block 
    timed-spin    sstart-cmd    init-label-package 
    report-failure              label-package offset-high 
    offset-low    set-timeout   init-deblocker 
    deblocker     eject         device-present? 
    eject-cmd     cb!           cmdbuf        /cmdbuf       4c@ 
    3c@           -c@           3c!           +c! 
    short-data-command          no-data-command 
    retry-command parent-set-address          parent-max-transfer 
    dma-free      dma-alloc
    {0} ok
  6. Find a device.

    find-device is similar to dev, differing only in the way the input path name is passed.

    {0} ok "/usb@0/ACME,widget" find-device

    Note -  After choosing a device node with dev or find-device, you can not execute that node’s methods because dev does not establish the current instance. For a detailed explanation of this issue, refer to Writing FCode 3.x Programs.

Related Information