Typedefs | |
typedef PHYSICAL_CONTEXT | PHYSICAL_CONTEXT |
Functions | |
VOID | LEVEL_PINCLIENT::PIN_SetPhysicalContextReg (PHYSICAL_CONTEXT *pPhysCtxt, REG reg, ADDRINT val) |
ADDRINT | LEVEL_PINCLIENT::PIN_GetPhysicalContextReg (const PHYSICAL_CONTEXT *pPhysCtxt, REG reg) |
VOID | LEVEL_PINCLIENT::PIN_SetPhysicalContextFPState (PHYSICAL_CONTEXT *pPhysCtxt, const VOID *fpstate) |
VOID | LEVEL_PINCLIENT::PIN_GetPhysicalContextFPState (const PHYSICAL_CONTEXT *pPhysCtxt, VOID *fpstate) |
The tool receives physical context in the INTERNAL_EXCEPTION_CALLBACK. At this time, the tool can read and modify individual physical register values and modify floating point state using the PIN_GetPhysicalContextReg(), PIN_SetPhysicalContextReg(), PIN_SetPhysicalContextFPState(), PIN_GetPhysicalContextFPState().
typedef struct PHYSICAL_CONTEXT PHYSICAL_CONTEXT |
Physical state of the processor.
The tool should not read or modify data members of this structure directly, but must treat the structure as logically opaque and use the Physical context manipulation API functions to manage it.
VOID LEVEL_PINCLIENT::PIN_GetPhysicalContextFPState | ( | const PHYSICAL_CONTEXT * | pPhysCtxt, | |
VOID * | fpstate | |||
) |
Get the floating point state of the specified physical context.
[in] | pPhysCtxt | physical context whose floating point state is retrieved |
[in] | fpstate | pointer to the buffer that receives floating point state of the context. The size of the buffer must be at least FPSTATE_SIZE bytes. The returned state has fxsave format in IA-32 and Intel(R) 64 architectures. |
ADDRINT LEVEL_PINCLIENT::PIN_GetPhysicalContextReg | ( | const PHYSICAL_CONTEXT * | pPhysCtxt, | |
REG | reg | |||
) |
Get the value of the integer register in the specified physical context.
[in] | pPhysCtxt | physical context whose register value is requested |
[in] | reg | physical register whose value is requested (up to REG_PHYSICAL_CONTEXT_END) |
VOID LEVEL_PINCLIENT::PIN_SetPhysicalContextFPState | ( | PHYSICAL_CONTEXT * | pPhysCtxt, | |
const VOID * | fpstate | |||
) |
Set the given floating point state in the specified physical context.
[in,out] | pPhysCtxt | physical context whose floating point state is to be set |
[in] | fpstate | new floating point state of the context. It must have fxsave format in IA-32 and Intel(R) 64 architectures. |
VOID LEVEL_PINCLIENT::PIN_SetPhysicalContextReg | ( | PHYSICAL_CONTEXT * | pPhysCtxt, | |
REG | reg, | |||
ADDRINT | val | |||
) |
Set the given value for the integer register in the specified physical context.
[in,out] | pPhysCtxt | physical context whose register value is to be set |
[in] | reg | physical register whose value is to be set (up to REG_PHYSICAL_CONTEXT_END) |
[in] | val | new value of the register |