diff --git a/Makefile.umbrella.tmk b/Makefile.umbrella.tmk index bd3c3478f..a3eab7486 100644 --- a/Makefile.umbrella.tmk +++ b/Makefile.umbrella.tmk @@ -21,6 +21,7 @@ NV_REPOSITORY_COMPONENTS := ifneq ($(NV_BUILD_CONFIGURATION_OS_IS_INTEGRITY),1) NV_REPOSITORY_COMPONENTS := drivers/gpu/nvgpu +NV_REPOSITORY_COMPONENTS += userspace endif # Local Variables: diff --git a/userspace/Makefile.interface.tmk b/userspace/Makefile.interface.tmk new file mode 100644 index 000000000..e947439a6 --- /dev/null +++ b/userspace/Makefile.interface.tmk @@ -0,0 +1,27 @@ +################################### tell Emacs this is a -*- makefile-gmake -*- +# +# Copyright (c) 2018, 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 +# +# libnvgpu-drv interface makefile fragment +# +############################################################################### + +ifdef NV_INTERFACE_FLAG_SHARED_LIBRARY_SECTION +NV_INTERFACE_NAME := nvgpu-unit +NV_INTERFACE_EXPORTS := libnvgpu-unit +NV_INTERFACE_PUBLIC_INCLUDES := include +endif + +# Local Variables: +# indent-tabs-mode: t +# tab-width: 8 +# End: +# vi: set tabstop=8 noexpandtab: diff --git a/userspace/Makefile.tmk b/userspace/Makefile.tmk new file mode 100644 index 000000000..ba2ad728f --- /dev/null +++ b/userspace/Makefile.tmk @@ -0,0 +1,97 @@ +################################### tell Emacs this is a -*- makefile-gmake -*- +# +# Copyright (c) 2018 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 +# +############################################################################### + +NVGPU_UNIT_COMMON_SRCS := \ + src/nvgpu.c \ + src/args.c \ + src/io.c \ + src/module.c \ + src/results.c \ + src/exec.c +NVGPU_UNIT_COMMON_INCLUDES := \ + include \ + ../drivers/gpu/nvgpu \ + ../drivers/gpu/nvgpu/include + + +ifdef NV_COMPONENT_FLAG_NVTEST_EXECUTABLE_SECTION +include $(NV_BUILD_START_COMPONENT) + +NV_COMPONENT_NAME := nvgpu_unit +NV_COMPONENT_SOURCES := \ + src/unit_main.c \ + $(NVGPU_UNIT_COMMON_SRCS) + +NV_COMPONENT_INCLUDES := \ + $(NVGPU_UNIT_COMMON_INCLUDES) + +ifneq ($(NV_BUILD_CONFIGURATION_OS_IS_QNX),1) +NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += pthread +NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += dl +NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += gcov +endif + +NV_COMPONENT_CFLAGS += -D__NVGPU_POSIX__ + +NV_UNIT_SH=unit.sh +NV_COMPONENT_SYSTEMIMAGE_DIR := $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/nvgpu_unit +systemimage:: $(NV_COMPONENT_SYSTEMIMAGE_DIR) $(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_UNIT_SH) + +#make the output directory +$(NV_COMPONENT_SYSTEMIMAGE_DIR) : $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR) + $(MKDIR_P) $@ + +#copy the test script +$(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_UNIT_SH) : $(NV_COMPONENT_DIR)/$(NV_UNIT_SH) $(NV_COMPONENT_SYSTEMIMAGE_DIR) + $(CP) $< $@ + +include $(NV_BUILD_NVTEST_EXECUTABLE) + +endif + +ifdef NV_COMPONENT_FLAG_SHARED_LIBRARY_SECTION +include $(NV_BUILD_START_COMPONENT) + +NV_COMPONENT_NAME := nvgpu_unit-lib +NV_COMPONENT_OWN_INTERFACE_DIR := . + +NV_COMPONENT_SOURCES := \ + $(NVGPU_UNIT_COMMON_SRCS) + +NV_COMPONENT_INCLUDES := \ + $(NVGPU_UNIT_COMMON_INCLUDES) + + +ifneq ($(NV_BUILD_CONFIGURATION_OS_IS_QNX),1) +NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += pthread +NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += dl +endif + +NV_COMPONENT_CFLAGS += -D__NVGPU_POSIX__ + +NV_COMPONENT_SYSTEMIMAGE_DIR := $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/nvgpu_unit/ +systemimage:: $(NV_COMPONENT_SYSTEMIMAGE_DIR) +$(NV_COMPONENT_SYSTEMIMAGE_DIR) : $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR) + $(MKDIR_P) $@ +NV_COMPONENT_SYSTEMIMAGE_NAME := libnvgpu-unit.so + +include $(NV_BUILD_SHARED_LIBRARY) + +endif + +# Local Variables: +# indent-tabs-mode: t +# tab-width: 8 +# End: +# vi: set tabstop=8 noexpandtab: diff --git a/userspace/libnvgpu-unit.export b/userspace/libnvgpu-unit.export new file mode 100644 index 000000000..4238b30ca --- /dev/null +++ b/userspace/libnvgpu-unit.export @@ -0,0 +1,5 @@ +# Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved. + +__core_print_stdout +__core_print_stderr +__unit_info_color