INITxx [ System Debug Reference Manual ] MPE/iX 5.0 Documentation
System Debug Reference Manual
INITxx
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
CAUTION The output format of all System Debug commands is subject to
change without notice. Programs that are developed to
postprocess System Debug output should not depend on the exact
format (spacing, alignment, number of lines, uppercase or
lowercase, or spelling) of any System Debug command output.
MPE/iX 5.0 Documentation