Commit Graph

23 Commits

Author SHA1 Message Date
arcnmx
a9b5302a51 [module] fix compile on 5.16
The `DMA_BUF` namespace was introduced in:
16b0314aa7
2022-01-14 12:14:21 +11:00
Geoffrey McRae
952ebea2c5 [all] refresh copyright dates 2022-01-05 19:42:46 +11:00
Quantum
51b9cd4e5a [all] copyright: use unicode copyright sign ©
This is done for consistency with the license strings in appstrings.c.
2021-08-04 21:16:35 +10:00
Quantum
24d0aa0c18 [all] normalize copyright on all source files 2021-06-06 11:53:05 +10:00
Geoffrey McRae
1fc31ba832 [module] bump version and add copyright for @quantum5 2021-02-21 14:17:22 +11:00
Quantum
7e58278858 [module] fault in pages one by one for ivshmem devices
It appears that the PCI BAR memory is slow to access with remap_pfn_range
and that it should instead be faulted in one page at a time.

The commit 5774e21965 implemented the former
behaviour and caused a performance regression in the VM->VM case.

This commit retores the old behaviour, but extends it to support mmaping
the kvmfr device directly, without going through a dmabuf.
2021-02-21 14:13:24 +11:00
Quantum
5774e21965 [module] implement mmap on PCI kvmfr devices
This allows PCI kvmfr devices to be directly mmap'd just like in-memory
ones. Also, the more efficient mmap implementation is used for mapping
the dmabuf, avoiding the faulting code entirely.
2021-02-21 10:31:48 +11:00
Quantum
2c909f0af7 [module] improve dmabuf mmap logic for vmalloc'd memory
Instead of faulting the pages in one by one when mmaping on the dma fd,
we could instead use remap_vmalloc_range to map in all the memory at
once.
2021-02-21 10:31:48 +11:00
Quantum
b447b78b17 [module] support in-memory kvmfr devices
Added an array option static_size_mb to the kvmfr module to create a
list of in-memory kvmfr devices. These devices support dmabuf just like
normal kvmfr devices. Additionally, they can be mmap'd, which allows
them to be passed to qemu as ivshmem devices.
2021-02-21 10:31:48 +11:00
Geoffrey McRae
1313858889 [module] fix loading on 5.10, new member nr_range must be specified 2021-01-03 23:41:59 +11:00
aspen
69b8c4b4eb module: fix kernel module compilation on Linux 5.10+
linux@a4574f63 caused the kernel module to fail to compile, due to
changing the dev_pagemap->res field to dev_pagemap->range.

Closes #328
2020-12-03 02:18:59 +11:00
Geoffrey McRae
87a2fc2c9e [module] updated description, copyright and author 2020-11-02 13:12:48 +11:00
four0four
c0acfd1228 [module] fix integer overflow in kvmfr_dmabuf_create 2020-10-30 18:24:02 +11:00
Geoffrey McRae
3de2641d92 [module] fix compile on >= 5.9.0
fixes #314
2020-10-30 16:14:06 +11:00
Geoffrey McRae
fd2801a670 [module] remove now deprecated uio support 2020-10-30 16:02:31 +11:00
Geoffrey McRae
1ac13658e1 [module] fix compilation for linux 5.6 2020-03-11 00:28:44 +11:00
Geoffrey McRae
687eddcc63 [kvmfr] fixed incorrect buffer size calculation 2020-01-24 17:07:09 +11:00
Geoffrey McRae
7a96c9fe24 [kvmfr] don't recreate the pages for each map 2020-01-13 15:42:45 +11:00
Geoffrey McRae
788f885759 [kvmfr] added the ability to obtain a dmabuf of the ivshmem memory
This is to enable the ability to use dri3 to create dmabuf backed
pixmaps directly.
2020-01-13 13:39:24 +11:00
Geoffrey McRae
08bf01b649 [all] update copyright dates 2019-02-22 22:16:14 +11:00
Geoffrey McRae
116926f7c0 [module] enable write-through mapping for the device
This is the magic I have been looking for the last few weeks, with
this change VM->VM is now useful at 60+fps :D
2018-05-21 21:56:53 +10:00
Geoffrey McRae
da2bcfdf9a [module] rename defines from LG to KVMFR 2018-05-15 20:53:10 +10:00
Geoffrey McRae
7f81d21aaa [module] added kvmfr kernel module for VM->VM shared memory 2018-05-15 20:50:52 +10:00