# # Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. # # This file defines the make variables and cflags applicable to nvgpu common # shared by qnx, nvgpu userspace, test builds. Note that cflags are added to # 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 release, safety debug or the regular profile. ifeq ($(NV_BUILD_CONFIGURATION_IS_SAFETY),1) profile := safety_release ifeq ($(NV_BUILD_CONFIGURATION_IS_DEBUG),1) profile := safety_debug endif endif ifeq ($(NVGPU_FORCE_SAFETY_PROFILE),1) profile := safety_release ifeq ($(NVGPU_FORCE_DEBUG_PROFILE),1) profile := safety_debug endif endif NVGPU_COMMON_CFLAGS := # # Flags always enabled regardless of build profile. # NVGPU_COMMON_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_PCI_MSI # Enable debugger APIs for safety build until devctl whitelisting is done CONFIG_NVGPU_DEBUGGER := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_DEBUGGER # Enable CILP preemption for safety build until devctl whitelisting is done CONFIG_NVGPU_CILP := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CILP # Enable cyclestats APIs for safety build until complete debugger support is enabled CONFIG_NVGPU_CYCLESTATS := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CYCLESTATS # Enable USERD for safety build until we switch to user mode submits only NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_USERD # Enable Channel WDT for safety build until we switch to user mode submits only NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CHANNEL_WDT NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FIFO_ENGINE_ACTIVITY # Enable Channel/TSG Scheduling for safety build until devctl whitelisting is done CONFIG_NVGPU_CHANNEL_TSG_SCHEDULING := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CHANNEL_TSG_SCHEDULING # Enable Channel/TSG Control for safety build until devctl whitelisting is done CONFIG_NVGPU_CHANNEL_TSG_CONTROL := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CHANNEL_TSG_CONTROL # # Flags enabled only for safety debug and regular build profile. # ifneq ($(profile),safety_release) CONFIG_NVGPU_LOGGING := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_LOGGING CONFIG_NVGPU_TRACE := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_TRACE CONFIG_NVGPU_SYSFS := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_SYSFS # # Flags enabled only for regular build profile. # ifneq ($(profile),safety_debug) # ACR feature to enable old tegra ACR profile support CONFIG_NVGPU_ACR_LEGACY := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_ACR_LEGACY CONFIG_NVGPU_ENGINE_QUEUE := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_ENGINE_QUEUE CONFIG_NVGPU_FECS_TRACE := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FECS_TRACE CONFIG_NVGPU_IGPU_VIRT := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_IGPU_VIRT # Enable Graphics support for normal build CONFIG_NVGPU_GRAPHICS := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_GRAPHICS # Enable nvlink support for normal build. CONFIG_NVGPU_NVLINK := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_NVLINK # Enable dgpu support for normal build. CONFIG_NVGPU_DGPU := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_DGPU CONFIG_NVGPU_VPR := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_VPR CONFIG_NVGPU_REPLAYABLE_FAULT := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_REPLAYABLE_FAULT # Enable LS PMU support for normal build CONFIG_NVGPU_LS_PMU := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_LS_PMU # Enable elpg support for normal build CONFIG_NVGPU_POWER_PG := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_POWER_PG # Enable sim support for normal build CONFIG_NVGPU_SIM := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_SIM CONFIG_NVGPU_COMPRESSION := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_COMPRESSION CONFIG_NVGPU_CE := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CE # Enable non FUSA HALs for normal build CONFIG_NVGPU_HAL_NON_FUSA := 1 NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_HAL_NON_FUSA endif endif