Logo Search packages:      
Sourcecode: linux version File versions  Download package

Public Attributes

user_regset Struct Reference

#include <regset.h>

Collaboration diagram for user_regset:
Collaboration graph
[legend]

List of all members.

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

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.


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

Generated by  Doxygen 1.6.0   Back to index