VIRTUTECH CONFIDENTIAL    Previous - Up - Next

linux-process-tracker

Provided by
linux-process-tracker
Class Hierarchy
conf-objectlog-objectlinux-process-tracker
Interfaces Implemented
log_object, tracker_unix, tracker_settings, tracker
Description

Process tracker for Linux. Works on ppc32, ppc64, UltraSPARC and x86 targets.

Attributes

Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attributes inherited from class log-object
access_count, log_buffer, log_buffer_last, log_buffer_size, log_group_mask, log_groups, log_level, log_type_mask
Attribute List
param
Session attribute; read/write access; type: [[s,i]*]; string indexed; indexed type: Integer.

Linux version dependent parameters, such as task_struct offsets. The easiest way to set these are to give the kernel argument to new-linux-process-tracker, or to run the autodetect-parameters command.

Parameters starting with ts_ are offsets in the task_struct. ts_comm is the offset of the comm field, which contains the name of the process. ts_pid and ts_state are the offsets of the fields that contain the process's pid and state. ts_thread_struct is the offset of the thread_struct embedded in the task_struct.

ts_next and ts_prev are the offsets of the pointers that connect all the task structs in a circular double-linked list. ts_next_relative is non-zero if these pointers point at the next field of other task_structs, and zero if they point to the first byte.

kernel_stack_size is the size, in bytes, of a kernel stack; this is either 4096 or 8192. paca_task_struct is the offset in the paca struct of the pointer to the current task_struct.

Not all of these parameters are necessary for any given simulated machine.

per_cpu_state
Optional attribute; read/write access; type: [[o[a*]]*].

Per-processor state that has to be maintained by the process tracker.

processors
Session attribute; read/write access; type: [o*].

Processors whose modes are being tracked.

Command List

Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface tracker
activate, add-processor, deactivate, remove-processor
Commands
autodetect-parametersautodetect parameters
process-listlist running processes
statusprint status of the device

Command Descriptions

<linux-process-tracker>.autodetect-parameters
Synopsis
<linux-process-tracker>.autodetect-parameters
Description
Autodetect the parameters to use in the param attribute. For this to work, the process tracker must have at least one processor, and Linux must be already running on the simulated machine. (This means that if you want to use process tracking during the boot, you must enter the parameters manually; but you can still get hold of them in the first place by running autodetect-parameters.)
<linux-process-tracker>.process-list
Synopsis
<linux-process-tracker>.process-list [-task-struct-address]
Description
Print a list of all running processes on the simulated system. If the -task-struct-address flag is given, list the task_struct address for each process.
<linux-process-tracker>.status
Synopsis
<linux-process-tracker>.status
Description
Print detailed information about the current status of the device.

VIRTUTECH CONFIDENTIAL    Previous - Up - Next