Previous - Up - Next

15.3   Help System

The most useful Simics commands are grouped into categories. To list these categories, just type help at the command prompt. The list should look like this:

simics> help
[...]
To get you started, here is a list of command categories:
  Breakpoints
  Changing Simulated State
  Command-Line Interface
  Configuration
  Debugging
  Disk
  Ethernet
  Execution
  Files and Directories
  Haps
  Help
  Inspecting Simulated State
  Light Edition
  Logging
  Memory
  Modules
  Output
  Profiling
  Python
  Real Network
  Registers
  Remote Access
  Simics Central
  Simics Search Path
  Speed
  Symbolic Debugging
  Test
  Tracing
[...]

Note that since Simics's configuration can change between sessions and even dynamically through loading modules, the commands and command categories may look different.

Type help category for a list of commands, e.g., help "Changing Simulated State" will list all commands belonging to that category:

simics> help "Changing Simulated State"
Commands available in category Changing Simulated State
  set-pc                  set the current processor's program counter
  set                     set physical address to specified value
  <image>.set             set bytes in image to specified value
  load-file               load file into memory
  load-binary             load binary (executable) file into memory
  <processor>.write-reg   write to register
  write-reg               write to register
  penable                 switch processor on

Type help command to print the documentation for a specific command.

The help command can do much more than printing command documentation: it gives you access to nearly all Simics documentation on commands, classes, modules, interfaces, API types and functions, haps and more according to the configuration loaded in the simulator. All documentation is also available in the Simics Reference Manual.

Here are some more examples of usage of the help command:

simics> help ptime
[... ptime command documentation ...]

simics> help cpu0.disassemble
[... <processor>.disassemble command documentation ...]

simics> help <processor>.disassemble
[... <processor>.disassemble command documentation ...]

simics> help cpu0
[... <ultrasparc-iii-i> class documentation ...]

simics> help ultrasparc-iii-i
[... <ultrasparc-iii-i> class documentation ...]

simics> help processor
[... <processor> interface documentation ...]

simics> help cpu0.reorder_buffer_size
[... <ultrasparc-iii-i>.reorder_buffer_size attribute documentation ...]

simics> help ultrasparc-iii-i.windowed_registers
[... <ultrasparc-iii-i>.windowed_registers attribute documentation ...]

simics> help Core_Exception
[... Core_Exception hap documentation ...]

simics> help SIM_get_mem_op_type
[... SIM_get_mem_op_type() function declaration ...]

simics> help sparc-u3-turbo
[... sparc-u3-turbo module documentation ...]

When a name matches several help topics (for example, a command and an attribute, or a module and a class), help will print out the first topic coming in this order: command categories, commands, classes, interfaces, haps, modules, attributes, API functions and symbols. It will also inform you at the end of the documentation output that other topics were matching your search:

simics> help cheerio-hme
[... cheerio-hme class documentation ...]
     
Note that your request also matched other topics:
  module:cheerio-hme

If you type help module:cheerio-hme, the module documentation will be printed instead:

 
simics> help module:cheerio-hme
[... cheerio-hme module documentation ...]

You can use specifiers like module: or class: at any time. It will also allow the help command to provide you better tab-completion, since only items in the selected category of documentation will be proposed. The following specifiers are available: object:, class:, command:, attribute:, interface:, module:, api:, hap: and category:.


Note: By default, help does not propose tab-completion for modules and API symbols, because they tend not to be the most searched for and would clutter the tab-completion propositions unnecessarily. You can get tab-completion for those by specifying module: or api: in front of what you are looking for.

The apropos command can search for keywords in the documentation provided by help. Type apropos keyword to get a list of all documentation topics matching this keyword.

simics> apropos step
The text 'step' appears in the documentation
for the following items:
 
Command        <processor>.cycle-break-absolute
Command        <processor>.step-break
Command        <processor>.step-break-absolute
Command        cycle-break-absolute
Command        log-setup
Command        print-event-queue
[...]
Attribute      <ultrasparc-iii>.steps
Hap            Core_Step_Count

simics>

Previous - Up - Next