freebsd-nq/sys/arm64/include
Alan Cox 56e66ce802 Ordinarily, during a superpage promotion or demotion within a pmap, the
pmap's lock ensures that other operations on the pmap don't observe the
old mapping being broken before the new mapping is established.  However,
pmap_kextract() doesn't acquire the kernel pmap's lock, so it may observe
the broken mapping.  And, if it does, it returns an incorrect result.

This revision implements a lock-free solution to this problem in
pmap_update_entry() and pmap_kextract() because pmap_kextract() can't
acquire the kernel pmap's lock.

Reported by:	andrew, greg_unrelenting.technology
Reviewed by:	andrew, markj
Tested by:	greg_unrelenting.technology
X-MFC with:	r350579
Differential Revision:	https://reviews.freebsd.org/D21169
2019-08-08 06:26:34 +00:00
..
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h
_types.h Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
acpica_machdep.h Add support to find the arm64 serial using the ACPI tables. This uses the 2016-11-21 19:26:58 +00:00
armreg.h As with r350241 use the new UL macro on the main register mask. 2019-07-23 14:52:46 +00:00
asm.h In ARMv8.1 ARM has added a process state bit to disable access to userspace 2017-04-13 13:46:01 +00:00
atomic.h arm64: fix atomic_fcmpset_16 2018-05-28 21:05:00 +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
clock.h
counter.h Back pcpu zone with domain correct pages 2018-07-06 02:06:03 +00:00
cpu.h arm64: Implement HWCAP 2019-07-20 14:29:11 +00:00
cpufunc.h Implement the ffs and fls functions, and their longer counterparts, in 2019-05-17 15:52:17 +00:00
db_machdep.h Fix printing of negative offsets (typically from frame pointers) again. 2017-03-26 18:46:35 +00:00
debug_monitor.h Fix the arm64 kernel build when DDB is disabled, debug_monitor.c depends on 2016-09-13 15:45:22 +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: Implement HWCAP 2019-07-20 14:29:11 +00:00
endian.h Add parentheses missed in r320388 2017-06-27 16:30:01 +00:00
exec.h
float.h
floatingpoint.h
fpu.h Add machine/fpu.h on arm64 for compatibility with amd64. 2017-10-10 13:02:58 +00:00
frame.h Impleent COMPAT_FREEBSD32 for arm64. 2019-01-13 19:49:46 +00:00
hypervisor.h Add the ARMv8.3 HCR_EL2 register fields. 2018-11-01 17:05:10 +00:00
ieeefp.h
ifunc.h Remove resolver_qual from DEFINE_IFUNC/DEFINE_UIFUNC macros. 2019-05-16 22:20:54 +00:00
in_cksum.h
intr.h Create macros for the ACPI interrupt cross references. This is considered a 2018-03-07 13:16:03 +00:00
iodev.h
kdb.h
machdep.h Remove physmap from the arm64 machdep.h. This was missed in r334162. 2018-05-24 16:07:47 +00:00
md_var.h
memdev.h
metadata.h loader.efi: Make framebuffer commands available for arm64 2017-10-25 18:55:04 +00:00
minidump.h
ofw_machdep.h
param.h Add support for pmap_enter(psind = 1) to the arm64 pmap. 2018-07-20 16:37:04 +00:00
pcb.h Move the l0 pagetable address to struct mdproc. It is a property of the 2017-08-22 13:16:14 +00:00
pci_cfgreg.h
pcpu.h Use int for the pcpu_ssbd argument. This is included from userland and may 2018-07-31 15:08:02 +00:00
pmap.h Add kernel support for Intel userspace protection keys feature on 2019-02-20 09:51:13 +00:00
pmc_mdep.h
proc.h Add GET_STACK_USAGE() for arm64. 2018-05-23 15:43:35 +00:00
procctl.h amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
profile.h SPDX: Consider code from Carnegie-Mellon University. 2017-11-30 15:48:35 +00:00
psl.h
pte.h Ordinarily, during a superpage promotion or demotion within a pmap, the 2019-08-08 06:26:34 +00:00
ptrace.h
reg.h Impleent COMPAT_FREEBSD32 for arm64. 2019-01-13 19:49:46 +00:00
reloc.h
resource.h
runq.h
setjmp.h Move the stored signal mask later in the jump buf. It was being clobbered 2016-12-06 13:46:12 +00:00
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 Introduce an architecture-agnostic <sys/_stdarg.h> to reduce 2017-12-25 20:54:00 +00:00
sysarch.h
trap.h
ucontext.h Impleent COMPAT_FREEBSD32 for arm64. 2019-01-13 19:49:46 +00:00
undefined.h Move the undefined instruction handler to identcpu.c so we have access 2018-09-27 13:50:57 +00:00
vdso.h Add rudimentary support for building FreeBSD/arm64 with COMPAT_FREEBSD32. 2017-11-24 13:50:53 +00:00
vfp.h Impleent COMPAT_FREEBSD32 for arm64. 2019-01-13 19:49:46 +00:00
vm.h Add the VM_MEMATTR_WRITE_THROUGH memory type to arm64 and use it to support 2017-05-13 13:01:15 +00:00
vmparam.h Remove VM_FREELIST_ISADMA. It's not needed on these architectures. 2018-07-17 21:07:53 +00:00