The Pedigree Project
0.1
|
#include <state.h>
Public Member Functions | |
X64ProcessorState () | |
X64ProcessorState (const X64ProcessorState &) | |
X64ProcessorState (const X64InterruptState &) | |
X64ProcessorState (const X64SyscallState &) | |
X64ProcessorState & | operator= (const X64ProcessorState &) |
X64ProcessorState & | operator= (const X64InterruptState &) |
X64ProcessorState & | operator= (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 |
x64 ProcessorState
Definition at line 274 of file x64/state.h.
|
inline |
Default constructor initializes everything with 0
Definition at line 518 of file x64/state.h.
|
inline |
Copy-constructor
Definition at line 523 of file x64/state.h.
|
inline |
Construct a ProcessorState object from an InterruptState object
[in] | x | reference to the InterruptState object |
Definition at line 530 of file x64/state.h.
|
inline |
Construct a ProcessorState object from an SyscallState object
[in] | x | reference to the SyscallState object |
Definition at line 537 of file x64/state.h.
|
inline |
Destructor does nothing
Definition at line 610 of file x64/state.h.
|
inline |
Get the base-pointer
Definition at line 630 of file x64/state.h.
References rbp.
|
inline |
Get the instruction-pointer of the next instruction that is executed after the interrupt is processed
Definition at line 622 of file x64/state.h.
References rip.
|
inline |
Get the stack-pointer before the interrupt occured
Definition at line 614 of file x64/state.h.
References rsp.
Referenced by X64InterruptState::construct().
|
inline |
|
inline |
Assignment from InterruptState
[in] | reference | to the InterruptState |
Definition at line 566 of file x64/state.h.
References X64InterruptState::m_R10, X64InterruptState::m_R11, X64InterruptState::m_R12, X64InterruptState::m_R13, X64InterruptState::m_R14, X64InterruptState::m_R15, X64InterruptState::m_R8, X64InterruptState::m_R9, X64InterruptState::m_Rax, X64InterruptState::m_Rbp, X64InterruptState::m_Rbx, X64InterruptState::m_Rcx, X64InterruptState::m_Rdi, X64InterruptState::m_Rdx, X64InterruptState::m_Rflags, X64InterruptState::m_Rip, X64InterruptState::m_Rsi, X64InterruptState::m_Rsp, r10, r11, r12, r13, r14, r15, r8, r9, rax, rbp, rbx, rcx, rdi, rdx, rflags, rip, rsi, and rsp.
|
inline |
Assignment from SyscallState
[in] | reference | to the SyscallState |
Definition at line 588 of file x64/state.h.
References X64SyscallState::m_R10, X64SyscallState::m_R12, X64SyscallState::m_R13, X64SyscallState::m_R14, X64SyscallState::m_R15, X64SyscallState::m_R8, X64SyscallState::m_R9, X64SyscallState::m_Rax, X64SyscallState::m_Rbp, X64SyscallState::m_Rbx, X64SyscallState::m_Rdi, X64SyscallState::m_Rdx, X64SyscallState::m_RFlagsR11, X64SyscallState::m_RipRcx, X64SyscallState::m_Rsi, X64SyscallState::m_Rsp, r10, r11, r12, r13, r14, r15, r8, r9, rax, rbp, rbx, rcx, rdi, rdx, rflags, rip, rsi, and rsp.
|
inline |
Set the base-pointer
[in] | basePointer | the new base-pointer |
Definition at line 634 of file x64/state.h.
References rbp.
|
inline |
Set the instruction-pointer
[in] | instructionPointer | the new instruction-pointer |
Definition at line 626 of file x64/state.h.
References rip.
|
inline |
Set the userspace stack-pointer
[in] | stackPointer | the new stack-pointer |
Definition at line 618 of file x64/state.h.
References rsp.
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 |
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().