Under Construction

Restricted Open Firmware Prompt

With the introduction of POWER9 and firmware version FW940 in PowerVM, access to Open Firmware Mode was restricted. Instead of the old Open Firmware Prompt, with direct access to the complete hardware and the FORTH interpreter, there is now only access to absolutely necessary and safety-uncritical functions via the new Restricted Open Firmware Prompt. For this purpose, the SMS menu item “8 = Open Firmware Prompt” was replaced by the new menu item “9 = Restricted Open Firmware Prompt”.

The new Restricted Open Firmware Prompt only allows so-called macros to be executed. The list of possible macros can be displayed using the MACRO_HELP macro:

0 > macro_help
>> BOOT_FROM_SEQ [ADDPARMS]
   where:
      [ADDPARMS] = additional parameters such as debug flags
                   (if not provided, boot from devices in boot-device list without debug)

>> DISPLAY_BOOTSEQ

>> SET_DEFAULT_BOOTSEQ

>> BOOT_FROM_DEVICE <DEVTYPE> <ADDRESS> [BOOTPARMS]
   where:
      DEVTYPE     = { #disk | #cd/dvd | #san | #network | #tape }
      ADDRESS     = location-code
      [BOOTPARMS] = specific to the device type
                    (see Restricted OF Prompt User Guide for examples)

>> DISPLAY_BOOT_DEVICES <DEVTYPE>
   where:
      DEVTYPE = { #disk | #cd/dvd | #san | #network | #tape | #all }

>> DISPLAY_MAC_ADDRESS <ADDRESS>
   where:
      ADDRESS = location-code

>> DISPLAY_NETWORK_PATHNAME <ADDRESS>
   where:
      ADDRESS = location-code

>> PING <ADDRESS> [PINGPARMS]
   where:
      ADDRESS     = location-code
      [PINGPARMS] = required and optional parameters
                    (see Restricted OF Prompt User Guide for examples)

>> DISPLAY_PCI_PROPS [ADDRESS]
   where:
      [ADDRESS] = location-code
                  (if not provided, all adapter PCI properties will be displayed)

>> DISPLAY_ADAPTER_WWPN [ADDRESS]
   where:
      [ADDRESS] = location-code
                  (if not provided, all adapter WWPNs will be displayed)

>> LUN_ATTACHED? <ADDRESS>
   where:
      ADDRESS = location-code

>> IS_RESTRICTED_PROMPT?

>> RESET_PARTITION

>> DISPLAY_NVRAM_VARS [VARNAME]
   where:
      [VARNAME] = variable-name
                  (if not provided, all NVRAM variables will be displayed)

>> SET_NVRAM_DEFAULTS

>> ENABLE_LANCER_DEBUG <ADDRESS>
   where:
      ADDRESS = location-code of the specific device function

>> ENABLE_SAILFISH_DEBUG

>> DISABLE_LANCER_DEBUG <ADDRESS>
   where:
      ADDRESS = location-code of the specific device function

>> DISABLE_SAILFISH_DEBUG

Usage:
   macro_name parm1 ... parmN
      <parm> = required
      [parm] = optional

ok
0 >

These approximately 20 macros essentially cover all the necessary functionalities. The spelling, large or small, doesn’t matter when it comes to macros!

Attempting to execute another command known from the Open Firmware prompt results in the following error message:

0 > printenv

Invalid command in Secured OF environment.
Type macro_help for list of valid commands.

ok
0 >