The Pedigree Project  0.1
Public Member Functions | Public Attributes | List of all members
X64ProcessorState Class Reference

#include <state.h>

+ Collaboration diagram for X64ProcessorState:

Public Member Functions

 X64ProcessorState ()
 
 X64ProcessorState (const X64ProcessorState &)
 
 X64ProcessorState (const X64InterruptState &)
 
 X64ProcessorState (const X64SyscallState &)
 
X64ProcessorStateoperator= (const X64ProcessorState &)
 
X64ProcessorStateoperator= (const X64InterruptState &)
 
X64ProcessorStateoperator= (const X64SyscallState &)
 
 ~X64ProcessorState ()
 
uintptr_t getStackPointer () const
 
void setStackPointer (uintptr_t stackPointer)
 
uintptr_t getInstructionPointer () const
 
void setInstructionPointer (uintptr_t instructionPointer)
 
uintptr_t getBasePointer () const
 
void setBasePointer (uintptr_t basePointer)
 

Public Attributes

uint64_t r15
 
uint64_t r14
 
uint64_t r13
 
uint64_t r12
 
uint64_t r11
 
uint64_t r10
 
uint64_t r9
 
uint64_t r8
 
uint64_t rbp
 
uint64_t rsi
 
uint64_t rdi
 
uint64_t rdx
 
uint64_t rcx
 
uint64_t rbx
 
uint64_t rax
 
uint64_t rip
 
uint64_t rflags
 
uint64_t rsp
 

Detailed Description

x64 ProcessorState

Definition at line 274 of file x64/state.h.

Constructor & Destructor Documentation

X64ProcessorState::X64ProcessorState ( )
inline

Default constructor initializes everything with 0

Definition at line 518 of file x64/state.h.

X64ProcessorState::X64ProcessorState ( const X64ProcessorState x)
inline

Copy-constructor

Definition at line 523 of file x64/state.h.

X64ProcessorState::X64ProcessorState ( const X64InterruptState x)
inline

Construct a ProcessorState object from an InterruptState object

Parameters
[in]xreference to the InterruptState object

Definition at line 530 of file x64/state.h.

X64ProcessorState::X64ProcessorState ( const X64SyscallState x)
inline

Construct a ProcessorState object from an SyscallState object

Parameters
[in]xreference to the SyscallState object

Definition at line 537 of file x64/state.h.

X64ProcessorState::~X64ProcessorState ( )
inline

Destructor does nothing

Definition at line 610 of file x64/state.h.

Member Function Documentation

uintptr_t X64ProcessorState::getBasePointer ( ) const
inline

Get the base-pointer

Returns
the base-pointer

Definition at line 630 of file x64/state.h.

References rbp.

uintptr_t X64ProcessorState::getInstructionPointer ( ) const
inline

Get the instruction-pointer of the next instruction that is executed after the interrupt is processed

Returns
the instruction-pointer

Definition at line 622 of file x64/state.h.

References rip.

uintptr_t X64ProcessorState::getStackPointer ( ) const
inline

Get the stack-pointer before the interrupt occured

Returns
the stack-pointer before the interrupt

Definition at line 614 of file x64/state.h.

References rsp.

Referenced by X64InterruptState::construct().

+ Here is the caller graph for this function:

X64ProcessorState & X64ProcessorState::operator= ( const X64ProcessorState x)
inline

Assignment operator

Definition at line 544 of file x64/state.h.

References r10, r11, r12, r13, r14, r15, r8, r9, rax, rbp, rbx, rcx, rdi, rdx, rflags, rip, rsi, and rsp.

X64ProcessorState & X64ProcessorState::operator= ( const X64InterruptState x)
inline
X64ProcessorState & X64ProcessorState::operator= ( const X64SyscallState x)
inline
void X64ProcessorState::setBasePointer ( uintptr_t  basePointer)
inline

Set the base-pointer

Parameters
[in]basePointerthe new base-pointer

Definition at line 634 of file x64/state.h.

References rbp.

void X64ProcessorState::setInstructionPointer ( uintptr_t  instructionPointer)
inline

Set the instruction-pointer

Parameters
[in]instructionPointerthe new instruction-pointer

Definition at line 626 of file x64/state.h.

References rip.

void X64ProcessorState::setStackPointer ( uintptr_t  stackPointer)
inline

Set the userspace stack-pointer

Parameters
[in]stackPointerthe new stack-pointer

Definition at line 618 of file x64/state.h.

References rsp.

Member Data Documentation

uint64_t X64ProcessorState::r10

The R10 general purpose register

Definition at line 332 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::r11

The R11 general purpose register

Definition at line 330 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::r12

The R12 general purpose register

Definition at line 328 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::r13

The R13 general purpose register

Definition at line 326 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::r14

The R14 general purpose register

Definition at line 324 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::r15

The R15 general purpose register

Definition at line 322 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::r8

The R8 general purpose register

Definition at line 336 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::r9

The R9 general purpose register

Definition at line 334 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::rax

The RAX general purpose register

Definition at line 350 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::rbp

The base-pointer

Definition at line 338 of file x64/state.h.

Referenced by X64InterruptState::construct(), getBasePointer(), operator=(), and setBasePointer().

uint64_t X64ProcessorState::rbx

The RBX general purpose register

Definition at line 348 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::rcx

The RCX general purpose register

Definition at line 346 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::rdi

The RDI general purpose register

Definition at line 342 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::rdx

The RDX general purpose register

Definition at line 344 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::rflags

The RFlags register

Definition at line 354 of file x64/state.h.

Referenced by operator=().

uint64_t X64ProcessorState::rip

The instruction-pointer

Definition at line 352 of file x64/state.h.

Referenced by X64InterruptState::construct(), getInstructionPointer(), operator=(), and setInstructionPointer().

uint64_t X64ProcessorState::rsi

The RSI general purpose register

Definition at line 340 of file x64/state.h.

Referenced by X64InterruptState::construct(), and operator=().

uint64_t X64ProcessorState::rsp

The stack-pointer

Definition at line 356 of file x64/state.h.

Referenced by X64InterruptState::construct(), getStackPointer(), operator=(), and setStackPointer().


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