
UDI Services
3-30
Universal Debugger Interface Specification
UDIInitializeProcess
Call
UDIError UDIInitializeProcess (
UDIMemoryRange
UDIInt
UDIResource
CPUSizeT
UDIInt
char *
);
ProcessMemory[],
NumberOfRanges,
EntryPoint,
StackSizes[],
NumberOfStacks,
ArgString
/* In */
/* In */
/* In */
/* In */
/* In */
/* In */
Description
UDIInitializeProcess
initializes or reinitializes a process. If
UDIInitializeProcess
is performed against process
UDIProcessProcessor
, a
target system reset is performed, if permitted. Against other processes,
UDIInitializeProcess
performs whatever steps are necessary to get the process
to the stage where the next instruction to be executed is the entry point. This
service should also initialize any files or other process–specific operating
system state. After a
UDIInitializeProcess
on a 29K Family target, the state of
the CPS and CFG registers is TIP–specific.
This call also identifies to the TIP the range of addresses used by the program
image(s). Execution of the program may result in additional memory being
allocated to the process. Since some processors (notably, the 29K) have more
than one stack, we provide as many stacks as the processor family may need.
Each processor family defines which element of the array of stack sizes
corresponds to which stack. For the 29K, stack 0 is the register stack and stack
1 is the memory stack. Zero is used for any stack size where the default values
should be used (default values are TIP–defined). The argument string is passed
and can be parsed according to TIP operating system rules. If the DFE wishes
to pass embedded whitespace in arguments, those arguments should be
enclosed in quotes. If no arguments are supplied, a NULL can be passed.
When
UDIIntializeProcess
is called (including the case when it is performed
against UDIProcessProcessor) all breakpoints remain enabled. If the target
system is reset manually via a reset button, breakpoints must also persist
although it is permitted that breakpoint passcounts be reset to their initial
values.