opnsense-src/sys/conf
Mark Johnston c76c2a19ae vmm: Consolidate code which manages guest memory regions
On all three platforms supported by vmm, we have mostly duplicated code
to manage guest physical memory regions.  Deduplicate much of this code
and move it into sys/dev/vmm/vmm_mem.c.

To avoid exporting struct vm outside of machdep vmm.c, add a new
struct vm_mem to contain the memory segment descriptors, and add a
vm_mem() accessor, akin to vm_vmspace().  This way vmm_mem.c can
implement its routines without needing to see the layout of struct vm.

The handling of the per-VM vmspace is also duplicated but will be moved
to vmm_mem.c in a follow-up patch.

On amd64, move the ppt_is_mmio() check out of vm_mem_allocated() to keep
the code MI, as PPT is only implemented on amd64.  There are only a
couple of callers, so this is not unreasonable.

No functional change intended.

Reviewed by:	jhb
Differential Revision:	https://reviews.freebsd.org/D48270
2025-02-18 16:00:07 +00:00
..
config.mk Retire non-NEW_PCIB code and remove config option 2024-07-18 18:55:12 +01:00
debuginfo.ldscript kernel: Add new dwarf symbols 2024-07-31 22:23:25 -06:00
dtb.build.mk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
dtb.mk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
files flash: add w25n (nand flash) support 2025-02-14 19:03:55 -08:00
files.amd64 Revert "isp: Fix abort issue introduced by previous commit" 2025-01-08 13:20:09 -05:00
files.arm dtrace: Avoid including dtrace_isa.c directly into dtrace.c 2024-07-24 17:24:46 -04:00
files.arm64 vmm: Consolidate code which manages guest memory regions 2025-02-18 16:00:07 +00:00
files.i386 files.x86: Pull in some more duplicate lines from files.{amd64,i386} 2024-04-12 14:35:45 -07:00
files.powerpc ice_ddp: Update to 1.3.41.0 2024-10-28 15:55:25 -07:00
files.riscv vmm: Consolidate code which manages guest memory regions 2025-02-18 16:00:07 +00:00
files.x86 AMD IOMMU driver 2024-11-03 01:45:40 +02:00
kern.mk sys: Use gnu17 as the default C standard for the kernel 2025-02-11 09:17:01 -05:00
kern.opts.mk Revert "config.mk: Add MK_VIMAGE knob" 2024-04-25 22:43:36 +01:00
kern.post.mk sys: move SAN and COVERAGE options handling to kern.mk 2024-11-12 19:04:13 +00:00
kern.pre.mk conf: Fix KCSAN enablement checking 2024-11-17 16:40:33 +00:00
kmod.mk sys: move SAN and COVERAGE options handling to kern.mk 2024-11-12 19:04:13 +00:00
kmod.opts.mk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
kmod_syms.awk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
kmod_syms_prefix.awk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
ldscript.amd64 kernel: Fix defining of .init_array and .fini_array sections 2024-09-02 12:26:47 +08:00
ldscript.arm arm: link all .rodata variants into one output section 2024-11-17 12:35:55 +01:00
ldscript.arm64 kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.i386 kernel: Fix defining of .init_array and .fini_array sections 2024-09-02 12:26:47 +08:00
ldscript.kmod.amd64 sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ldscript.kmod.i386 sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ldscript.powerpc kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.powerpc64 kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.powerpc64le kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.powerpcspe kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.riscv kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
Makefile.amd64 sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
Makefile.arm genassym: Remove stale *if.h depends 2024-12-06 10:31:36 -07:00
Makefile.arm64 arm: Improve the creation of kernel.bin 2024-11-09 08:15:23 +01:00
Makefile.i386 sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
Makefile.powerpc sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
Makefile.riscv genassym: Remove stale *if.h depends 2024-12-06 10:31:36 -07:00
newvers.sh kernel: Print SOURCE_DATE_EPOCH in UTC 2025-02-03 15:58:32 -08:00
NOTES gvinum: Remove kernel support 2025-01-23 11:20:42 -05:00
options kgssapi: remove the debug module 2025-01-08 20:00:12 -08:00
options.amd64 uart: Support EARLY_PRINTF on x86 for port-mapped COM ports 2023-10-20 16:07:24 -06:00
options.arm arm: prune imx5 support from the tree 2023-10-26 22:55:17 -05:00
options.arm64 arm64: Add a new SOC_ROCKCHIP option 2025-01-06 08:36:58 +01:00
options.i386 i386: Use DEV_HYPERV to enable HyperV APIC vector 2024-04-13 19:10:44 -07:00
options.powerpc sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
options.riscv riscv: Allwinner D1 clock and reset driver 2024-11-16 15:04:04 -04:00
std.debug netinet: default mib counter probe points off 2024-11-20 09:52:48 +01:00
std.nodebug netinet: default mib counter probe points off 2024-11-20 09:52:48 +01:00
sysent.mk Update mentions of makesyscalls.lua 2024-10-30 21:04:31 +00:00
systags.sh sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
vdso_amd64.ldscript spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
vdso_amd64_ia32.ldscript spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
WITHOUT_SOURCELESS sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
WITHOUT_SOURCELESS_HOST sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
WITHOUT_SOURCELESS_UCODE sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00