Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AMD64XstateRead ¶
func AMD64XstateRead(xstateargs []byte, readLegacy bool, regset *AMD64Xstate, xstateZMMHi256Offset int) 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. If xstateZMMHi256Offset is zero, it will be guessed.
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 // contains filtered or unexported fields }
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 ¶ added in v1.6.1
func (xstate *AMD64Xstate) SetXmmRegister(n int, value []byte) error
type DebugRegisters ¶ added in v1.6.1
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 ¶ added in v1.6.1
func NewDebugRegisters(pDR0, pDR1, pDR2, pDR3, pDR6, pDR7 *uint64) *DebugRegisters
func (*DebugRegisters) ClearBreakpoint ¶ added in v1.6.1
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 ¶ added in v1.6.1
func (drs *DebugRegisters) GetActiveBreakpoint() (ok bool, idx uint8)
GetActiveBreakpoint returns the active hardware breakpoint and resets the condition flags.
func (*DebugRegisters) SetBreakpoint ¶ added in v1.6.1
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.