Files
linux-nv-oot/drivers/video/tegra/nvmap/Makefile
Jon Hunter deffbf24ab virt: tegra: Ensure functions stubs are defined
When building the out-of-tree drivers with virtualization support
disabled, symbols for some of the virtualization functions are not found
...

 nvgpu: Unknown symbol tegra_hv_mempool_unreserve (err -2)
 nvgpu: Unknown symbol is_tegra_hypervisor_mode (err -2)
 nvgpu: Unknown symbol tegra_hv_mempool_reserve (err -2)
 nvhost_pva: Unknown symbol is_tegra_hypervisor_mode (err -2)
 mc_utils: Unknown symbol is_tegra_hypervisor_mode (err -2)
 mc_utils: Unknown symbol is_tegra_hypervisor_mode (err -2)

Update the hv-ivc.h header to ensure that these function stubs are
defined when virtualization support is disabled and only build the
hv-ivc driver if virtualization is enabled.

Finally, move populating the ccflags to the top-level Makefile and use
the subdir-ccflags directive to ensure the ccflags are passed to all
sub-directories.

Bug 4159372
Bug 4170085

Change-Id: I35edb91007524c3143dff7564f9ad545bd34e969
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2921199
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-07-05 14:34:15 -07:00

49 lines
1.1 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-only
# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.
GCOV_PROFILE := y
subdir-ccflags-y += -Werror
include $(srctree.nvidia-oot)/drivers/video/tegra/nvmap/Makefile.memory.configs
ifeq ($(NVMAP_CONFIG), y)
# Build NvMap only when NVMAP_CONFIG is set to y
nvmap-y := nvmap_core.o \
nvmap_alloc.o \
nvmap_cache.o \
nvmap_dev.o \
nvmap_dmabuf.o \
nvmap_fault.o \
nvmap_handle.o \
nvmap_heap.o \
nvmap_ioctl.o \
nvmap_init.o \
nvmap_tag.o \
nvmap_mm.o \
nvmap_stats.o \
nvmap_carveout.o \
nvmap_kasan_wrapper.o
nvmap-$(NVMAP_CONFIG_HANDLE_AS_ID) += nvmap_id_array.o
nvmap-$(NVMAP_CONFIG_SCIIPC) += nvmap_sci_ipc.o
ifeq ($(NVMAP_CONFIG_PAGE_POOLS), y)
nvmap-y += nvmap_pp.o
endif #NVMAP_CONFIG_PAGE_POOLS
ifneq ($(filter y,$(CONFIG_ARCH_TEGRA_19x_SOC) $(CONFIG_ARCH_TEGRA_194_SOC)),)
nvmap-y += nvmap_init_t19x.o
endif #CONFIG_ARCH_TEGRA_19x_SOC or CONFIG_ARCH_TEGRA_194_SOC
KASAN_SANITIZE_nvmap_kasan_wrapper.o := n
ifeq ($(NVMAP_CONFIG_LOADABLE_MODULE), y)
nvmap-y += nvmap_cache_maint.o
obj-m += nvmap.o
else
# Not a loadable module
obj-y += nvmap.o
endif #NVMAP_CONFIG_LOADABLE_MODULE
endif #NVMAP_CONFIG