HPlogo System Debug Reference Manual > Chapter 5 System Debug Command Specifications Fx-LOG

INITxx

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4 ♥
E0300 Edition 3
E0692 Edition 3

Privileged Mode

Initialize registers from a specified location.

Syntax



   INITNM virtaddr [ISM |PIMREAL |PIMVIRTUAL]
   INITCM virtaddr [ISM |PIMREAL |PIMVIRTUAL]

   INITNM TCB
   INITCM TCB | CMG | REGS

This command is for use by experienced DAT users and internals specialists to initialize DAT when a dump is corrupted. The command is also provided for the experienced Debug user.

For the INITNM command, the NM register set is loaded from the specified location. It is assumed that the location contains data in the form of an interrupt stack marker (ISM) which is the default, or in the form of processor internal memory (PIM). Not all of the machine's registers are found in an ISM. If this is the structure being used, those registers not stored in the ISM are retrieved from the save state area in the dump (or from the running machine in Debug).

For the INITCM command, the CM register set is loaded from one of several locations depending upon the option specified. Four possibilities exist:
  • The emulator/translator is not running, and the CM state for the process is stored in the CMGLOBALS area of the PIB. The CMG option is used in this case.

  • The emulator/translator is running, in which case the CM state is maintained in the native mode registers. In this case the virtual address of an interrupt stack marker (ISM) or processor internal memory record (PIM) containing the emulator/translator's native mode register set should be given so that the CM state may be extracted from the registers.

  • The state of the emulator/translator is stored in the task control block (TCB). As in the PIM and ISM case above, the register data found is used to set up the CM state.

  • The user desires to construct the CM state from scratch. To do this, the user must place into the current NM register set (using the MR command) values that correspond to the state of an active emulator/translator. The appropriate values are then extracted from the register set to build the CM state. The REGS options allows this to be done.

Parameters


virtaddr

Any valid expression specifying the virtual address of an interrupt stack marker (ISM) or a processor internal memory (PIM) record. The type of structure is indicated by one of the following optional parameters:

ISM

The data is an interrupt stack marker (default).

PIMVIRTUAL

The data is processor internal memory format.

PIMREAL

The data is processor internal memory format, but the address is a real memory address. If a full virtual address is given, the offset part is used as the real memory address.

TCB

This parameter indicates that the register save state in the task control block (TCB) for the current PIN should be used for initialization. The register save state in the TCB is in the form of an interrupt_marker_type.

CMG

This parameter indicates that the CM registers should be initialized based on CMGLOBALS area in the process information block (PIB) of the current process.

REGS

This parameter indicates that the CM registers should be initialized based on the current NM regs. The NM regs are interpreted as containing values used by the emulator/translator.

Examples



   $ nmdebug > initnm 0.tcb(20)

Initialize the native mode registers from the indicated virtual address.

   % cmdebug > initcm 40153014

Initialize the CM registers from the interrupt marker that starts at address 40153014. The process was most likely in the emulator (or else the CM state would be stored in the CMGLOBALS area of the PIB).

Limitations, Restrictions


none




IGNORE


KILL