freebsd-dev/sys/arm/include
Mitchell Horne 49439183ce Convert arm's physmem interface to MI code
The arm_physmem interface found in arm's MD code provides a convenient
set of routines for adding/excluding physical memory regions and
initializing important kernel globals such as Maxmem, realmem,
phys_avail[], and dump_avail[]. It is especially convenient for FDT
systems, since we can use FDT parsing functions and pass the result
directly to one of these physmem routines. This interface is already in
use on arm and arm64, and can be used to simplify this early
initialization on RISC-V as well.

This requires only a couple trivial changes:
  - Move arm_physmem_kernel_addr to arm/machdep.c. It is unused on arm64,
    and manipulated entirely in arm MD code.
  - Convert arm32_btop/arm64_btop to atop. This is equivalently defined
    on all architectures.
  - Drop the "arm" prefix.

Reviewed by:	manu, emaste ("looks reasonable")
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D24153
2020-04-19 00:12:30 +00:00
..
_align.h
_bus.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
_inttypes.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
_limits.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_stdint.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
_types.h Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
acle-compat.h
armreg.h Revert r336773: it removed too much. 2018-07-27 21:25:01 +00:00
asm.h Also check if __ARM_ARCH_6KZ__ is defined when detecting when to use ARMv6 2018-07-18 09:17:37 +00:00
asmacros.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
atags.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
atomic-v4.h Expand generic subword atomic primitives 2020-03-25 23:12:43 +00:00
atomic-v6.h Add a missing suffix that was causing a whole word to get loaded instead 2020-03-29 17:30:08 +00:00
atomic.h Expand generic subword atomic primitives 2020-03-25 23:12:43 +00:00
blockio.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
bus_dma.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
bus.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
clock.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
counter.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
cpu-v4.h Revert r336773: it removed too much. 2018-07-27 21:25:01 +00:00
cpu-v6.h
cpu.h align use of cp15_pmccntr_get with its availability 2019-10-07 07:37:42 +00:00
cpufunc.h Implement the ffs and fls functions, and their longer counterparts, in 2019-05-28 15:47:00 +00:00
cpuinfo.h Implement mitigation for Spectre version 2 attacks on ARMv7. 2018-01-27 11:19:41 +00:00
db_machdep.h No need to force md code to define a macro that's the same as 2018-04-16 13:52:23 +00:00
debug_monitor.h
disassem.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
dump.h
efi.h
elf.h Move the fixed base for PIE loading on arm. 2018-11-04 19:11:32 +00:00
endian.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
exec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
fdt.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
fiq.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
float.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
floatingpoint.h
frame.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
gdb_machdep.h amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
ieee.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ieeefp.h
in_cksum.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
intr.h Remove checks for now unsupported CPU_* values in arm headers. 2018-08-15 13:48:59 +00:00
kdb.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
limits.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
machdep.h Declare the global kernel symbols created by ldscript.arm in arm's machdep.h, 2019-12-06 03:48:35 +00:00
md_var.h Convert arm's physmem interface to MI code 2020-04-19 00:12:30 +00:00
memdev.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
metadata.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
minidump.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
ofw_machdep.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
param.h Define MAXCPU consistently between the kernel and KLDs. 2020-02-05 19:08:21 +00:00
pcb.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
pcpu_aux.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
pcpu.h arm: Implement cpu_est_clockrate for armv[67] 2018-07-19 11:27:11 +00:00
pl310.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
platform.h
platformvar.h Use named field's initializer when constructing <foo>_platform structure. 2019-03-19 14:32:54 +00:00
pmap_var.h
pmap-v4.h Remove the L1 and L2 xscale page defines and rename the generic macros to 2018-08-16 10:00:51 +00:00
pmap-v6.h Add support for pmap_enter(..., psind=1) to the armv6 pmap. In other words, 2018-08-08 16:55:01 +00:00
pmap.h Introduce vm_page_astate. 2019-12-10 18:14:50 +00:00
pmc_mdep.h Revert r336773: it removed too much. 2018-07-27 21:25:01 +00:00
proc.h
procctl.h amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
profile.h Remove two obsolete comments that reference splhigh/splx. 2019-11-21 18:49:54 +00:00
psl.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
pte-v4.h Revert r336773: it removed too much. 2018-07-27 21:25:01 +00:00
pte-v6.h
ptrace.h
reg.h
reloc.h
resource.h
runq.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
sc_machdep.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
setjmp.h
sf_buf.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
sigframe.h
signal.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
smp.h Only support INTRNG in the SMP code on arm. We already require INTRNG on 2018-07-28 07:54:21 +00:00
stack.h Rewrite arm kernel stack unwind code to work when unwinding through modules. 2019-12-15 21:16:35 +00:00
stdarg.h Introduce an architecture-agnostic <sys/_stdarg.h> to reduce 2017-12-25 20:54:00 +00:00
swi.h
sysarch.h De-pollute arm's sysarch.h. 2019-07-10 14:34:52 +00:00
sysreg.h Add the virtualisation special register definitions. 2017-12-14 13:19:43 +00:00
trap.h
ucontext.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
undefined.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
utrap.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
vdso.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
vfp.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
vm.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
vmparam.h Define PHYS_TO_DMAP() and DMAP_TO_PHYS() as panics on the architectures 2018-01-19 22:17:13 +00:00