History log of /freebsd-current/lib/libcuse/cuse_lib.c
Revision Date Author Comments
# 2a63c3be 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c comment pattern

Remove /^/[*/]\s*\$FreeBSD\$.*\n/


# 58a8f6e9 18-Jul-2022 Hans Petter Selasky <hselasky@FreeBSD.org>

cuse(3): Allow allocating a memory buffer of exactly 2 GBytes.

The manual page date will be bumped separately.

MFC after: 1 week
Sponsored by: NVIDIA Networking


# 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


# 2ca43c3d 13-Jul-2022 Hans Petter Selasky <hselasky@FreeBSD.org>

cuse(3): Make cuse_vmfree() NULL safe.

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


# 1c5fd754 25-Apr-2016 Pedro F. Giffuni <pfg@FreeBSD.org>

libcuse: make more use of the howmany() macro when available.

We have a howmany() macro in the <sys/param.h> header that is
convenient to re-use as it makes things easier to read.


# 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.


# fc6e35c6 13-Oct-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix compiler locking diagnostic warnings.

PR: 194289


# 8da51298 01-Sep-2014 Ed Schouten <ed@FreeBSD.org>

Add lock annotations to libcuse.

- Add annotations to the lock/unlock function to indicate that the
function is allowed to lock and unlock the underlying pthread mutex.

- Add __guarded_by() annotations to the global variables.

Approved by: hselasky@


# 8958a2f0 16-Jun-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix destruction of character devices by passing correct pointer to
kernel in IOCTL request.

Submitted by: Andrey Zholos <aaz@q-fu.com>


# 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.