.. | .. |
---|
1 | 1 | # SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note |
---|
2 | 2 | # |
---|
3 | | -# (C) COPYRIGHT 2010-2021 ARM Limited. All rights reserved. |
---|
| 3 | +# (C) COPYRIGHT 2010-2023 ARM Limited. All rights reserved. |
---|
4 | 4 | # |
---|
5 | 5 | # This program is free software and is provided to you under the terms of the |
---|
6 | 6 | # GNU General Public License version 2 as published by the Free Software |
---|
.. | .. |
---|
34 | 34 | |
---|
35 | 35 | CONFIG_MALI_BIFROST ?= m |
---|
36 | 36 | ifeq ($(CONFIG_MALI_BIFROST),m) |
---|
| 37 | + CONFIG_MALI_PLATFORM_NAME ?= "devicetree" |
---|
37 | 38 | CONFIG_MALI_BIFROST_GATOR_SUPPORT ?= y |
---|
38 | 39 | CONFIG_MALI_ARBITRATION ?= n |
---|
39 | 40 | CONFIG_MALI_PARTITION_MANAGER ?= n |
---|
40 | 41 | |
---|
41 | 42 | ifneq ($(CONFIG_MALI_BIFROST_NO_MALI),y) |
---|
42 | | - # Prevent misuse when CONFIG_MALI_BIFROST_NO_MALI=y |
---|
| 43 | + # Prevent misuse when CONFIG_MALI_BIFROST_NO_MALI |
---|
43 | 44 | CONFIG_MALI_REAL_HW ?= y |
---|
| 45 | + CONFIG_MALI_CORESIGHT = n |
---|
44 | 46 | endif |
---|
45 | 47 | |
---|
46 | 48 | ifeq ($(CONFIG_MALI_BIFROST_DVFS),y) |
---|
.. | .. |
---|
55 | 57 | CONFIG_MALI_DMA_BUF_LEGACY_COMPAT = n |
---|
56 | 58 | endif |
---|
57 | 59 | |
---|
58 | | - ifeq ($(CONFIG_BSP_HAS_HYPERVISOR),y) |
---|
59 | | - ifneq ($(CONFIG_MALI_ARBITRATION), n) |
---|
60 | | - CONFIG_MALI_XEN ?= m |
---|
61 | | - endif |
---|
| 60 | + ifeq ($(CONFIG_MALI_CSF_SUPPORT), y) |
---|
| 61 | + CONFIG_MALI_CORESIGHT ?= n |
---|
62 | 62 | endif |
---|
63 | 63 | |
---|
64 | 64 | # |
---|
.. | .. |
---|
67 | 67 | ifeq ($(CONFIG_MALI_BIFROST_EXPERT), y) |
---|
68 | 68 | ifeq ($(CONFIG_MALI_BIFROST_NO_MALI), y) |
---|
69 | 69 | CONFIG_MALI_REAL_HW = n |
---|
| 70 | + |
---|
70 | 71 | else |
---|
71 | 72 | # Prevent misuse when CONFIG_MALI_BIFROST_NO_MALI=n |
---|
72 | 73 | CONFIG_MALI_REAL_HW = y |
---|
73 | 74 | CONFIG_MALI_BIFROST_ERROR_INJECT = n |
---|
74 | 75 | endif |
---|
| 76 | + |
---|
75 | 77 | |
---|
76 | 78 | ifeq ($(CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED), y) |
---|
77 | 79 | # Prevent misuse when CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED=y |
---|
.. | .. |
---|
82 | 84 | CONFIG_MALI_BIFROST_ENABLE_TRACE ?= y |
---|
83 | 85 | CONFIG_MALI_BIFROST_SYSTEM_TRACE ?= y |
---|
84 | 86 | |
---|
85 | | - ifeq ($(CONFIG_SYNC), y) |
---|
| 87 | + ifeq ($(CONFIG_SYNC_FILE), y) |
---|
86 | 88 | CONFIG_MALI_BIFROST_FENCE_DEBUG ?= y |
---|
87 | 89 | else |
---|
88 | | - ifeq ($(CONFIG_SYNC_FILE), y) |
---|
89 | | - CONFIG_MALI_BIFROST_FENCE_DEBUG ?= y |
---|
90 | | - else |
---|
91 | | - CONFIG_MALI_BIFROST_FENCE_DEBUG = n |
---|
92 | | - endif |
---|
| 90 | + CONFIG_MALI_BIFROST_FENCE_DEBUG = n |
---|
93 | 91 | endif |
---|
94 | 92 | else |
---|
95 | 93 | # Prevent misuse when CONFIG_MALI_BIFROST_DEBUG=n |
---|
.. | .. |
---|
100 | 98 | else |
---|
101 | 99 | # Prevent misuse when CONFIG_MALI_BIFROST_EXPERT=n |
---|
102 | 100 | CONFIG_MALI_CORESTACK = n |
---|
103 | | - CONFIG_MALI_2MB_ALLOC = n |
---|
| 101 | + CONFIG_LARGE_PAGE_ALLOC_OVERRIDE = n |
---|
| 102 | + CONFIG_LARGE_PAGE_ALLOC = n |
---|
104 | 103 | CONFIG_MALI_PWRSOFT_765 = n |
---|
105 | 104 | CONFIG_MALI_MEMORY_FULLY_BACKED = n |
---|
106 | 105 | CONFIG_MALI_JOB_DUMP = n |
---|
.. | .. |
---|
121 | 120 | ifeq ($(CONFIG_MALI_KUTF), y) |
---|
122 | 121 | CONFIG_MALI_KUTF_IRQ_TEST ?= y |
---|
123 | 122 | CONFIG_MALI_KUTF_CLK_RATE_TRACE ?= y |
---|
| 123 | + CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST ?= y |
---|
124 | 124 | else |
---|
125 | 125 | # Prevent misuse when CONFIG_MALI_KUTF=n |
---|
126 | 126 | CONFIG_MALI_KUTF_IRQ_TEST = n |
---|
127 | 127 | CONFIG_MALI_KUTF_CLK_RATE_TRACE = n |
---|
| 128 | + CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST = n |
---|
128 | 129 | endif |
---|
129 | 130 | else |
---|
130 | 131 | # Prevent misuse when CONFIG_MALI_BIFROST_DEBUG=n |
---|
131 | 132 | CONFIG_MALI_KUTF = n |
---|
132 | 133 | CONFIG_MALI_KUTF_IRQ_TEST = n |
---|
133 | 134 | CONFIG_MALI_KUTF_CLK_RATE_TRACE = n |
---|
| 135 | + CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST = n |
---|
134 | 136 | endif |
---|
135 | 137 | else |
---|
136 | 138 | # Prevent misuse when CONFIG_MALI_BIFROST=n |
---|
.. | .. |
---|
138 | 140 | CONFIG_MALI_KUTF = n |
---|
139 | 141 | CONFIG_MALI_KUTF_IRQ_TEST = n |
---|
140 | 142 | CONFIG_MALI_KUTF_CLK_RATE_TRACE = n |
---|
| 143 | + CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST = n |
---|
141 | 144 | endif |
---|
142 | 145 | |
---|
143 | 146 | # All Mali CONFIG should be listed here |
---|
.. | .. |
---|
145 | 148 | CONFIG_MALI_BIFROST \ |
---|
146 | 149 | CONFIG_MALI_CSF_SUPPORT \ |
---|
147 | 150 | CONFIG_MALI_BIFROST_GATOR_SUPPORT \ |
---|
148 | | - CONFIG_MALI_BIFROST_DMA_FENCE \ |
---|
149 | 151 | CONFIG_MALI_ARBITER_SUPPORT \ |
---|
150 | 152 | CONFIG_MALI_ARBITRATION \ |
---|
151 | 153 | CONFIG_MALI_PARTITION_MANAGER \ |
---|
152 | 154 | CONFIG_MALI_REAL_HW \ |
---|
153 | | - CONFIG_MALI_GEM5_BUILD \ |
---|
154 | 155 | CONFIG_MALI_BIFROST_DEVFREQ \ |
---|
155 | 156 | CONFIG_MALI_BIFROST_DVFS \ |
---|
156 | 157 | CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND \ |
---|
157 | 158 | CONFIG_MALI_DMA_BUF_LEGACY_COMPAT \ |
---|
158 | 159 | CONFIG_MALI_BIFROST_EXPERT \ |
---|
159 | 160 | CONFIG_MALI_CORESTACK \ |
---|
160 | | - CONFIG_MALI_2MB_ALLOC \ |
---|
| 161 | + CONFIG_LARGE_PAGE_ALLOC_OVERRIDE \ |
---|
| 162 | + CONFIG_LARGE_PAGE_ALLOC \ |
---|
161 | 163 | CONFIG_MALI_PWRSOFT_765 \ |
---|
162 | 164 | CONFIG_MALI_MEMORY_FULLY_BACKED \ |
---|
163 | 165 | CONFIG_MALI_JOB_DUMP \ |
---|
.. | .. |
---|
176 | 178 | CONFIG_MALI_KUTF \ |
---|
177 | 179 | CONFIG_MALI_KUTF_IRQ_TEST \ |
---|
178 | 180 | CONFIG_MALI_KUTF_CLK_RATE_TRACE \ |
---|
179 | | - CONFIG_MALI_XEN |
---|
| 181 | + CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST \ |
---|
| 182 | + CONFIG_MALI_XEN \ |
---|
| 183 | + CONFIG_MALI_CORESIGHT |
---|
180 | 184 | |
---|
181 | 185 | |
---|
182 | | -# |
---|
| 186 | +THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) |
---|
| 187 | +-include $(THIS_DIR)/../arbitration/Makefile |
---|
| 188 | + |
---|
183 | 189 | # MAKE_ARGS to pass the custom CONFIGs on out-of-tree build |
---|
184 | 190 | # |
---|
185 | 191 | # Generate the list of CONFIGs and values. |
---|
.. | .. |
---|
191 | 197 | $(value config)=$(value $(value config)), \ |
---|
192 | 198 | $(value config)=n)) |
---|
193 | 199 | |
---|
| 200 | +MAKE_ARGS += CONFIG_MALI_PLATFORM_NAME=$(CONFIG_MALI_PLATFORM_NAME) |
---|
| 201 | + |
---|
194 | 202 | # |
---|
195 | 203 | # EXTRA_CFLAGS to define the custom CONFIGs on out-of-tree build |
---|
196 | 204 | # |
---|
.. | .. |
---|
201 | 209 | $(if $(filter y m,$(value $(value config))), \ |
---|
202 | 210 | -D$(value config)=1)) |
---|
203 | 211 | |
---|
| 212 | +EXTRA_CFLAGS += -DCONFIG_MALI_PLATFORM_NAME=$(CONFIG_MALI_PLATFORM_NAME) |
---|
| 213 | + |
---|
204 | 214 | # |
---|
205 | 215 | # KBUILD_EXTRA_SYMBOLS to prevent warnings about unknown functions |
---|
206 | 216 | # |
---|
207 | 217 | |
---|
| 218 | +KBUILD_CFLAGS += -Wall -Werror |
---|
| 219 | + |
---|
| 220 | +# The following were added to align with W=1 in scripts/Makefile.extrawarn |
---|
| 221 | +# from the Linux source tree (v5.18.14) |
---|
| 222 | +KBUILD_CFLAGS += -Wextra -Wunused -Wno-unused-parameter |
---|
| 223 | +KBUILD_CFLAGS += -Wmissing-declarations |
---|
| 224 | +KBUILD_CFLAGS += -Wmissing-format-attribute |
---|
| 225 | +KBUILD_CFLAGS += -Wmissing-prototypes |
---|
| 226 | +KBUILD_CFLAGS += -Wold-style-definition |
---|
| 227 | +# The -Wmissing-include-dirs cannot be enabled as the path to some of the |
---|
| 228 | +# included directories change depending on whether it is an in-tree or |
---|
| 229 | +# out-of-tree build. |
---|
| 230 | +KBUILD_CFLAGS += $(call cc-option, -Wunused-but-set-variable) |
---|
| 231 | +KBUILD_CFLAGS += $(call cc-option, -Wunused-const-variable) |
---|
| 232 | +KBUILD_CFLAGS += $(call cc-option, -Wpacked-not-aligned) |
---|
| 233 | +KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation) |
---|
| 234 | +# The following turn off the warnings enabled by -Wextra |
---|
| 235 | +KBUILD_CFLAGS += -Wno-sign-compare |
---|
| 236 | +KBUILD_CFLAGS += -Wno-shift-negative-value |
---|
| 237 | +# This flag is needed to avoid build errors on older kernels |
---|
| 238 | +KBUILD_CFLAGS += $(call cc-option, -Wno-cast-function-type) |
---|
| 239 | + |
---|
| 240 | +KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN1 |
---|
| 241 | + |
---|
| 242 | +# The following were added to align with W=2 in scripts/Makefile.extrawarn |
---|
| 243 | +# from the Linux source tree (v5.18.14) |
---|
| 244 | +KBUILD_CFLAGS += -Wdisabled-optimization |
---|
| 245 | +# The -Wshadow flag cannot be enabled unless upstream kernels are |
---|
| 246 | +# patched to fix redefinitions of certain built-in functions and |
---|
| 247 | +# global variables. |
---|
| 248 | +KBUILD_CFLAGS += $(call cc-option, -Wlogical-op) |
---|
| 249 | +KBUILD_CFLAGS += -Wmissing-field-initializers |
---|
| 250 | +# -Wtype-limits must be disabled due to build failures on kernel 5.x |
---|
| 251 | +KBUILD_CFLAGS += -Wno-type-limit |
---|
| 252 | +KBUILD_CFLAGS += $(call cc-option, -Wmaybe-uninitialized) |
---|
| 253 | +KBUILD_CFLAGS += $(call cc-option, -Wunused-macros) |
---|
| 254 | + |
---|
| 255 | +KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN2 |
---|
| 256 | + |
---|
| 257 | +# This warning is disabled to avoid build failures in some kernel versions |
---|
| 258 | +KBUILD_CFLAGS += -Wno-ignored-qualifiers |
---|
| 259 | + |
---|
| 260 | +ifeq ($(CONFIG_GCOV_KERNEL),y) |
---|
| 261 | + KBUILD_CFLAGS += $(call cc-option, -ftest-coverage) |
---|
| 262 | + KBUILD_CFLAGS += $(call cc-option, -fprofile-arcs) |
---|
| 263 | + EXTRA_CFLAGS += -DGCOV_PROFILE=1 |
---|
| 264 | +endif |
---|
| 265 | + |
---|
| 266 | +ifeq ($(CONFIG_MALI_KCOV),y) |
---|
| 267 | + KBUILD_CFLAGS += $(call cc-option, -fsanitize-coverage=trace-cmp) |
---|
| 268 | + EXTRA_CFLAGS += -DKCOV=1 |
---|
| 269 | + EXTRA_CFLAGS += -DKCOV_ENABLE_COMPARISONS=1 |
---|
| 270 | +endif |
---|
| 271 | + |
---|
208 | 272 | all: |
---|
209 | 273 | $(MAKE) -C $(KDIR) M=$(CURDIR) $(MAKE_ARGS) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" KBUILD_EXTRA_SYMBOLS="$(EXTRA_SYMBOLS)" modules |
---|
210 | 274 | |
---|