Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AMD64XstateMaxSize ¶
func AMD64XstateMaxSize() int
func AMD64XstateRead ¶
func AMD64XstateRead(xstateargs []byte, readLegacy bool, regset *AMD64Xstate) error
AMD64XstateRead reads a byte array containing an XSAVE area into regset. If readLegacy is true regset.PtraceFpRegs will be filled with the contents of the legacy region of the XSAVE area. See Section 13.1 (and following) of Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1: Basic Architecture.
Types ¶
type AMD64PtraceFpRegs ¶
type AMD64PtraceFpRegs struct { Cwd uint16 Swd uint16 Ftw uint16 Fop uint16 Rip uint64 Rdp uint64 Mxcsr uint32 MxcrMask uint32 StSpace [32]uint32 XmmSpace [256]byte Padding [24]uint32 }
AMD64PtraceFpRegs tracks user_fpregs_struct in /usr/include/x86_64-linux-gnu/sys/user.h
type AMD64Xstate ¶
type AMD64Xstate struct { AMD64PtraceFpRegs Xsave []byte // raw xsave area AvxState bool // contains AVX state YmmSpace [256]byte Avx512State bool // contains AVX512 state ZmmSpace [512]byte }
AMD64Xstate represents amd64 XSAVE area. See Section 13.1 (and following) of Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1: Basic Architecture.
func (*AMD64Xstate) Decode ¶
func (xstate *AMD64Xstate) Decode() []proc.Register
Decode decodes an XSAVE area to a list of name/value pairs of registers.
func (*AMD64Xstate) SetXmmRegister ¶
func (xstate *AMD64Xstate) SetXmmRegister(n int, value []byte) error
type DebugRegisters ¶
type DebugRegisters struct { Dirty bool // contains filtered or unexported fields }
DebugRegisters represents x86 debug registers described in the Intel 64 and IA-32 Architectures Software Developer's Manual, Vol. 3B, section 17.2
func NewDebugRegisters ¶
func NewDebugRegisters(pDR0, pDR1, pDR2, pDR3, pDR6, pDR7 *uint64) *DebugRegisters
func (*DebugRegisters) ClearBreakpoint ¶
func (drs *DebugRegisters) ClearBreakpoint(idx uint8)
ClearBreakpoint disables the hardware breakpoint at index 'idx'. If the breakpoint was already disabled it does nothing.
func (*DebugRegisters) GetActiveBreakpoint ¶
func (drs *DebugRegisters) GetActiveBreakpoint() (ok bool, idx uint8)
GetActiveBreakpoint returns the active hardware breakpoint and resets the condition flags.
func (*DebugRegisters) SetBreakpoint ¶
SetBreakpoint sets hardware breakpoint at index 'idx' to the specified address, read/write flags and size. If the breakpoint is already in use but the parameters match it does nothing.