mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: userspace: disable all non-safe features
Add the ability to override an apparently non-safe profile build with the safe profile. This let's us force the safety profile build in the userspace build (make under userspace/) and the tmake build used for unit testing. Doing this keeps the tmake build closer to the userspace which helps prevent regressions in the userspace build as it has no direct GVS coverage. Change-Id: I00c000086aabf6a70b74cf5e052c80520653546a Signed-off-by: Alex Waterman <alexw@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2123833 GVS: Gerrit_Virtual_Submit Reviewed-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
f020091977
commit
4dbbd8c488
@@ -25,9 +25,40 @@
|
||||
# variable NVGPU_COMMON_CFLAGS that needs to be used by the parent Makefile
|
||||
# to update corresponding cflags variable.
|
||||
|
||||
# Default is the regular profile. That can be overridden if necessary. by
|
||||
# setting the NVGPU_FORCE_SAFETY_PROFILE. This is a useful hack while we
|
||||
# wait for the userspace tmake build to make its way into a proper safety
|
||||
# profile build.
|
||||
profile := default
|
||||
|
||||
# Decide whether to use the safety profile or the regular profile.
|
||||
ifeq ($(NV_BUILD_CONFIGURATION_IS_SAFETY),1)
|
||||
profile := safety
|
||||
endif
|
||||
ifeq ($(NVGPU_FORCE_SAFETY_PROFILE),1)
|
||||
profile := safety
|
||||
endif
|
||||
|
||||
NVGPU_COMMON_CFLAGS :=
|
||||
|
||||
#
|
||||
# Flags always enabled regardless of build profile.
|
||||
#
|
||||
|
||||
NVGPU_COMMON_CFLAGS += \
|
||||
-DCONFIG_TEGRA_GK20A_NVHOST \
|
||||
-DCONFIG_GK20A_CYCLE_STATS \
|
||||
-DCONFIG_TEGRA_T19X_GRHOST \
|
||||
-DCONFIG_NVGPU_SUPPORT_TURING \
|
||||
-DCONFIG_TEGRA_GK20A_PMU=1 \
|
||||
-DCONFIG_TEGRA_ACR=1 \
|
||||
-DCONFIG_TEGRA_GR_VIRTUALIZATION \
|
||||
-DCONFIG_GK20A_VIDMEM=1 \
|
||||
-DCONFIG_PCI_MSI
|
||||
|
||||
# Enable debugger APIs for safety build until devctl whitelisting is done
|
||||
NVGPU_DEBUGGER := 1
|
||||
NVGPU_COMMON_CFLAGS := -DNVGPU_DEBUGGER
|
||||
NVGPU_COMMON_CFLAGS += -DNVGPU_DEBUGGER
|
||||
|
||||
# Enable cyclestats APIs for safety build until complete debugger support is enabled
|
||||
NVGPU_CYCLESTATS_SUPPORT := 1
|
||||
@@ -53,7 +84,10 @@ NVGPU_COMMON_CFLAGS += -DNVGPU_ENGINE
|
||||
NVGPU_FEATURE_CHANNEL_TSG_SCHEDULING := 1
|
||||
NVGPU_COMMON_CFLAGS += -DNVGPU_FEATURE_CHANNEL_TSG_SCHEDULING
|
||||
|
||||
ifeq ($(NV_BUILD_CONFIGURATION_IS_SAFETY),0)
|
||||
#
|
||||
# Flags enabled for only the regular build profile.
|
||||
#
|
||||
ifneq ($(profile),safety)
|
||||
NVGPU_FECS_TRACE_SUPPORT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_GK20A_CTXSW_TRACE
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ ARCH_PY := $(NV_SOURCE)/core-private/tools/arch/arch.py
|
||||
NVGPU_NEXT_SOURCE := \
|
||||
$(NV_COMPONENT_DIR)/../../../../nvgpu-next/drivers/gpu/nvgpu
|
||||
|
||||
NVGPU_POSIX := -D__NVGPU_POSIX__
|
||||
NVGPU_POSIX := 1
|
||||
NVGPU_ARCH := $(NV_COMPONENT_DIR)/../../../arch
|
||||
NVGPU_ARCH_YAML := $(NVGPU_ARCH)/*.yaml
|
||||
|
||||
@@ -51,18 +51,11 @@ NV_COMPONENT_INCLUDES := \
|
||||
ifneq ($(NV_BUILD_CONFIGURATION_OS_IS_QNX),1)
|
||||
NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += pthread
|
||||
endif
|
||||
NV_COMPONENT_CFLAGS += $(NVGPU_POSIX)
|
||||
|
||||
NV_COMPONENT_CFLAGS += \
|
||||
-DCONFIG_TEGRA_GK20A_NVHOST \
|
||||
-DCONFIG_TEGRA_T19X_GRHOST \
|
||||
-DCONFIG_NVGPU_SUPPORT_TURING \
|
||||
-DCONFIG_TEGRA_GK20A_PMU=1 \
|
||||
-DCONFIG_TEGRA_ACR=1 \
|
||||
-DCONFIG_TEGRA_GR_VIRTUALIZATION \
|
||||
-DCONFIG_GK20A_VIDMEM=1 \
|
||||
-DCONFIG_PCI_MSI
|
||||
-D__NVGPU_POSIX__ \
|
||||
-DCONFIG_NVGPU_SUPPORT_TURING
|
||||
|
||||
NVGPU_FORCE_SAFETY_PROFILE := 1
|
||||
-include $(NV_COMPONENT_DIR)/Makefile.shared.configs
|
||||
NV_COMPONENT_CFLAGS += $(NVGPU_COMMON_CFLAGS)
|
||||
|
||||
|
||||
@@ -60,8 +60,10 @@ NVGPU_FAULT_INJECTION_ENABLEMENT=1
|
||||
|
||||
# Linux configs. We want these so that we can mirror builds from the actual
|
||||
# Linux kernel.
|
||||
include Makefile.configs
|
||||
# include Makefile.configs
|
||||
CONFIGS := -D__NVGPU_POSIX__
|
||||
|
||||
NVGPU_FORCE_SAFETY_PROFILE := 1
|
||||
include $(NVGPU_SRC)/Makefile.shared.configs
|
||||
CONFIGS+=$(NVGPU_COMMON_CFLAGS)
|
||||
|
||||
|
||||
@@ -107,24 +107,11 @@ NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += pthread
|
||||
NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += dl
|
||||
endif
|
||||
|
||||
NV_COMPONENT_CFLAGS += -D__NVGPU_POSIX__
|
||||
|
||||
NV_COMPONENT_CFLAGS += \
|
||||
-DCONFIG_TEGRA_19x_GPU \
|
||||
-DCONFIG_TEGRA_GK20A_NVHOST \
|
||||
-DCONFIG_TEGRA_T19X_GRHOST \
|
||||
-DCONFIG_NVGPU_SUPPORT_TURING \
|
||||
-DCONFIG_TEGRA_GK20A_PMU=1 \
|
||||
-DCONFIG_TEGRA_ACR=1 \
|
||||
-DCONFIG_TEGRA_GR_VIRTUALIZATION \
|
||||
-DNVCPU_IS_AARCH64=1 \
|
||||
-DCONFIG_TEGRA_IOVMM=0 \
|
||||
-DCONFIG_ARCH_TEGRA_18x_SOC=1 \
|
||||
-DCONFIG_GK20A_VIDMEM=1 \
|
||||
-DCONFIG_PCI_MSI \
|
||||
-DCONFIG_SUPPORT_PMU_PSTATE \
|
||||
-D__NVGPU_POSIX__ \
|
||||
-DNVGPU_UNITTEST_FAULT_INJECTION_ENABLEMENT
|
||||
|
||||
NVGPU_FORCE_SAFETY_PROFILE := 1
|
||||
-include ../drivers/gpu/nvgpu/Makefile.shared.configs
|
||||
NV_COMPONENT_CFLAGS += $(NVGPU_COMMON_CFLAGS)
|
||||
|
||||
|
||||
@@ -53,21 +53,7 @@ else
|
||||
NV_COMPONENT_CFLAGS += -D__NVGPU_POSIX__
|
||||
endif
|
||||
|
||||
NV_COMPONENT_CFLAGS += \
|
||||
-DCONFIG_TEGRA_19x_GPU \
|
||||
-DCONFIG_TEGRA_GK20A_NVHOST \
|
||||
-DCONFIG_TEGRA_T19X_GRHOST \
|
||||
-DCONFIG_NVGPU_SUPPORT_TURING \
|
||||
-DCONFIG_TEGRA_GK20A_PMU=1 \
|
||||
-DCONFIG_TEGRA_ACR=1 \
|
||||
-DCONFIG_TEGRA_GR_VIRTUALIZATION \
|
||||
-DNVCPU_IS_AARCH64=1 \
|
||||
-DCONFIG_TEGRA_IOVMM=0 \
|
||||
-DCONFIG_ARCH_TEGRA_18x_SOC=1 \
|
||||
-DCONFIG_GK20A_VIDMEM=1 \
|
||||
-DCONFIG_PCI_MSI \
|
||||
-DCONFIG_SUPPORT_PMU_PSTATE
|
||||
|
||||
NVGPU_FORCE_SAFETY_PROFILE := 1
|
||||
-include $(NV_SOURCE)/kernel/nvgpu/drivers/gpu/nvgpu/Makefile.shared.configs
|
||||
NV_COMPONENT_CFLAGS += $(NVGPU_COMMON_CFLAGS)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user