NetBSD/sys/arch/amd64/include
kamil 241cf91ddc Add support for hardware assisted watchpoints/breakpoints API in ptrace(2)
Add new ptrace(2) calls:
 - PT_COUNT_WATCHPOINTS - count the number of available hardware watchpoints
 - PT_READ_WATCHPOINT   - read struct ptrace_watchpoint from the kernel state
 - PT_WRITE_WATCHPOINT  - write new struct ptrace_watchpoint state, this
                          includes enabling and disabling watchpoints

The ptrace_watchpoint structure contains MI and MD parts:

typedef struct ptrace_watchpoint {
	int		pw_index;	/* HW Watchpoint ID (count from 0) */
	lwpid_t		pw_lwpid;	/* LWP described */
	struct mdpw	pw_md;		/* MD fields */
} ptrace_watchpoint_t;

For example amd64 defines MD as follows:
struct mdpw {
	void	*md_address;
	int	 md_condition;
	int	 md_length;
};

These calls are protected with the __HAVE_PTRACE_WATCHPOINTS guard.

Tested on amd64, initial support added for i386 and XEN.

Sponsored by <The NetBSD Foundation>
2016-12-15 12:04:17 +00:00
..
acpi_machdep.h
ansi.h
aout_machdep.h
apicvar.h
asm.h Indent. 2014-05-22 14:59:01 +00:00
autoconf.h
bios32.h
bootinfo.h
bswap.h
bus_defs.h
bus_funcs.h
bus_private.h
byte_swap.h
cdefs.h
cpu_counter.h
cpu_rng.h Add cpu_rng, a framework for simple on-CPU random number generators. 2016-02-27 00:09:44 +00:00
cpu.h
cpufunc.h
cputypes.h
cpuvar.h
db_machdep.h properly copy regs for kgdb, and define the number of registers properly. 2015-07-26 10:49:05 +00:00
disklabel.h
elf_machdep.h Add more relocation constants 2016-02-02 20:13:59 +00:00
endian_machdep.h
endian.h
fenv.h Add definitions of the default control words directly to this file 2014-02-12 23:04:43 +00:00
float.h
fpu.h It seems that firefox includes machine/fpu.h on amd64. 2014-02-18 18:39:10 +00:00
frame_regs.h remove any pathname for gdb's amd64nbsd-tdep.c, so it doesn't really 2015-04-26 18:49:39 +00:00
frame.h This doesn't need fpu.h, but should include ucontext.h 2014-02-20 18:20:39 +00:00
frameasm.h
gdt.h Make this area compile, even if we don't support USER_LDT on amd64. 2016-08-20 18:31:06 +00:00
i8259.h
i82093reg.h Move the virtual address of the LAPIC page out of the data segment on amd64 2016-11-25 14:12:55 +00:00
i82093var.h
i82489reg.h
i82489var.h
ieee.h
ieeefp.h
int_const.h Add generic versions of machine/int_*.h for compilers providing 2014-07-25 21:43:13 +00:00
int_fmtio.h Add generic versions of machine/int_*.h for compilers providing 2014-07-25 21:43:13 +00:00
int_limits.h Add generic versions of machine/int_*.h for compilers providing 2014-07-25 21:43:13 +00:00
int_mwgwtypes.h Add generic versions of machine/int_*.h for compilers providing 2014-07-25 21:43:13 +00:00
int_types.h Add generic versions of machine/int_*.h for compilers providing 2014-07-25 21:43:13 +00:00
intr.h
intrdefs.h
isa_machdep.h
joystick.h
kcore.h Fix header guards. 2013-06-25 15:08:43 +00:00
limits.h Since all our compilers support __DBL_* and __FLT_*, use them to define 2014-04-21 10:53:47 +00:00
linux32_machdep.h implement the *at() syscalls. 2013-11-18 01:32:52 +00:00
loadfile_machdep.h
lock.h
Makefile Add cpu_rng, a framework for simple on-CPU random number generators. 2016-02-27 00:09:44 +00:00
Makefile.inc Disable SSE and AVX for kernel modules too. 2014-10-19 15:41:05 +00:00
math.h
mcontext.h Comments. 2014-05-12 22:50:03 +00:00
mpacpi.h
mpbiosreg.h
mpbiosvar.h
mpconfig.h
mtrr.h
mutex.h
netbsd32_machdep.h PR kern/51514: ptrace(2) fails for 32-bit process on 64-bit kernel 2016-10-19 09:44:00 +00:00
param.h make sure MSGBUFSIZE can't expand strangely by using parens. 2015-10-27 22:28:56 +00:00
pcb.h Move the amd64 and i386 pcb to the bottom of the uarea, and move the 2014-02-20 18:19:09 +00:00
pci_machdep.h
pic.h
pio.h
pmap.h Remove useless values, and explain where some others come from 2016-11-11 12:06:31 +00:00
pmc.h make pmc compile with amd64 2014-03-20 20:45:32 +00:00
proc.h Add support for hardware assisted watchpoints/breakpoints API in ptrace(2) 2016-12-15 12:04:17 +00:00
profile.h x86_lfence() calls mcount(), so inline lfence instructions in mcount 2016-04-11 14:15:30 +00:00
psl.h
pte.h KNF, so it appears aligned on NXR. 2016-05-13 11:17:20 +00:00
ptrace.h Add support for hardware assisted watchpoints/breakpoints API in ptrace(2) 2016-12-15 12:04:17 +00:00
rbus_machdep.h
reg.h Move sys/arch/amd64/amd64/fpu.c and sys/arch/amd64/include/fpu.h 2014-02-11 20:17:16 +00:00
rwlock.h
segments.h Give the structure sizes. 2016-09-02 08:52:12 +00:00
setjmp.h
signal.h
sljit_machdep.h Include <i386/sljit_machdep.h> for i386 compat build. 2015-06-10 23:16:27 +00:00
specialreg.h
sysarch.h
trap.h
tss.h
types.h Add cpu_rng, a framework for simple on-CPU random number generators. 2016-02-27 00:09:44 +00:00
userret.h Add support for hardware assisted watchpoints/breakpoints API in ptrace(2) 2016-12-15 12:04:17 +00:00
vmparam.h Put a one-page redzone between userland and the PTE space on amd64 and 2016-11-19 09:22:03 +00:00
wchar_limits.h