Logo Search packages:      
Sourcecode: linux version File versions

user_regset Struct Reference

#include <regset.h>

List of all members.

Detailed Description

struct user_regset - accessible thread CPU state
: Number of slots (registers). : Size in bytes of a slot (register). : Required alignment, in bytes. : Bias from natural indexing. : ELF note value used in core dumps. : Function to fetch values. : Function to store values. : Function to report if regset is active, or NULL. : Function to write data back to user memory, or NULL.

This data structure describes a machine resource we call a register set. This is part of the state of an individual thread, not necessarily actual CPU registers per se. A register set consists of a number of similar slots, given by
. Each slot is bytes, and aligned to bytes (which is at least ).

These functions must be called only on the current thread or on a thread that is in TASK_STOPPED or TASK_TRACED state, that we are guaranteed will not be woken up and return to user mode, and that we have called wait_task_inactive() on. (The target thread always might wake up for SIGKILL while these functions are working, in which case that thread's user_regset state might be scrambled.)

The argument must be aligned according to ; the argument must be a multiple of . These functions are not responsible for checking for invalid arguments.

When there is a natural value to use as an index, gives the difference between the natural index and the slot index for the register set. For example, x86 GDT segment descriptors form a regset; the segment selector produces a natural index, but only a subset of that index space is available as a regset (the TLS slots); subtracting from a segment selector index value computes the regset slot.

If nonzero, gives the n_type field (NT_* value) of the core file note in which this regset's data appears. NT_PRSTATUS is a special case in that the regset data starts at offsetof(struct elf_prstatus, pr_reg) into the note data; that is part of the per-machine ELF formats userland knows about. In other cases, the core file note contains exactly the whole regset (
* ) and nothing else. The core file note is normally omitted when there is an function and it returns zero.

Definition at line 153 of file regset.h.

Public Attributes

user_regset_active_fn * active
unsigned int align
unsigned int bias
unsigned int core_note_type
user_regset_get_fn * get
unsigned int n
user_regset_set_fn * set
unsigned int size
user_regset_writeback_fn * writeback

The documentation for this struct was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index