| #
592ede65 |
| 16-Sep-2026 |
Minsoo Choo <mchoo@FreeBSD.org> |
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
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
show more ...
|
| #
e9ac4169 |
| 15-Jul-2024 |
Warner Losh <imp@FreeBSD.org> |
Remove residual blank line at start of Makefile
This is a residual of the $FreeBSD$ removal.
MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
|
| #
dc36d6f9 |
| 23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
lib: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl s
lib: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script.
Sponsored by: Netflix
show more ...
|
| #
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
fe532f1a |
| 31-Dec-2021 |
Warner Losh <imp@FreeBSD.org> |
libkvm: Remove mips support
libkvm references files in sys/mips, so remove it ahead of removing sys/mips.
Sponsored by: Netflix
|
| #
7cc42f6d |
| 01-Oct-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Do a sweep and remove most WARNS=6 settings
Repeating the default WARNS here makes it slightly more difficult to experiment with default WARNS changes, e.g. if we did something absolutely bananas an
Do a sweep and remove most WARNS=6 settings
Repeating the default WARNS here makes it slightly more difficult to experiment with default WARNS changes, e.g. if we did something absolutely bananas and introduced a WARNS=7 and wanted to try lifting the default to that.
Drop most of them; there is one in the blake2 kernel module, but I suspect it should be dropped -- the default WARNS in the rest of the build doesn't currently apply to kernel modules, and I haven't put too much thought into whether it makes sense to make it so.
show more ...
|
| #
38cf2a43 |
| 06-Feb-2020 |
Leandro Lupori <luporl@FreeBSD.org> |
Implement kvm_kerndisp
This change adds a new libkvm function, kvm_kerndisp(), that can be used to retrieve the kernel displacement, that is the difference between the kernel's base virtual address
Implement kvm_kerndisp
This change adds a new libkvm function, kvm_kerndisp(), that can be used to retrieve the kernel displacement, that is the difference between the kernel's base virtual address at run time and the kernel base virtual address specified in the kernel image file.
This will be used by kgdb, to properly relocate kernel symbols, when needed.
Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D23285
show more ...
|
| #
58aa35d4 |
| 03-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove sparc64 kernel support
Remove all sparc64 specific files Remove all sparc64 ifdefs Removee indireeect sparc64 ifdefs
|
| #
d3c34fc0 |
| 09-Dec-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
[PPC64] Initial libkvm minidump implementation
This change adds PowerPC64 support for minidumps on libkvm.
Address translation, page walk, and data retrieval were tested and seem to be working corr
[PPC64] Initial libkvm minidump implementation
This change adds PowerPC64 support for minidumps on libkvm.
Address translation, page walk, and data retrieval were tested and seem to be working correctly.
Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D21555
show more ...
|
| #
a7b5a3d4 |
| 05-Sep-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
pkgbase: Put a lot of binaries and lib in FreeBSD-runtime
All of them are needed to be able to boot to single user and be able to repair a existing FreeBSD installation so put them directly into Fre
pkgbase: Put a lot of binaries and lib in FreeBSD-runtime
All of them are needed to be able to boot to single user and be able to repair a existing FreeBSD installation so put them directly into FreeBSD-runtime.
Reviewed by: bapt, gjb Differential Revision: https://reviews.freebsd.org/D21503
show more ...
|
| #
5e58ed82 |
| 06-Mar-2019 |
Mark Johnston <markj@FreeBSD.org> |
Add riscv minidump support to libkvm.
Submitted by: Mitchell Horne <mhorne063@gmail.com> Differential Revision: https://reviews.freebsd.org/D19171
|
| #
993d074b |
| 22-May-2018 |
John Baldwin <jhb@FreeBSD.org> |
Use __SCCSID for SCCS IDs in libkvm sources.
Rather than using #ifdef's around a static char array, use the existing helper macro from <sys/cdefs.h> for SCCS IDs. To preserve existing behavior, add
Use __SCCSID for SCCS IDs in libkvm sources.
Rather than using #ifdef's around a static char array, use the existing helper macro from <sys/cdefs.h> for SCCS IDs. To preserve existing behavior, add -DNO__SCCSID to CFLAGS to not include SCCS IDs in the built library by default.
Reviewed by: brooks, dab (older version) Reviewed by: rgrimes Differential Revision: https://reviews.freebsd.org/D15459
show more ...
|
| #
8c099357 |
| 02-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Add HAS_TESTS to all Makefiles that use the SUBDIR.${MK_TESTS}+= tests idiom
|
| #
10f81a9b |
| 28-Mar-2017 |
Enji Cooper <ngie@FreeBSD.org> |
lib/libkvm: start adding basic tests for kvm(3)
- kvm_close: add a testcase to verify support for errno = EINVAL / -1 (see D10065) when kd == NULL is provided to the libcall. - kvm_geterr: -- Add
lib/libkvm: start adding basic tests for kvm(3)
- kvm_close: add a testcase to verify support for errno = EINVAL / -1 (see D10065) when kd == NULL is provided to the libcall. - kvm_geterr: -- Add a negative testcase for kd == NULL returning "" (see D10022). -- Add two positive testcases: --- test the error case using kvm_write on a O_RDONLY descriptor. --- test the "no error" case using kvm_read(3) and kvm_nlist(3) as helper routines and by injecting a bogus error message via _kvm_err (an internal API) _kvm_err was used as there isn't a formalized way to clear the error output, and because kvm_nlist always returns ENOENT with the NULL terminator today. - kvm_open, kvm_open2: -- Add some basic negative tests for kvm_open(3) and kvm_open2(3). Testing positive cases with a specific `corefile`/`execfile`/`resolver` requires more work and would require user intervention today in order to reliably test this out.
Reviewed by: markj MFC after: 2 months Sponsored by: Dell EMC Isilon Differential Revision: D10024
show more ...
|
| #
25e76a1d |
| 22-Mar-2017 |
Enji Cooper <ngie@FreeBSD.org> |
libkvm: bump WARNS to 6 after recent commits done to resolve warnings issues
MFC after: 1 month Tested with: make tinderbox; clang 4.0.0 (amd64), gcc 4.2.1/6.3.0 (amd64) Sponsored by: Dell EMC Isilon
|
| #
197eca22 |
| 18-Jul-2016 |
Will Andrews <will@FreeBSD.org> |
libkvm: Put private kvm routines in kvm_private.c.
|
| #
7aad67e9 |
| 30-Apr-2016 |
Enji Cooper <ngie@FreeBSD.org> |
Remove kvm_getfiles(3)
This libcall has been broken since (at least) r174989/8.0-RELEASE.
Bump SHLIB_MAJOR for the change
Differential Revision: https://reviews.freebsd.org/D6052 Relnotes: yes Rev
Remove kvm_getfiles(3)
This libcall has been broken since (at least) r174989/8.0-RELEASE.
Bump SHLIB_MAJOR for the change
Differential Revision: https://reviews.freebsd.org/D6052 Relnotes: yes Reviewed by: jhb, markj Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
a70cba95 |
| 04-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
First pass through library packaging.
Sponsored by: The FreeBSD Foundation
|
| #
7f911abe |
| 27-Nov-2015 |
John Baldwin <jhb@FreeBSD.org> |
Add support to libkvm for reading vmcores from other architectures. - Add a kvaddr_type to represent kernel virtual addresses instead of unsigned long. - Add a struct kvm_nlist which is a stripped
Add support to libkvm for reading vmcores from other architectures. - Add a kvaddr_type to represent kernel virtual addresses instead of unsigned long. - Add a struct kvm_nlist which is a stripped down version of struct nlist that uses kvaddr_t for n_value. - Add a kvm_native() routine that returns true if an open kvm descriptor is for a native kernel and memory image. - Add a kvm_open2() function similar to kvm_openfiles(). It drops the unused 'swapfile' argument and adds a new function pointer argument for a symbol resolving function. Native kernels still use _fdnlist() from libc to resolve symbols if a resolver function is not supplied, but cross kernels require a resolver. - Add a kvm_nlist2() function similar to kvm_nlist() except that it uses struct kvm_nlist instead of struct nlist. - Add a kvm_read2() function similar to kvm_read() except that it uses kvaddr_t instead of unsigned long for the kernel virtual address. - Add a new kvm_arch switch of routines needed by a vmcore backend. Each backend is responsible for implementing kvm_read2() for a given vmcore format. - Use libelf to read headers from ELF kernels and cores (except for powerpc cores). - Add internal helper routines for the common page offset hash table used by the minidump backends. - Port all of the existing kvm backends to implement a kvm_arch switch and to be cross-friendly by using private constants instead of ones that vary by platform (e.g. PAGE_SIZE). Static assertions are present when a given backend is compiled natively to ensure the private constants match the real ones. - Enable all of the existing vmcore backends on all platforms. This means that libkvm on any platform should be able to perform KVA translation and read data from a vmcore of any platform.
Tested on: amd64, i386, sparc64 (marius) Differential Revision: https://reviews.freebsd.org/D3341
show more ...
|
| #
18b2ee82 |
| 15-Jun-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Revert r284417 it is not necessary anymore
|
| #
4232f826 |
| 15-Jun-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Enforce overwritting SHLIBDIR
Since METAMODE has been added, sys.mk loads bsd.mkopt.mk which ends load loading bsd.own.mk which then defines SHLIBDIR before all the Makefile.inc everywhere.
This ma
Enforce overwritting SHLIBDIR
Since METAMODE has been added, sys.mk loads bsd.mkopt.mk which ends load loading bsd.own.mk which then defines SHLIBDIR before all the Makefile.inc everywhere.
This makes /lib being populated again.
Reported by: many
show more ...
|
| #
73279d41 |
| 23-Mar-2014 |
Andrew Turner <andrew@FreeBSD.org> |
Add a new ARM TARGET_ARCH, armv6hf. This is considered experimental.
This targets the existing ARMv6 and ARMv7 SoCs that contain a VFP unit. This is an optional coprocessors may not be present in al
Add a new ARM TARGET_ARCH, armv6hf. This is considered experimental.
This targets the existing ARMv6 and ARMv7 SoCs that contain a VFP unit. This is an optional coprocessors may not be present in all devices, however it appears to be in all current SoCs we support.
armv6hf targets the VFP variant of the ARM EABI and our copy of gcc is too old to support this. Because of this there are a number of WITH/WITHOUT options that are unsupported and must be left as the default value. The options and their required value are: * WITH_ARM_EABI * WITHOUT_GCC * WITHOUT_GNUCXX
In addition, without an external toolchain, the following need to be left as their default: * WITH_CLANG * WITH_CLANG_IS_CC
As there is a different method of passing float and double values to functions the ABI is incompatible with existing armv6 binaries. To use this a full rebuild of world is required. Because no floating point values are passed into the kernel an armv6 kernel with VFP enabled will work with an armv6hf userland and vice versa.
show more ...
|
| #
f864e2ab |
| 13-Jan-2014 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Re-apply the part of r260022 that was reverted by r260030 with one significant difference: for LIB32 builds both TARGET_ARCH and MACHINE_ARCH are defined. TARGET_ARCH confusingly holds the architectu
Re-apply the part of r260022 that was reverted by r260030 with one significant difference: for LIB32 builds both TARGET_ARCH and MACHINE_ARCH are defined. TARGET_ARCH confusingly holds the architecture of the host (e.g. amd64), while MACHINE_ARCH holds the architecture were trying to build (e.g. i386). With both set and different, r260022 changed the behaviour to interpret the condition as building a cross-amd64 libkvm on i386, when obviously we're trying to build an i386 version on amd64. When COMPAT_32BIT is defined, we're building LIB32 and ignore the value of TARGET_ARCH as we did before.
show more ...
|
| #
71694e55 |
| 29-Dec-2013 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Revert part of r260022: LIB32 builds were broken by it.
|
| #
3f6558c4 |
| 29-Dec-2013 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Allow building a cross libkvm by setting TARGET_ARCH. The library so produced will be called libkvm-${ARCH} instead of libkvm. This allows installing it alongside the native version. For symbol looku
Allow building a cross libkvm by setting TARGET_ARCH. The library so produced will be called libkvm-${ARCH} instead of libkvm. This allows installing it alongside the native version. For symbol lookups, use ps_pglobal_lookup() instead of __fdnlist() when building a cross libkvm. It is assumed that the cross tool that uses the cross libkvm also provides an implementation for this proc_services function.
Note that this commit does not change any of the architecture-specific code for cross-compilation.
show more ...
|