#
71625ec9 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c comment pattern Remove /^/[*/]\s*\$FreeBSD\$.*\n/
|
#
d14b53ee |
|
13-Jul-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
cuse(3): Allow shared memory allocations up to, but excluding 2 GBytes. Currently the cuse(3) mmap(2) offset is split into 128 banks of 16 Mbytes. Allow cuse(3) to make allocations that span multiple banks at the expense of any fragmentation issues that may arise. Typically mmap(2) buffers are well below 16 Mbytes. This allows 8K video resolution to work using webcamd. Reviewed by: markj @ Differential Revision: https://reviews.freebsd.org/D35830 MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
2c28cd09 |
|
23-Jun-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
cuse(3): Remove PAGE_SIZE from libcuse. To allow for a dynamic page size on arm64 remove the static value from libcuse. Differential Revision: https://reviews.freebsd.org/D35585 MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
56c49c63 |
|
03-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Allow CUSE(3) to free all memory mapped memory by using regular SWAP objects instead of malloc(). The SWAP objects are automagically freed when there are no more consumers. This greatly simplifies the mmap logic inside CUSE(3) in the kernel. This change fixes an issue where mmapped memory can accumulate and never get freed, if many different mmap sizes are needed over time. Further this change fixes memory leaks when the CUSE(3) kernel module is unloaded. While at it make sure the CUSE_ALLOC_PAGES_MAX limit is treated as an exclusive limit. CUSE(3) memory maps must be less than CUSE_ALLOC_PAGES_MAX number of pages. Reviewed by: kib @ Differential Revision: https://reviews.freebsd.org/D11392 Sponsored by: Mellanox Technologies MFC after: 1 week
|
#
beebd9aa |
|
22-Dec-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Make CUSE usable with platforms where the size of "unsigned long" is different from the size of a pointer.
|
#
9fb69c9d |
|
22-Dec-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Make CUSE usable with platforms where the size of "unsigned long" is different from the size of a pointer.
|
#
fa0f6e62 |
|
23-May-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Initial import of character device in userspace support for FreeBSD. The CUSE library is a wrapper for the devfs kernel functionality which is exposed through /dev/cuse . In order to function the CUSE kernel code must either be enabled in the kernel configuration file or loaded separately as a module. Currently none of the committed items are connected to the default builds, except for installing the needed header files. The CUSE code will be connected to the default world and kernel builds in a follow-up commit. The CUSE module was written by Hans Petter Selasky, somewhat inspired by similar functionality found in FUSE. The CUSE library can be used for many purposes. Currently CUSE is used when running Linux kernel drivers in user-space, which need to create a character device node to communicate with its applications. CUSE has full support for almost all devfs functionality found in the kernel: - kevents - read - write - ioctl - poll - open - close - mmap - private per file handle data Requested by several people. Also see "multimedia/cuse4bsd-kmod" in ports.
|