Skip to content

Commit 040d726

Browse files
committed
fixup: move OOT Makefile patching to scripts/fixup.sh
Per review feedback: extract the OOT module Makefile patching block from pkg.yaml inline shell into nvidia-tegra-nvgpu/scripts/fixup.sh. Bldr makes the package directory available at /pkg/ during build, so the script is invoked as /pkg/scripts/fixup.sh. Signed-off-by: Alexander Schwankner <mrmoor4@googlemail.com>
1 parent ab7c963 commit 040d726

2 files changed

Lines changed: 128 additions & 124 deletions

File tree

nvidia-tegra-nvgpu/pkg.yaml

Lines changed: 1 addition & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -59,130 +59,7 @@ steps:
5959
-f /oot-src/out/nvidia-conftest/nvidia/Makefile
6060
echo "conftest done."
6161
- |
62-
# Patch OOT module Makefiles: remove -Werror and add required include paths.
63-
# srctree.nvconftest and srctree.nvidia-oot are passed as make vars at build time.
64-
NVIDIA_OOT=/oot-src/nvidia-oot
65-
CONFTEST_OUT=/oot-src/out/nvidia-conftest
66-
67-
# ── GCC plugin latent_entropy fix ────────────────────────────────────────────
68-
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY injects a global 'latent_entropy' variable
69-
# via a GCC plugin. Clang doesn't run the plugin → 'latent_entropy' is undeclared
70-
# → linux/random.h:24 compile error for ALL OOT modules.
71-
# Fix: strip the macro from auto.conf and autoconf.h before any OOT build.
72-
sed -i '/CONFIG_GCC_PLUGIN_LATENT_ENTROPY/d' /src/include/config/auto.conf 2>/dev/null || true
73-
sed -i '/CONFIG_GCC_PLUGIN_LATENT_ENTROPY/d' /src/include/generated/autoconf.h 2>/dev/null || true
74-
echo "Removed CONFIG_GCC_PLUGIN_LATENT_ENTROPY (Clang compat fix)"
75-
76-
# OOT host1x: add conftest + nvidia-oot includes (exports host1x_fence_extract)
77-
printf 'ccflags-y += -I$(srctree.nvconftest)\n' \
78-
>> ${NVIDIA_OOT}/drivers/gpu/host1x/Makefile
79-
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
80-
>> ${NVIDIA_OOT}/drivers/gpu/host1x/Makefile
81-
printf 'ccflags-y += -I$(srctree.nvidia-oot)/drivers/gpu/host1x/include\n' \
82-
>> ${NVIDIA_OOT}/drivers/gpu/host1x/Makefile
83-
84-
# Force conftest macros for OOT host1x on kernel 6.18
85-
grep -rl "NV_IOMMU_MAP_HAS_GFP_ARG" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
86-
| xargs -r sed -i "s|#if defined(NV_IOMMU_MAP_HAS_GFP_ARG)|#if 1 /* force: kernel 6.3+ */|g"
87-
grep -rl "NV_IOMMU_PAGING_DOMAIN_ALLOC_PRESENT" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
88-
| xargs -r sed -i "s|#if defined(NV_IOMMU_PAGING_DOMAIN_ALLOC_PRESENT)|#if 1 /* force: kernel 6.11+ */|g"
89-
grep -rl "NV_DEVM_TEGRA_CORE_DEV_INIT_OPP_TABLE_COMMON_PRESENT" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
90-
| xargs -r sed -i "s|#if defined(NV_DEVM_TEGRA_CORE_DEV_INIT_OPP_TABLE_COMMON_PRESENT)|#if 1 /* force: present */|g"
91-
grep -rl "NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
92-
| xargs -r sed -i "s|#if defined(NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID)|#if 1 /* force: kernel 6.11+ */|g"
93-
grep -rl "NV_BUS_TYPE_STRUCT_MATCH_HAS_CONST_DRV_ARG" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
94-
| xargs -r sed -i "s|#if defined(NV_BUS_TYPE_STRUCT_MATCH_HAS_CONST_DRV_ARG)|#if 1 /* force: kernel 6.x+ */|g"
95-
grep -rl "NV_BUS_TYPE_STRUCT_UEVENT_HAS_CONST_DEV_ARG" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
96-
| xargs -r sed -i "s|#if defined(NV_BUS_TYPE_STRUCT_UEVENT_HAS_CONST_DEV_ARG)|#if 1 /* force: kernel 6.x+ */|g"
97-
echo "Patched OOT host1x: forced conftest macro code paths for kernel 6.18"
98-
99-
# host1x syncpt.c: permanently reserve syncpt id=0 so host1x_syncpt_alloc never returns it.
100-
# GA10b has NVGPU_ERRATA_SYNCPT_INVALID_ID_0: nvgpu rejects id=0 → channel init fails → error 999.
101-
# OOT host1x (ccf7646c) marks syncpt[0] with name="reserved" but does NOT set kref=1, so the
102-
# alloc loop (which skips syncpts where kref_read(&sp->ref) != 0) still returns id=0.
103-
# Fix: add kref_init(&syncpt[0].ref) before the name assignment, matching what newer OE4T
104-
# commits already do (e.g. 6e071c0). Guard is idempotent — safe even if already present.
105-
SYNCPT_C=${NVIDIA_OOT}/drivers/gpu/host1x/syncpt.c
106-
if grep -q 'syncpt\[0\]\.name = kstrdup' "${SYNCPT_C}" 2>/dev/null; then
107-
if ! grep -q 'kref_init.*syncpt\[0\]' "${SYNCPT_C}" 2>/dev/null; then
108-
sed -i 's/\(syncpt\[0\]\.name = kstrdup("reserved", GFP_KERNEL);\)/kref_init(\&syncpt[0].ref);\n\t\t\1/' "${SYNCPT_C}"
109-
echo "Patched host1x syncpt.c: added kref_init(&syncpt[0].ref) — id=0 permanently reserved"
110-
else
111-
echo "host1x syncpt.c: kref_init(&syncpt[0].ref) already present — no patch needed"
112-
fi
113-
else
114-
echo "WARNING: host1x syncpt.c pattern not found — syncpt id=0 reservation patch skipped"
115-
fi
116-
117-
# host1x-fence: remove -Werror, add conftest + nvidia-oot includes
118-
sed -i 's|ccflags-y += -Werror||g' \
119-
${NVIDIA_OOT}/drivers/gpu/host1x-fence/Makefile
120-
printf 'ccflags-y += -I$(srctree.nvconftest)\n' \
121-
>> ${NVIDIA_OOT}/drivers/gpu/host1x-fence/Makefile
122-
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
123-
>> ${NVIDIA_OOT}/drivers/gpu/host1x-fence/Makefile
124-
printf 'ccflags-y += -I$(srctree.nvidia-oot)/drivers/gpu/host1x/include\n' \
125-
>> ${NVIDIA_OOT}/drivers/gpu/host1x-fence/Makefile
126-
grep -rl "class_create(THIS_MODULE," ${NVIDIA_OOT}/drivers/gpu/host1x-fence/ \
127-
| xargs -r sed -i 's/class_create(THIS_MODULE, /class_create(/g'
128-
grep -rl "host1x_fence_devnode" ${NVIDIA_OOT}/drivers/gpu/host1x-fence/ \
129-
| xargs -r sed -i 's/static char \*host1x_fence_devnode(struct device \*/static char *host1x_fence_devnode(const struct device */g'
130-
echo "Patched host1x-fence: class_create + devnode const fixes for kernel 6.x"
131-
132-
# nvmap: remove subdir -Werror, add conftest + nvidia-oot includes
133-
sed -i 's|subdir-ccflags-y += -Werror||g' \
134-
${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
135-
printf 'ccflags-y += -I$(srctree.nvconftest)\n' \
136-
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
137-
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
138-
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
139-
printf 'ccflags-y += -I$(srctree.nvidia-oot)/drivers/video/tegra/nvmap/include\n' \
140-
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
141-
printf 'ccflags-y += -DNV_GET_USER_PAGES_HAS_ARGS_FLAGS\n' \
142-
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
143-
printf 'ccflags-y += -DNV_MM_STRUCT_STRUCT_HAS_PERCPU_COUNTER_RSS_STAT\n' \
144-
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
145-
printf 'ccflags-y += -DNV_IOREMAP_PROT_HAS_PGPROT_T_ARG\n' \
146-
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
147-
148-
# mc-utils: add nvidia-oot includes
149-
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
150-
>> ${NVIDIA_OOT}/drivers/platform/tegra/mc-utils/Makefile
151-
152-
# governor_pod_scaling: add conftest + nvidia-oot includes
153-
printf 'ccflags-y += -I$(srctree.nvconftest)\n' \
154-
>> ${NVIDIA_OOT}/drivers/devfreq/Makefile
155-
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
156-
>> ${NVIDIA_OOT}/drivers/devfreq/Makefile
157-
158-
echo "Include paths patched into OOT module Makefiles."
159-
160-
# Force conftest macro paths in nvmap source for kernel 6.18
161-
grep -rl "NV_GET_USER_PAGES_HAS_ARGS_FLAGS" ${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
162-
| xargs -r sed -i "s|#if defined(NV_GET_USER_PAGES_HAS_ARGS_FLAGS)|#if 1 /* force: kernel 6.5+ */|g"
163-
grep -rl "NV_MM_STRUCT_STRUCT_HAS_PERCPU_COUNTER_RSS_STAT" ${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
164-
| xargs -r sed -i "s|#if defined(NV_MM_STRUCT_STRUCT_HAS_PERCPU_COUNTER_RSS_STAT)|#if 1 /* force: kernel 6.2+ */|g"
165-
grep -rl "NV_IOREMAP_PROT_HAS_PGPROT_T_ARG" ${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
166-
| xargs -r sed -i "s|#if defined(NV_IOREMAP_PROT_HAS_PGPROT_T_ARG)|#if 1 /* force: kernel 6.15+ */|g"
167-
grep -rl "NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS" ${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
168-
| xargs -r sed -i "s|#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS)|#if 1 /* force: kernel 6.3+ */|g"
169-
grep -rl "NV___ASSIGN_STR_HAS_NO_SRC_ARG" \
170-
${NVIDIA_OOT}/include/trace/events/ \
171-
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ 2>/dev/null \
172-
| xargs -r sed -i "s|#if defined(NV___ASSIGN_STR_HAS_NO_SRC_ARG)|#if 1 /* force: kernel 6.10+ */|g"
173-
grep -rl "NV__ALLOC_PAGES_BULK_HAS_NO_PAGE_LIST_ARG" \
174-
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
175-
| xargs -r sed -i "s|#if defined(NV__ALLOC_PAGES_BULK_HAS_NO_PAGE_LIST_ARG)|#if 1 /* force: kernel 6.14+ */|g"
176-
grep -rl "NV_FILE_STRUCT_HAS_F_REF" \
177-
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
178-
| xargs -r sed -i "s|#if defined(NV_FILE_STRUCT_HAS_F_REF)|#if 1 /* force: kernel 6.13+ */|g"
179-
grep -rl "NV_GET_FILE_RCU_HAS_DOUBLE_PTR_FILE_ARG" \
180-
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
181-
| xargs -r sed -i "s|#if defined(NV_GET_FILE_RCU_HAS_DOUBLE_PTR_FILE_ARG)|#if 1 /* force: kernel 6.7+ */|g"
182-
grep -rl "NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID" \
183-
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
184-
| xargs -r sed -i "s|#if defined(NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID)|#if 1 /* force: kernel 6.11+ */|g"
185-
echo "Patched nvmap: forced conftest macro code paths for kernel 6.18"
62+
/pkg/scripts/fixup.sh
18663
- |
18764
# ── Cross-compiler mismatch fix: Clang wrapper ────────────────────────────
18865
# Strips GCC-only flags before passing to clang (source-independent fix).
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
#!/bin/bash
2+
# Patch OOT module Makefiles: remove -Werror and add required include paths.
3+
# srctree.nvconftest and srctree.nvidia-oot are passed as make vars at build time.
4+
set -euo pipefail
5+
6+
NVIDIA_OOT=/oot-src/nvidia-oot
7+
CONFTEST_OUT=/oot-src/out/nvidia-conftest
8+
9+
# ── GCC plugin latent_entropy fix ────────────────────────────────────────────
10+
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY injects a global 'latent_entropy' variable
11+
# via a GCC plugin. Clang doesn't run the plugin → 'latent_entropy' is undeclared
12+
# → linux/random.h:24 compile error for ALL OOT modules.
13+
# Fix: strip the macro from auto.conf and autoconf.h before any OOT build.
14+
sed -i '/CONFIG_GCC_PLUGIN_LATENT_ENTROPY/d' /src/include/config/auto.conf 2>/dev/null || true
15+
sed -i '/CONFIG_GCC_PLUGIN_LATENT_ENTROPY/d' /src/include/generated/autoconf.h 2>/dev/null || true
16+
echo "Removed CONFIG_GCC_PLUGIN_LATENT_ENTROPY (Clang compat fix)"
17+
18+
# OOT host1x: add conftest + nvidia-oot includes (exports host1x_fence_extract)
19+
printf 'ccflags-y += -I$(srctree.nvconftest)\n' \
20+
>> ${NVIDIA_OOT}/drivers/gpu/host1x/Makefile
21+
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
22+
>> ${NVIDIA_OOT}/drivers/gpu/host1x/Makefile
23+
printf 'ccflags-y += -I$(srctree.nvidia-oot)/drivers/gpu/host1x/include\n' \
24+
>> ${NVIDIA_OOT}/drivers/gpu/host1x/Makefile
25+
26+
# Force conftest macros for OOT host1x on kernel 6.18
27+
grep -rl "NV_IOMMU_MAP_HAS_GFP_ARG" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
28+
| xargs -r sed -i "s|#if defined(NV_IOMMU_MAP_HAS_GFP_ARG)|#if 1 /* force: kernel 6.3+ */|g"
29+
grep -rl "NV_IOMMU_PAGING_DOMAIN_ALLOC_PRESENT" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
30+
| xargs -r sed -i "s|#if defined(NV_IOMMU_PAGING_DOMAIN_ALLOC_PRESENT)|#if 1 /* force: kernel 6.11+ */|g"
31+
grep -rl "NV_DEVM_TEGRA_CORE_DEV_INIT_OPP_TABLE_COMMON_PRESENT" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
32+
| xargs -r sed -i "s|#if defined(NV_DEVM_TEGRA_CORE_DEV_INIT_OPP_TABLE_COMMON_PRESENT)|#if 1 /* force: present */|g"
33+
grep -rl "NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
34+
| xargs -r sed -i "s|#if defined(NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID)|#if 1 /* force: kernel 6.11+ */|g"
35+
grep -rl "NV_BUS_TYPE_STRUCT_MATCH_HAS_CONST_DRV_ARG" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
36+
| xargs -r sed -i "s|#if defined(NV_BUS_TYPE_STRUCT_MATCH_HAS_CONST_DRV_ARG)|#if 1 /* force: kernel 6.x+ */|g"
37+
grep -rl "NV_BUS_TYPE_STRUCT_UEVENT_HAS_CONST_DEV_ARG" ${NVIDIA_OOT}/drivers/gpu/host1x/ \
38+
| xargs -r sed -i "s|#if defined(NV_BUS_TYPE_STRUCT_UEVENT_HAS_CONST_DEV_ARG)|#if 1 /* force: kernel 6.x+ */|g"
39+
echo "Patched OOT host1x: forced conftest macro code paths for kernel 6.18"
40+
41+
# host1x syncpt.c: permanently reserve syncpt id=0 so host1x_syncpt_alloc never returns it.
42+
# GA10b has NVGPU_ERRATA_SYNCPT_INVALID_ID_0: nvgpu rejects id=0 → channel init fails → error 999.
43+
# OOT host1x (ccf7646c) marks syncpt[0] with name="reserved" but does NOT set kref=1, so the
44+
# alloc loop (which skips syncpts where kref_read(&sp->ref) != 0) still returns id=0.
45+
# Fix: add kref_init(&syncpt[0].ref) before the name assignment, matching what newer OE4T
46+
# commits already do (e.g. 6e071c0). Guard is idempotent — safe even if already present.
47+
SYNCPT_C=${NVIDIA_OOT}/drivers/gpu/host1x/syncpt.c
48+
if grep -q 'syncpt\[0\]\.name = kstrdup' "${SYNCPT_C}" 2>/dev/null; then
49+
if ! grep -q 'kref_init.*syncpt\[0\]' "${SYNCPT_C}" 2>/dev/null; then
50+
sed -i 's/\(syncpt\[0\]\.name = kstrdup("reserved", GFP_KERNEL);\)/kref_init(\&syncpt[0].ref);\n\t\t\1/' "${SYNCPT_C}"
51+
echo "Patched host1x syncpt.c: added kref_init(&syncpt[0].ref) — id=0 permanently reserved"
52+
else
53+
echo "host1x syncpt.c: kref_init(&syncpt[0].ref) already present — no patch needed"
54+
fi
55+
else
56+
echo "WARNING: host1x syncpt.c pattern not found — syncpt id=0 reservation patch skipped"
57+
fi
58+
59+
# host1x-fence: remove -Werror, add conftest + nvidia-oot includes
60+
sed -i 's|ccflags-y += -Werror||g' \
61+
${NVIDIA_OOT}/drivers/gpu/host1x-fence/Makefile
62+
printf 'ccflags-y += -I$(srctree.nvconftest)\n' \
63+
>> ${NVIDIA_OOT}/drivers/gpu/host1x-fence/Makefile
64+
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
65+
>> ${NVIDIA_OOT}/drivers/gpu/host1x-fence/Makefile
66+
printf 'ccflags-y += -I$(srctree.nvidia-oot)/drivers/gpu/host1x/include\n' \
67+
>> ${NVIDIA_OOT}/drivers/gpu/host1x-fence/Makefile
68+
grep -rl "class_create(THIS_MODULE," ${NVIDIA_OOT}/drivers/gpu/host1x-fence/ \
69+
| xargs -r sed -i 's/class_create(THIS_MODULE, /class_create(/g'
70+
grep -rl "host1x_fence_devnode" ${NVIDIA_OOT}/drivers/gpu/host1x-fence/ \
71+
| xargs -r sed -i 's/static char \*host1x_fence_devnode(struct device \*/static char *host1x_fence_devnode(const struct device */g'
72+
echo "Patched host1x-fence: class_create + devnode const fixes for kernel 6.x"
73+
74+
# nvmap: remove subdir -Werror, add conftest + nvidia-oot includes
75+
sed -i 's|subdir-ccflags-y += -Werror||g' \
76+
${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
77+
printf 'ccflags-y += -I$(srctree.nvconftest)\n' \
78+
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
79+
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
80+
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
81+
printf 'ccflags-y += -I$(srctree.nvidia-oot)/drivers/video/tegra/nvmap/include\n' \
82+
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
83+
printf 'ccflags-y += -DNV_GET_USER_PAGES_HAS_ARGS_FLAGS\n' \
84+
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
85+
printf 'ccflags-y += -DNV_MM_STRUCT_STRUCT_HAS_PERCPU_COUNTER_RSS_STAT\n' \
86+
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
87+
printf 'ccflags-y += -DNV_IOREMAP_PROT_HAS_PGPROT_T_ARG\n' \
88+
>> ${NVIDIA_OOT}/drivers/video/tegra/nvmap/Makefile
89+
90+
# mc-utils: add nvidia-oot includes
91+
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
92+
>> ${NVIDIA_OOT}/drivers/platform/tegra/mc-utils/Makefile
93+
94+
# governor_pod_scaling: add conftest + nvidia-oot includes
95+
printf 'ccflags-y += -I$(srctree.nvconftest)\n' \
96+
>> ${NVIDIA_OOT}/drivers/devfreq/Makefile
97+
printf 'ccflags-y += -I$(srctree.nvidia-oot)/include\n' \
98+
>> ${NVIDIA_OOT}/drivers/devfreq/Makefile
99+
100+
echo "Include paths patched into OOT module Makefiles."
101+
102+
# Force conftest macro paths in nvmap source for kernel 6.18
103+
grep -rl "NV_GET_USER_PAGES_HAS_ARGS_FLAGS" ${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
104+
| xargs -r sed -i "s|#if defined(NV_GET_USER_PAGES_HAS_ARGS_FLAGS)|#if 1 /* force: kernel 6.5+ */|g"
105+
grep -rl "NV_MM_STRUCT_STRUCT_HAS_PERCPU_COUNTER_RSS_STAT" ${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
106+
| xargs -r sed -i "s|#if defined(NV_MM_STRUCT_STRUCT_HAS_PERCPU_COUNTER_RSS_STAT)|#if 1 /* force: kernel 6.2+ */|g"
107+
grep -rl "NV_IOREMAP_PROT_HAS_PGPROT_T_ARG" ${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
108+
| xargs -r sed -i "s|#if defined(NV_IOREMAP_PROT_HAS_PGPROT_T_ARG)|#if 1 /* force: kernel 6.15+ */|g"
109+
grep -rl "NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS" ${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
110+
| xargs -r sed -i "s|#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS)|#if 1 /* force: kernel 6.3+ */|g"
111+
grep -rl "NV___ASSIGN_STR_HAS_NO_SRC_ARG" \
112+
${NVIDIA_OOT}/include/trace/events/ \
113+
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ 2>/dev/null \
114+
| xargs -r sed -i "s|#if defined(NV___ASSIGN_STR_HAS_NO_SRC_ARG)|#if 1 /* force: kernel 6.10+ */|g"
115+
grep -rl "NV__ALLOC_PAGES_BULK_HAS_NO_PAGE_LIST_ARG" \
116+
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
117+
| xargs -r sed -i "s|#if defined(NV__ALLOC_PAGES_BULK_HAS_NO_PAGE_LIST_ARG)|#if 1 /* force: kernel 6.14+ */|g"
118+
grep -rl "NV_FILE_STRUCT_HAS_F_REF" \
119+
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
120+
| xargs -r sed -i "s|#if defined(NV_FILE_STRUCT_HAS_F_REF)|#if 1 /* force: kernel 6.13+ */|g"
121+
grep -rl "NV_GET_FILE_RCU_HAS_DOUBLE_PTR_FILE_ARG" \
122+
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
123+
| xargs -r sed -i "s|#if defined(NV_GET_FILE_RCU_HAS_DOUBLE_PTR_FILE_ARG)|#if 1 /* force: kernel 6.7+ */|g"
124+
grep -rl "NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID" \
125+
${NVIDIA_OOT}/drivers/video/tegra/nvmap/ \
126+
| xargs -r sed -i "s|#if defined(NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID)|#if 1 /* force: kernel 6.11+ */|g"
127+
echo "Patched nvmap: forced conftest macro code paths for kernel 6.18"

0 commit comments

Comments
 (0)