Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
user_regset Struct Reference

#include <regset.h>

Data Fields

user_regset_get_fnget
 
user_regset_set_fnset
 
user_regset_active_fnactive
 
user_regset_writeback_fnwriteback
 
unsigned int n
 
unsigned int size
 
unsigned int align
 
unsigned int bias
 
unsigned int core_note_type
 

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 154 of file regset.h.

Field Documentation

Definition at line 157 of file regset.h.

unsigned int align

Definition at line 161 of file regset.h.

unsigned int bias

Definition at line 162 of file regset.h.

unsigned int core_note_type

Definition at line 163 of file regset.h.

Definition at line 155 of file regset.h.

unsigned int n

Definition at line 159 of file regset.h.

Definition at line 156 of file regset.h.

unsigned int size

Definition at line 160 of file regset.h.

Definition at line 158 of file regset.h.


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