@@ -75,21 +75,14 @@ $(foreach _module, $(NV_KERNEL_MODULES), \
7575 $(eval include $(src)/$(_module)/$(_module).Kbuild))
7676
7777
78- #
79- # Define CFLAGS that apply to all the NVIDIA kernel modules. EXTRA_CFLAGS
80- # is deprecated since 2.6.24 in favor of ccflags-y, but we need to support
81- # older kernels which do not have ccflags-y. Newer kernels append
82- # $(EXTRA_CFLAGS) to ccflags-y for compatibility.
83- #
84-
85- EXTRA_CFLAGS += -I$(src ) /common/inc
86- EXTRA_CFLAGS += -I$(src )
87- EXTRA_CFLAGS += -Wall $(DEFINES ) $(INCLUDES ) -Wno-cast-qual -Wno-format-extra-args
88- EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DNVRM
89- EXTRA_CFLAGS += -DNV_VERSION_STRING=\"575.51.03\"
78+ ccflags-y += -I$(src ) /common/inc
79+ ccflags-y += -I$(src )
80+ ccflags-y += -Wall $(DEFINES ) $(INCLUDES ) -Wno-cast-qual -Wno-format-extra-args
81+ ccflags-y += -D__KERNEL__ -DMODULE -DNVRM
82+ ccflags-y += -DNV_VERSION_STRING=\"575.57.08\"
9083
9184ifneq ($(SYSSRCHOST1X ) ,)
92- EXTRA_CFLAGS += -I$(SYSSRCHOST1X )
85+ ccflags-y += -I$(SYSSRCHOST1X )
9386endif
9487
9588# Some Android kernels prohibit driver use of filesystem functions like
@@ -99,57 +92,57 @@ endif
9992PLATFORM_IS_ANDROID ?= 0
10093
10194ifeq ($(PLATFORM_IS_ANDROID ) ,1)
102- EXTRA_CFLAGS += -DNV_FILESYSTEM_ACCESS_AVAILABLE=0
95+ ccflags-y += -DNV_FILESYSTEM_ACCESS_AVAILABLE=0
10396else
104- EXTRA_CFLAGS += -DNV_FILESYSTEM_ACCESS_AVAILABLE=1
97+ ccflags-y += -DNV_FILESYSTEM_ACCESS_AVAILABLE=1
10598endif
10699
107- EXTRA_CFLAGS += -Wno-unused-function
100+ ccflags-y += -Wno-unused-function
108101
109102ifneq ($(NV_BUILD_TYPE ) ,debug)
110- EXTRA_CFLAGS += -Wuninitialized
103+ ccflags-y += -Wuninitialized
111104endif
112105
113- EXTRA_CFLAGS += -fno-strict-aliasing
106+ ccflags-y += -fno-strict-aliasing
114107
115108ifeq ($(ARCH ) ,arm64)
116- EXTRA_CFLAGS += -mstrict-align
109+ ccflags-y += -mstrict-align
117110endif
118111
119112ifeq ($(NV_BUILD_TYPE ) ,debug)
120- EXTRA_CFLAGS += -g
113+ ccflags-y += -g
121114endif
122115
123- EXTRA_CFLAGS += -ffreestanding
116+ ccflags-y += -ffreestanding
124117
125118ifeq ($(ARCH ) ,arm64)
126- EXTRA_CFLAGS += -mgeneral-regs-only -march=armv8-a
127- EXTRA_CFLAGS += $(call cc-option,-mno-outline-atomics,)
119+ ccflags-y += -mgeneral-regs-only -march=armv8-a
120+ ccflags-y += $(call cc-option,-mno-outline-atomics,)
128121endif
129122
130123ifeq ($(ARCH ) ,x86_64)
131- EXTRA_CFLAGS += -mno-red-zone -mcmodel=kernel
124+ ccflags-y += -mno-red-zone -mcmodel=kernel
132125endif
133126
134127ifeq ($(ARCH ) ,powerpc)
135- EXTRA_CFLAGS += -mlittle-endian -mno-strict-align
128+ ccflags-y += -mlittle-endian -mno-strict-align
136129endif
137130
138- EXTRA_CFLAGS += -DNV_UVM_ENABLE
139- EXTRA_CFLAGS += $(call cc-option,-Werror=undef,)
140- EXTRA_CFLAGS += -DNV_SPECTRE_V2=$(NV_SPECTRE_V2 )
141- EXTRA_CFLAGS += -DNV_KERNEL_INTERFACE_LAYER
131+ ccflags-y += -DNV_UVM_ENABLE
132+ ccflags-y += $(call cc-option,-Werror=undef,)
133+ ccflags-y += -DNV_SPECTRE_V2=$(NV_SPECTRE_V2 )
134+ ccflags-y += -DNV_KERNEL_INTERFACE_LAYER
142135
143136#
144137# Detect SGI UV systems and apply system-specific optimizations.
145138#
146139
147140ifneq ($(wildcard /proc/sgi_uv) ,)
148- EXTRA_CFLAGS += -DNV_CONFIG_X86_UV
141+ ccflags-y += -DNV_CONFIG_X86_UV
149142endif
150143
151144ifdef VGX_FORCE_VFIO_PCI_CORE
152- EXTRA_CFLAGS += -DNV_VGPU_FORCE_VFIO_PCI_CORE
145+ ccflags-y += -DNV_VGPU_FORCE_VFIO_PCI_CORE
153146endif
154147
155148WARNINGS_AS_ERRORS ?=
@@ -183,7 +176,8 @@ NV_CONFTEST_CMD := /bin/sh $(NV_CONFTEST_SCRIPT) \
183176
184177NV_CFLAGS_FROM_CONFTEST := $(shell $(NV_CONFTEST_CMD ) build_cflags)
185178
186- NV_CONFTEST_CFLAGS = $(NV_CFLAGS_FROM_CONFTEST ) $(EXTRA_CFLAGS ) -fno-pie
179+ NV_CONFTEST_CFLAGS = $(NV_CFLAGS_FROM_CONFTEST ) $(ccflags-y ) -fno-pie
180+ NV_CONFTEST_CFLAGS += $(filter -std=% ,$(KBUILD_CFLAGS ) )
187181NV_CONFTEST_CFLAGS += $(call cc-disable-warning,pointer-sign)
188182NV_CONFTEST_CFLAGS += $(call cc-option,-fshort-wchar,)
189183NV_CONFTEST_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types,)
0 commit comments