gpu: nvgpu: Userspace POSIX support

Add support for compiling nvgpu in a POSIX compliant userspace.
This code adds all of the necessary abstraction interfaces (mostly
stubbed) to enabled extremely limited and basic functionality in
nvgpu.

The goal of this code is to facilitate unit testing of the nvgpu
common core. By doing this in userspace it is much easier to write
tests that rely on very particular states within nvgpu since a user
can very precisely control the state of nvgpu.

JIRA NVGPU-525

Change-Id: I30e95016df14997d951075777e0585f912dc5960
Signed-off-by: Alex Waterman <alexw@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1683914
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Alex Waterman
2018-01-22 16:30:53 -08:00
committed by mobile promotions
parent e6b3bb4e6b
commit 6e739d924f
73 changed files with 5543 additions and 2 deletions

View File

@@ -0,0 +1,46 @@
################################### tell Emacs this is a -*- makefile-gmake -*-
#
# Copyright (c) 2014-2016 NVIDIA CORPORATION. All Rights Reserved.
#
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto. Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited.
#
# tmake for SW Mobile component makefile
#
# Component makefile for compiling host submit tests as a part of an umbrella.
#
###############################################################################
ifdef NV_COMPONENT_FLAG_NVTEST_EXECUTABLE_SECTION
include $(NV_BUILD_START_COMPONENT)
NV_COMPONENT_NAME := nvgpu_unit
NV_COMPONENT_SOURCES := unit_main.c \
nvgpu.c \
args.c \
io.c \
module.c \
results.c \
exec.c
# The actual userspace nvgpu library.
NV_COMPONENT_NEEDED_INTERFACE_DIRS := ../../drivers/gpu/nvgpu
NV_COMPONENT_INCLUDES := ../include \
../../drivers/gpu/nvgpu \
../../drivers/gpu/nvgpu/include
include $(NV_BUILD_NVTEST_EXECUTABLE)
endif
# Local Variables:
# indent-tabs-mode: t
# tab-width: 8
# End:
# vi: set tabstop=8 noexpandtab: