Print this page
11581 'debug' loader option is a little obscure
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Rob Johnston <rob.johnston@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/boot/sys/boot/forth/menu-commands.4th
          +++ new/usr/src/boot/sys/boot/forth/menu-commands.4th
↓ open down ↓ 16 lines elided ↑ open up ↑
  17   17  \ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  18   18  \ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  19   19  \ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  20   20  \ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  21   21  \ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  22   22  \ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23   23  \ SUCH DAMAGE.
  24   24  \
  25   25  \ Copyright 2015 Toomas Soome <tsoome@me.com>
  26   26  \ Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
       27 +\ Copyright 2019 Joyent, Inc.
  27   28  
  28   29  marker task-menu-commands.4th
  29   30  
  30   31  include /boot/forth/menusets.4th
  31   32  
  32   33  only forth definitions
  33   34  
  34   35  variable osconsole_state
  35   36  variable acpi_state
  36   37  variable kernel_state
  37   38  variable root_state
  38   39  variable kmdb_state
  39      -variable debug_state
       40 +variable drop_into_kmdb_state
  40   41  0 kmdb_state !
  41      -0 debug_state !
       42 +0 drop_into_kmdb_state !
  42   43  0 osconsole_state !
  43   44  0 acpi_state !
  44   45  0 kernel_state !
  45   46  0 root_state !
  46   47  
  47   48  also menu-namespace also menu-command-helpers
  48   49  
  49   50  \
  50   51  \ Boot
  51   52  \
↓ open down ↓ 141 lines elided ↑ open up ↑
 193  194                  swap drop ( c-addr flag -- flag )
 194  195          then
 195  196  ;
 196  197  
 197  198  : kmdb_enable ( -- )
 198  199          s" set boot_kmdb=YES" evaluate
 199  200  ;
 200  201  
 201  202  : kmdb_disable ( -- )
 202  203          s" boot_kmdb" unsetenv
 203      -        s" boot_debug" unsetenv
      204 +        s" boot_drop_into_kmdb" unsetenv
 204  205  ;
 205  206  
 206  207  : init_kmdb ( N -- N )
 207      -        dup kmdb_state !                \ store entry number for kmdb+debug
      208 +        dup kmdb_state !                \ store entry number for kmdb+drop_into_kmdb
 208  209          kmdb_enabled? if
 209  210                  toggle_menuitem ( n -- n )
 210  211          then
 211  212  ;
 212  213  
 213  214  : toggle_kmdb ( N -- N TRUE )
 214  215          toggle_menuitem
 215  216          dup toggle_stateN @ 0= if ( kmdb is not set )
 216      -                debug_state @ if ( debug is set? )
 217      -                        debug_state @ toggle_stateN @ if ( debug is enabled? )
 218      -                                debug_state @ toggle_menuitem drop
      217 +                drop_into_kmdb_state @ if ( drop_into_kmdb is set? )
      218 +                        drop_into_kmdb_state @ toggle_stateN @ if ( drop_into_kmdb is enabled? )
      219 +                                drop_into_kmdb_state @ toggle_menuitem drop
 219  220                          then
 220  221                  then
 221  222          then
 222  223          menu-redraw
 223  224  
 224  225          \ Now we're going to make the change effective
 225  226  
 226  227          dup toggle_stateN @ 0= if
 227  228                  kmdb_disable
 228  229          else
 229  230                  kmdb_enable
 230  231          then
 231  232  
 232  233          TRUE \ loop menu again
 233  234  ;
 234  235  
 235  236  \
 236      -\ kmdb + debug
      237 +\ drop into kmdb
 237  238  \
 238  239  
 239      -: debug_disable ( -- )
 240      -        s" boot_debug" unsetenv
      240 +: drop_into_kmdb_disable ( -- )
      241 +        s" boot_drop_into_kmdb" unsetenv
 241  242  ;
 242  243  
 243      -: debug_enabled? ( -- flag )
 244      -        \ -d is only allowed with -k
 245      -        s" boot_debug" getenv -1 <> kmdb_enabled? and dup if
      244 +: drop_into_kmdb_enabled? ( -- flag )
      245 +        \ -d is only allowed with -k
      246 +        s" boot_drop_into_kmdb" getenv -1 <> kmdb_enabled? and dup if
 246  247                  swap drop ( c-addr flag -- flag )
 247  248          else
 248      -                debug_disable           \ make sure env is not set
      249 +                drop_into_kmdb_disable          \ make sure env is not set
 249  250          then
 250  251  ;
 251  252  
 252      -: debug_enable ( -- )
      253 +: drop_into_kmdb_enable ( -- )
 253  254          kmdb_enable
 254      -        s" set boot_debug=YES" evaluate
      255 +        s" set boot_drop_into_kmdb=YES" evaluate
 255  256  ;
 256  257  
 257      -: init_debug ( N -- N )
 258      -        dup debug_state !               \ store entry number for kmdb
 259      -        kmdb_enabled? debug_enabled? and if
      258 +: init_drop_into_kmdb ( N -- N )
      259 +        dup drop_into_kmdb_state !              \ store entry number for kmdb
      260 +        kmdb_enabled? drop_into_kmdb_enabled? and if
 260  261                  toggle_menuitem ( n -- n )
 261  262          then
 262  263  ;
 263  264  
 264      -: toggle_debug ( N -- N TRUE )
      265 +: toggle_drop_into_kmdb ( N -- N TRUE )
 265  266          toggle_menuitem
 266  267          kmdb_enabled? 0= if
 267  268                  kmdb_state @ toggle_menuitem drop
 268  269          then
 269  270          menu-redraw
 270  271  
 271  272          \ Now we're going to make the change effective
 272  273  
 273  274          dup toggle_stateN @ 0= if
 274      -                debug_disable
      275 +                drop_into_kmdb_disable
 275  276          else
 276      -                debug_enable
      277 +                drop_into_kmdb_enable
 277  278          then
 278  279  
 279  280          TRUE \ loop menu again
 280  281  ;
 281  282  
 282  283  \
 283  284  \ Reconfiguration boot
 284  285  \
 285  286  
 286  287  : reconfigure_enabled? ( -- flag )
↓ open down ↓ 229 lines elided ↑ open up ↑
 516  517  \ Defaults
 517  518  \
 518  519  
 519  520  : unset_boot_options
 520  521          0 acpi_state !
 521  522          s" acpi-user-options" unsetenv
 522  523          s" boot-args" unsetenv
 523  524          s" boot_ask" unsetenv
 524  525          singleuser_disable
 525  526          verbose_disable
 526      -        kmdb_disable            \ disables debug as well
      527 +        kmdb_disable            \ disables drop_into_kmdb as well
 527  528          reconfigure_disable
 528  529  ;
 529  530  
 530  531  : set_default_boot_options ( N -- N TRUE )
 531  532          unset_boot_options
 532  533          2 goto_menu
 533  534  ;
 534  535  
 535  536  \
 536  537  \ Set boot environment defaults
↓ open down ↓ 90 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX