freebsd-skq/sys/arm64/include
Michal Meloun 95a85c125d Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions.
One problem with the bus_space_read_N() and bus_space_write_N() family of
functions is that they provide no protection against exceptions which can
occur when no physical hardware or device responds to the read or write
cycles. In such a situation, the system typically would panic due to a
kernel-mode bus error. The bus_space_peek_N() and bus_space_poke_N() family
of functions provide a mechanism to handle these exceptions gracefully
without the risk of crashing the system.

Typical example is access to PCI(e) configuration space in bus enumeration
function on badly implemented PCI(e) root complexes (RK3399 or Neoverse
N1 N1SDP and/or access to PCI(e) register when device is in deep sleep state.

This commit adds a real implementation for arm64 only. The remaining
architectures have bus_space_peek()/bus_space_poke() emulated by using
bus_space_read()/bus_space_write() (without exception handling).

MFC after:	1 month
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D25371
2020-09-19 11:06:41 +00:00
..
_align.h
_bus.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
_inttypes.h
_limits.h
_stdint.h
_types.h
acpica_machdep.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
armreg.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
asm.h Stop speculation past an eret instruction 2019-12-19 08:52:16 +00:00
atomic.h Expand generic subword atomic primitives 2020-03-25 23:12:43 +00:00
bus_dma_impl.h Allow loading the same DMA address multiple times without any prior 2019-05-16 17:41:16 +00:00
bus_dma.h Allow loading the same DMA address multiple times without any prior 2019-05-16 17:41:16 +00:00
bus.h Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions. 2020-09-19 11:06:41 +00:00
clock.h
counter.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
cpu.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
cpufunc.h Support creating and using arm64 pmap at stage 2 2020-05-27 08:00:38 +00:00
csan.h Add kcsan_md_unsupported from NetBSD. 2019-11-21 13:22:23 +00:00
db_machdep.h
debug_monitor.h Move the struct debug_monitor_state out of _KERNEL. 2019-11-03 22:17:49 +00:00
disassem.h
dump.h
efi.h Catch exceptions during EFI RT calls on amd64. 2018-09-02 21:37:05 +00:00
elf.h arm64: fix incorrect HWCAP definitions 2020-09-08 15:08:20 +00:00
endian.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
exec.h
float.h
floatingpoint.h
fpu.h
frame.h Impleent COMPAT_FREEBSD32 for arm64. 2019-01-13 19:49:46 +00:00
hypervisor.h Update the hypervisor registers 2020-03-06 14:46:50 +00:00
ieeefp.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
ifunc.h Remove resolver_qual from DEFINE_IFUNC/DEFINE_UIFUNC macros. 2019-05-16 22:20:54 +00:00
in_cksum.h
intr.h Move the pl061 acpi attachment earlier 2020-09-10 14:58:46 +00:00
iodev.h
kdb.h
machdep.h Switch to an empty ttbr0 pagetable when the MMU is enabled 2020-09-03 10:11:12 +00:00
md_var.h Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions. 2020-09-19 11:06:41 +00:00
memdev.h Add the MEM_EXTRACT_PADDR ioctl to /dev/mem. 2020-09-02 18:12:47 +00:00
metadata.h
minidump.h
ofw_machdep.h
param.h Define MAXCPU consistently between the kernel and KLDs. 2020-02-05 19:08:21 +00:00
pcb.h Add support for setting hardware breakpoints from ptrace on arm64. 2019-11-03 15:42:08 +00:00
pci_cfgreg.h
pcpu_aux.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
pcpu.h Support creating and using arm64 pmap at stage 2 2020-05-27 08:00:38 +00:00
pmap.h Support creating and using arm64 pmap at stage 2 2020-05-27 08:00:38 +00:00
pmc_mdep.h
proc.h Utilize ASIDs to reduce both the direct and indirect costs of context 2019-11-03 17:45:30 +00:00
procctl.h amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
profile.h arm64: fix uintfptr_t 2020-08-05 22:09:57 +00:00
psl.h
pte.h Support creating and using arm64 pmap at stage 2 2020-05-27 08:00:38 +00:00
ptrace.h
reg.h Add support for setting hardware breakpoints from ptrace on arm64. 2019-11-03 15:42:08 +00:00
reloc.h
resource.h
runq.h
setjmp.h
sf_buf.h
sigframe.h Follow arm[32] and sparc64 KAPI and provide the FreeBSD standard spelling 2019-01-29 20:10:27 +00:00
signal.h
smp.h
stack.h
stdarg.h
sysarch.h
trap.h
ucontext.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
undefined.h Move ID reading signatures to a better header 2020-07-01 16:17:51 +00:00
vdso.h
vfp.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
vm.h
vmparam.h arm64: Increase dmap size to 95 TiB 2020-08-26 02:13:27 +00:00