#
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 ...
|
Revision tags: release/14.0.0 |
|
#
1d386b48 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
e6901a29 |
| 30-Aug-2022 |
Ashish SHUKLA <ashish@FreeBSD.org> |
kvm_close(3): Check kd->sparse_map != NULL before munmap
PR: 266113 Reviewed by: markj
|
Revision tags: release/13.1.0, release/12.3.0, release/13.0.0 |
|
#
483c6da3 |
| 04-Mar-2021 |
Jung-uk Kim <jkim@FreeBSD.org> |
libkvm: Refine the previous commit (645eaa2ccaed)
Resort free()'ing memory in kvm_close() to make it easier to MFC.
MFC after: 3 days
|
#
645eaa2c |
| 04-Mar-2021 |
Jung-uk Kim <jkim@FreeBSD.org> |
libkvm: Plug couple of memory leaks and check possible calloc(3) failure
First, r204494 introduced dpcpu_off in struct __kvm and it was allocated from _kvm_dpcpu_init() but it was not free(3)'ed fro
libkvm: Plug couple of memory leaks and check possible calloc(3) failure
First, r204494 introduced dpcpu_off in struct __kvm and it was allocated from _kvm_dpcpu_init() but it was not free(3)'ed from kvm_close(3). Second, r291406 introduced kvm_nlist2(3) and converted kvm_nlist(3) to use the new function but it did not free the temporary buffer. Also, check possible calloc(3) failure while I am in the neighborhood.
MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D29019
show more ...
|
Revision tags: release/12.2.0, release/11.4.0 |
|
#
3c4ad300 |
| 17-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358000 through r358048.
|
#
10108cb6 |
| 17-Feb-2020 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Partially revert VNET change and expand VNET structure.
Revert parts of r353274 replacing vnet_state with a shutdown flag.
Not having the state flag for the current SI_SUB_* makes it harder to debu
Partially revert VNET change and expand VNET structure.
Revert parts of r353274 replacing vnet_state with a shutdown flag.
Not having the state flag for the current SI_SUB_* makes it harder to debug kernel or module panics related to VNET bringup or teardown. Not having the state also does not allow us to check for other dependency levels between components, e.g. for moving interfaces.
Expand the VNET structure with the new boolean flag indicating that we are doing a shutdown of a given vnet and update the vnet magic cookie for the change.
Update libkvm to compile with a bool in the kernel struct.
Bump __FreeBSD_version for (external) module builds to more easily detect the change.
Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23097
show more ...
|
#
bc02c18c |
| 07-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357408 through r357661.
|
#
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 ...
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
#
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 ...
|
#
82725ba9 |
| 23-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325999 through r326131.
|
#
8a16b7a1 |
| 20-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
General further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 3-Clause license.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier f
General further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 3-Clause license.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
show more ...
|
#
55b1c6e7 |
| 15-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325663 through r325841.
|
#
c9057838 |
| 12-Nov-2017 |
Will Andrews <will@FreeBSD.org> |
libkvm: add kvm_walk_pages API.
This API allows callers to enumerate all known pages, including any direct map & kernel map virtual addresses, physical addresses, size, offset into the core, & prote
libkvm: add kvm_walk_pages API.
This API allows callers to enumerate all known pages, including any direct map & kernel map virtual addresses, physical addresses, size, offset into the core, & protection configured.
For architectures that support direct map addresses, also generate pages for any direct map only addresses that are not associated with kernel map addresses.
Fix page size portability issue left behind from previous kvm page table lookup interface.
Reviewed by: jhb Sponsored by: Backtrace I/O Differential Revision: https://reviews.freebsd.org/D12279
show more ...
|
Revision tags: release/10.4.0, release/11.1.0 |
|
#
0f5425a4 |
| 21-Mar-2017 |
Enji Cooper <ngie@FreeBSD.org> |
kvm_write: fix -Wcast-qual warning in pointer arithmetic argument
Cast buf to `const char *` when doing arithmetic operation to match `cp`'s type [1].
Differential Revision: D10082 MFC after: 1 wee
kvm_write: fix -Wcast-qual warning in pointer arithmetic argument
Cast buf to `const char *` when doing arithmetic operation to match `cp`'s type [1].
Differential Revision: D10082 MFC after: 1 week Reviewed by: cem (earlier diff), vangyzen Submitted by: cem [1] Sponsored by: Dell EMC Isilon
show more ...
|
#
7d0a282a |
| 21-Mar-2017 |
Enji Cooper <ngie@FreeBSD.org> |
kvm_geterr: handle `kd` == NULL in a deterministic/graceful manner
Return a NUL string instead of just working by accident with kvm_geterr(3) when MALLOC_PRODUCTION is disabled (I didn't confirm the
kvm_geterr: handle `kd` == NULL in a deterministic/graceful manner
Return a NUL string instead of just working by accident with kvm_geterr(3) when MALLOC_PRODUCTION is disabled (I didn't confirm the MALLOC_PRODUCTION being enabled path).
Document the new explicit return behavior for kvm_geterr(3), as well as the previous implicit behavior, i.e., the buffer attached to returned via kvm_geterr(3) would be empty if a previous error hadn't been stored in `kd`.
Differential Revision: D10022 MFC after: 1 week Reviewed by: vangyzen Sponsored by: Dell EMC Isilon
show more ...
|
#
54fc00f7 |
| 20-Mar-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Handle kd == NULL gracefully with kvm_close(3)
Don't segfault in kvm_close(3) if provided a NULL pointer. Instead, return -1 and set errno to EINVAL.
Document this new behavior explicitly.
MFC aft
Handle kd == NULL gracefully with kvm_close(3)
Don't segfault in kvm_close(3) if provided a NULL pointer. Instead, return -1 and set errno to EINVAL.
Document this new behavior explicitly.
MFC after: 1 week Reviewed by: vangyzen Sponsored by: Dell EMC Isilon Differential Revision: D10065
show more ...
|
#
4937896a |
| 20-Mar-2017 |
Enji Cooper <ngie@FreeBSD.org> |
kvm_close(3): return `error` instead of blindly returning `0`
`error` is the accumulated error from previous close(2) calls.
This bug has been present since the libcall's import from 4.4BSD Lite (r
kvm_close(3): return `error` instead of blindly returning `0`
`error` is the accumulated error from previous close(2) calls.
This bug has been present since the libcall's import from 4.4BSD Lite (r1573).
MFC after: 1 week Noticed by: vangyzen (D10022) Relnotes: yes Sponsored by: Dell EMC Isilon
show more ...
|
#
28047d83 |
| 16-Mar-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Return NULL instead of 0 on failure in _kvm_open, kvm_open{,2,files}
This is being done for the following reasons: - kvm_open(3), etc says they will return NULL. - NULL by definition is (void*)0 per
Return NULL instead of 0 on failure in _kvm_open, kvm_open{,2,files}
This is being done for the following reasons: - kvm_open(3), etc says they will return NULL. - NULL by definition is (void*)0 per POSIX, but can be redefined, depending on the compiler, etc.
MFC after: 1 week Sponsored by: Dell EMC Isilon
show more ...
|
#
348238db |
| 01-Mar-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r314420 through r314481.
|
#
fbbd9655 |
| 01-Mar-2017 |
Warner Losh <imp@FreeBSD.org> |
Renumber copyright clause 4
Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is
Renumber copyright clause 4
Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point.
Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96
show more ...
|
#
7502cc40 |
| 27-Dec-2016 |
Andriy Gapon <avg@FreeBSD.org> |
libkvm: support access to vmm guest memory, allow writes to fwmem and vmm
This change consists of two parts: - allow libkvm to recognize /dev/vmm/* character devices as devices that provide access
libkvm: support access to vmm guest memory, allow writes to fwmem and vmm
This change consists of two parts: - allow libkvm to recognize /dev/vmm/* character devices as devices that provide access to the physical memory of a system (similarly to /dev/fwmem*) - allow libkvm to recognize that /dev/vmm/* and /dev/fwmem* devices provide access to the physical memory of live remote systems and, thus, the memory is writable
As a result, it should be possible to run commands like $ kgdb -w /path/to/kernel /dev/fwmem0.0 $ kgdb /path/to/kernel /dev/vmm/guest
Reviewed by: kib, jhb MFC after: 2 weeks Relnotes: yes Sponsored by: Panzura Differential Revision: https://reviews.freebsd.org/D8679
show more ...
|
Revision tags: release/11.0.1, release/11.0.0 |
|
#
ffdeef32 |
| 18-Jul-2016 |
Will Andrews <will@FreeBSD.org> |
libkvm: Improve physical address lookup scaling.
Instead of using a hash table to convert physical page addresses to offsets in the sparse page array, cache the number of bits set for each 4MB chunk
libkvm: Improve physical address lookup scaling.
Instead of using a hash table to convert physical page addresses to offsets in the sparse page array, cache the number of bits set for each 4MB chunk of physical pages. Upon lookup, find the nearest cached population count, then add/subtract the number of bits from that point to the page's PTE bit. Then multiply by page size and add to the sparse page map's base offset.
This replaces O(n) worst-case lookup with O(1) (plus a small number of bits to scan in the bitmap). Also, for a 128GB system, a typical kernel core of about 8GB will now only require ~4.5MB of RAM for this approach instead of ~48MB as with the hash table.
More concretely, /usr/sbin/crashinfo against the same core improves from a max RSS of 188MB and wall time of 43.72s (33.25 user 2.94 sys) to 135MB and 9.43s (2.58 user 1.47 sys). Running "thread apply all bt" in kgdb has a similar RSS improvement, and wall time drops from 4.44s to 1.93s.
Reviewed by: jhb Sponsored by: Backtrace I/O
show more ...
|
#
197eca22 |
| 18-Jul-2016 |
Will Andrews <will@FreeBSD.org> |
libkvm: Put private kvm routines in kvm_private.c.
|
#
75f46cf6 |
| 01-May-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
lib: minor spelling fixes in comments.
No functional change.
|