Files
Minsoo Choo 592ede65bd libkvm: support powerpc64 radix minidumps
PowerPC64 radix minidumps use a 64KB root directory followed by three
levels of 4KB page tables.  Add an MMU backend which walks those tables,
handles large-page leaves, and decodes their always-big-endian entries
on both powerpc64 and powerpc64le.

Reject old radix minidumps whose pmap section is empty with a specific
diagnostic.  Add a synthetic powerpc64le dump test which reads a page
through both its kernel and direct-map addresses.

PR:		298532
Reviewed by:	jhb
Approved by:	jhb (mentor)
MFC after:	2 weeks
Sponsored by:	FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D59743
2026-09-28 11:54:20 -04:00

41 lines
1.1 KiB
Makefile

LIB= kvm
PACKAGE= runtime
SHLIBDIR?= /lib
SHLIB_MAJOR= 7
CFLAGS+=-DNO__SCCSID -I${.CURDIR}
SRCS= kvm.c kvm_cptime.c kvm_getloadavg.c \
kvm_getswapinfo.c kvm_pcpu.c kvm_private.c kvm_proc.c kvm_vnet.c \
kvm_minidump_aarch64.c \
kvm_amd64.c kvm_minidump_amd64.c \
kvm_arm.c kvm_minidump_arm.c \
kvm_i386.c kvm_minidump_i386.c \
kvm_powerpc.c kvm_powerpc64.c \
kvm_minidump_riscv.c \
kvm_minidump_powerpc64.c kvm_minidump_powerpc64_hpt.c \
kvm_minidump_powerpc64_radix.c
INCS= kvm.h
LIBADD= elf
MAN= kvm.3 kvm_getcptime.3 kvm_geterr.3 kvm_getloadavg.3 \
kvm_getpcpu.3 kvm_getprocs.3 kvm_getswapinfo.3 kvm_kerndisp.3 \
kvm_native.3 kvm_nlist.3 kvm_open.3 kvm_read.3
MLINKS+=kvm_getpcpu.3 kvm_getmaxcpu.3 \
kvm_getpcpu.3 kvm_dpcpu_setcpu.3 \
kvm_getpcpu.3 kvm_read_zpcpu.3 \
kvm_getpcpu.3 kvm_counter_u64_fetch.3
MLINKS+=kvm_getprocs.3 kvm_getargv.3 kvm_getprocs.3 kvm_getenvv.3
MLINKS+=kvm_nlist.3 kvm_nlist2.3
MLINKS+=kvm_open.3 kvm_close.3 kvm_open.3 kvm_open2.3 kvm_open.3 kvm_openfiles.3
MLINKS+=kvm_read.3 kvm_read2.3 kvm_read.3 kvm_write.3
.include <src.opts.mk>
HAS_TESTS=
SUBDIR.${MK_TESTS}= tests
.include <bsd.lib.mk>