freebsd-src/sys/arm64/include
Mark Johnston 75cb949228 arm64/vmm: Add breakpoint and single-stepping support
This will be used to implement parts of bhyve's gdb stub.

Three VM capabilities are added, similar to amd64 without monitor mode.
Two cause breakpoint and single-step exceptions to be raised to EL2 and
then down to bhyve.  One lets the gdb stub mask hardware interrupts
while single-stepping, since otherwise the guest will handle a timer
interrupt before executing the target instruction and thus fail
to make progress.

Reviewed by:	bnovkov, andrew
Sponsored by:	Innovate UK
Differential Revision:	https://reviews.freebsd.org/D44739
2024-06-04 14:58:08 -04:00
..
_align.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
_bus.h _bus.h: Use standard licnese text 2023-11-13 12:25:30 -07:00
_inttypes.h
_limits.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
_stdint.h
_types.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
acle-compat.h
acpica_machdep.h
armreg.h arm64: Add the pointer auth registers to armreg.h 2024-05-22 08:18:54 +00:00
asan.h
asm.h
atomic.h
bus.h
bus_dma.h arm64: Implement busdma bits for KMSAN 2024-02-08 11:35:11 -05:00
bus_dma_impl.h arm64: Implement busdma bits for KMSAN 2024-02-08 11:35:11 -05:00
clock.h
cmn600_reg.h
counter.h
cpu.h am64: Allow cpu.h to be included from assembly 2024-05-10 09:29:24 +00:00
cpufunc.h arm64: Use void pointers for arguments to arm64_get_writable_addr 2024-03-15 10:10:24 -07:00
cpuinfo.h
csan.h
db_machdep.h arm64: Support hardware breakpoints 2024-04-12 09:32:56 +00:00
debug_monitor.h arm64: Support hardware breakpoints 2024-04-12 09:32:56 +00:00
disassem.h
dump.h
efi.h
elf.h arm64: Add more HWCAP2 values 2023-11-10 16:01:13 +00:00
endian.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
exec.h
float.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
floatingpoint.h
fpu.h
frame.h freebsd32: struct siginfo32 -> struct __siginfo32 2024-03-19 23:13:26 +00:00
gdb_machdep.h
hypervisor.h arm64: Add a macro to find a VM fault address 2024-02-21 18:55:32 +00:00
ieeefp.h
ifunc.h
in_cksum.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
intr.h intrng: Extract arm/arm64 IPI->PIC glue code 2024-01-24 23:49:53 +00:00
iodev.h
iommu.h
kdb.h arm64: Support hardware breakpoints 2024-04-12 09:32:56 +00:00
machdep.h arm64: Add in_vhe() to find if the kernel is in VHE 2024-02-21 11:26:29 +00:00
md_var.h arm64: Create a Linux view of the ID registers 2023-11-10 16:01:13 +00:00
memdev.h
metadata.h
minidump.h
msan.h arm64: Add msan.h 2024-02-08 11:35:11 -05:00
ofw_machdep.h
param.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
pcb.h
pci_cfgreg.h pci_cfgreg: Add a PCI domain argument to the low-level register API 2023-11-29 10:31:47 -08:00
pcpu.h arm64: Delete stale comment 2024-03-27 15:43:38 -04:00
pcpu_aux.h
pmap.h arm64, riscv: removed unused struct pv_addr 2024-05-24 10:55:24 -03:00
pmc_mdep.h
proc.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
procctl.h
profile.h arm64: Add a BTI landing pad to .mcount 2023-10-30 17:55:45 +00:00
psl.h
pte.h arm64: set ATTR_CONTIGUOUS on the DMAP's L2 blocks 2024-05-22 22:09:43 -05:00
ptrace.h
reg.h
reloc.h
resource.h
runq.h
setjmp.h
sf_buf.h
sigframe.h
signal.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
smp.h
stack.h
stdarg.h
sysarch.h Add a BTI sysarch 2024-02-22 16:27:47 +00:00
sysreg.h
tls.h
trap.h
ucontext.h arm64: Support passing more registers to signals 2024-03-21 10:13:16 +00:00
undefined.h
vdso.h
vfp.h arm64: Split out a savectx version of vfp_save_state 2024-03-21 10:13:24 +00:00
vm.h
vmm.h arm64/vmm: Add breakpoint and single-stepping support 2024-06-04 14:58:08 -04:00
vmm_dev.h Import the kernel parts of bhyve/arm64 2024-02-21 18:55:32 +00:00
vmm_instruction_emul.h Import the kernel parts of bhyve/arm64 2024-02-21 18:55:32 +00:00
vmm_snapshot.h Import the kernel parts of bhyve/arm64 2024-02-21 18:55:32 +00:00
vmparam.h vm: Simplify startup page dumping conditional 2024-05-25 19:24:55 +02:00