mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
Add REMAP ioctl and accompanying support to the linux nvgpu driver. REMAP support provides per-page control over sparse VM areas using the concept of a virtual memory pool. The REMAP ioctl accepts a list of operations (each a map or unmap) that modify the VM area pages tracked by the virtual mmemory pool. Inclusion of REMAP support in the nvgpu build is controlled by the new CONFIG_NVGPU_REMAP flag. This flag is enabled by default for linux builds. A new NVGPU_GPU_FLAGS_SUPPORT_REMAP characteristics flag is added for use in detecting when REMAP support is available. When a VM allocation tagged with NVGPU_VM_AREA_ALLOC_SPARSE is made the base virtual memory pool resources are allocated. Per-page resources are later allocated when the NVGPU_AS_IOCTL_REMAP ioctl is issued. All REMAP resources are released when the corresponding VM area is freed. Jira NVGPU-6804 Change-Id: I1f2cdc0c06c1698a62640c1c6fbcb2f9db24a0bc Signed-off-by: scottl <scottl@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2542178 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
174 lines
3.8 KiB
YAML
174 lines
3.8 KiB
YAML
# Copyright (c) 2019-2021, NVIDIA CORPORATION. All Rights Reserved.
|
|
#
|
|
# POSIX elements and units in nvgpu.
|
|
#
|
|
|
|
# TODO: break this up into individual units. Will be critical for re-use in
|
|
# QNX.
|
|
all:
|
|
safe: no
|
|
owner: Alex W
|
|
sources: [ os/posix/error_notifier.c,
|
|
os/posix/firmware.c,
|
|
os/posix/fuse.c,
|
|
os/posix/gk20a.c,
|
|
os/posix/log.c,
|
|
os/posix/nvgpu.c,
|
|
os/posix/os_posix.h,
|
|
os/posix/posix-channel.c,
|
|
os/posix/posix-comptags.c,
|
|
os/posix/posix-dma.c,
|
|
os/posix/posix-fault-injection.c,
|
|
os/posix/posix-nvgpu_mem.c,
|
|
os/posix/posix-tsg.c,
|
|
os/posix/posix-vm.c,
|
|
os/posix/posix-vm_remap.c,
|
|
os/posix/soc.c,
|
|
os/posix/bsearch.c,
|
|
os/posix/posix-clk_arb.c,
|
|
os/posix/posix-dt.c,
|
|
os/posix/posix-io.c,
|
|
os/posix/posix-nvhost.c,
|
|
os/posix/posix-nvlink.c,
|
|
os/posix/posix-vgpu.c,
|
|
os/posix/posix-vidmem.c,
|
|
os/posix/fecs_trace_posix.c,
|
|
os/posix/stubs.c,
|
|
os/posix/posix-vpr.c,
|
|
os/posix/mock-registers.c ]
|
|
|
|
headers:
|
|
safe: no
|
|
owner: Alex W
|
|
sources: [ include/nvgpu/posix/barrier.h,
|
|
include/nvgpu/posix/dma.h,
|
|
include/nvgpu/posix/io.h,
|
|
include/nvgpu/posix/mock-regs.h,
|
|
include/nvgpu/posix/log.h,
|
|
include/nvgpu/posix/nvgpu_mem.h,
|
|
include/nvgpu/posix/pci.h,
|
|
include/nvgpu/posix/posix-fault-injection.h,
|
|
include/nvgpu/posix/posix-channel.h,
|
|
include/nvgpu/posix/probe.h,
|
|
include/nvgpu/posix/soc_fuse.h,
|
|
include/nvgpu/posix/vm.h,
|
|
include/nvgpu/posix/posix-vm_remap.h,
|
|
include/nvgpu/posix/posix_vidmem.h,
|
|
include/nvgpu/posix/posix-nvhost.h,
|
|
include/nvgpu/posix/trace_gk20a.h ]
|
|
|
|
queue:
|
|
safe: yes
|
|
owner: Rajesh D
|
|
sources: [ os/posix/queue.c,
|
|
include/nvgpu/posix/queue.h ]
|
|
|
|
sort:
|
|
safe: no
|
|
owner: Ajesh K
|
|
sources: [ include/nvgpu/posix/sort.h ]
|
|
deps:
|
|
|
|
bug:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ os/posix/bug.c,
|
|
include/nvgpu/posix/bug.h ]
|
|
deps:
|
|
|
|
lock:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ os/posix/lock.c,
|
|
include/nvgpu/posix/lock.h ]
|
|
|
|
rwsem:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ os/posix/rwsem.c,
|
|
include/nvgpu/posix/rwsem.h ]
|
|
deps:
|
|
|
|
size:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ include/nvgpu/posix/sizes.h ]
|
|
deps:
|
|
|
|
cond:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ os/posix/cond.c,
|
|
include/nvgpu/posix/cond.h ]
|
|
deps:
|
|
|
|
threads:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ os/posix/thread.c,
|
|
include/nvgpu/posix/thread.h ]
|
|
deps:
|
|
|
|
timers:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ os/posix/timers.c,
|
|
include/nvgpu/posix/timers.h ]
|
|
deps:
|
|
|
|
atomic:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ include/nvgpu/posix/atomic.h ]
|
|
deps:
|
|
|
|
os_sched:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ os/posix/os_sched.c ]
|
|
|
|
kmem:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ os/posix/kmem.c,
|
|
include/nvgpu/posix/kmem.h ]
|
|
deps:
|
|
|
|
types:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ include/nvgpu/posix/types.h ]
|
|
deps:
|
|
|
|
utils:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ include/nvgpu/posix/utils.h ]
|
|
deps:
|
|
|
|
bitops:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ os/posix/bitmap.c,
|
|
include/nvgpu/posix/bitops.h ]
|
|
deps:
|
|
|
|
file_ops:
|
|
safe: yes
|
|
owner: Prateek S
|
|
sources: [ os/posix/file_ops.c,
|
|
include/nvgpu/posix/file_ops.h ]
|
|
deps:
|
|
|
|
log2:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ include/nvgpu/posix/log2.h ]
|
|
deps:
|
|
|
|
circ_buf:
|
|
safe: yes
|
|
owner: Ajesh K
|
|
sources: [ include/nvgpu/posix/circ_buf.h ]
|
|
deps:
|