mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-02-02 06:29:47 +00:00
515.76
This commit is contained in:
@@ -55,9 +55,13 @@ append_conftest() {
|
||||
done
|
||||
}
|
||||
|
||||
translate_and_preprocess_header_files() {
|
||||
# Inputs:
|
||||
# $1: list of relative file paths
|
||||
test_header_presence() {
|
||||
#
|
||||
# Determine if the given header file (which may or may not be
|
||||
# present) is provided by the target kernel.
|
||||
#
|
||||
# Input:
|
||||
# $1: relative file path
|
||||
#
|
||||
# This routine creates an upper case, underscore version of each of the
|
||||
# relative file paths, and uses that as the token to either define or
|
||||
@@ -73,115 +77,25 @@ translate_and_preprocess_header_files() {
|
||||
# strings, without special handling of the beginning or the end of the line.
|
||||
TEST_CFLAGS=`echo "-E -M $CFLAGS " | sed -e 's/\( -M[DG]\)* / /g'`
|
||||
|
||||
for file in "$@"; do
|
||||
file_define=NV_`echo $file | tr '/.' '_' | tr '-' '_' | tr 'a-z' 'A-Z'`_PRESENT
|
||||
file="$1"
|
||||
file_define=NV_`echo $file | tr '/.' '_' | tr '-' '_' | tr 'a-z' 'A-Z'`_PRESENT
|
||||
|
||||
CODE="#include <$file>"
|
||||
CODE="#include <$file>"
|
||||
|
||||
if echo "$CODE" | $CC $TEST_CFLAGS - > /dev/null 2>&1; then
|
||||
echo "#define $file_define"
|
||||
if echo "$CODE" | $CC $TEST_CFLAGS - > /dev/null 2>&1; then
|
||||
echo "#define $file_define"
|
||||
else
|
||||
# If preprocessing failed, it could have been because the header
|
||||
# file under test is not present, or because it is present but
|
||||
# depends upon the inclusion of other header files. Attempting
|
||||
# preprocessing again with -MG will ignore a missing header file
|
||||
# but will still fail if the header file is present.
|
||||
if echo "$CODE" | $CC $TEST_CFLAGS -MG - > /dev/null 2>&1; then
|
||||
echo "#undef $file_define"
|
||||
else
|
||||
# If preprocessing failed, it could have been because the header
|
||||
# file under test is not present, or because it is present but
|
||||
# depends upon the inclusion of other header files. Attempting
|
||||
# preprocessing again with -MG will ignore a missing header file
|
||||
# but will still fail if the header file is present.
|
||||
if echo "$CODE" | $CC $TEST_CFLAGS -MG - > /dev/null 2>&1; then
|
||||
echo "#undef $file_define"
|
||||
else
|
||||
echo "#define $file_define"
|
||||
fi
|
||||
echo "#define $file_define"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
test_headers() {
|
||||
#
|
||||
# Determine which header files (of a set that may or may not be
|
||||
# present) are provided by the target kernel.
|
||||
#
|
||||
FILES="asm/system.h"
|
||||
FILES="$FILES drm/drmP.h"
|
||||
FILES="$FILES drm/drm_auth.h"
|
||||
FILES="$FILES drm/drm_gem.h"
|
||||
FILES="$FILES drm/drm_crtc.h"
|
||||
FILES="$FILES drm/drm_atomic.h"
|
||||
FILES="$FILES drm/drm_atomic_helper.h"
|
||||
FILES="$FILES drm/drm_encoder.h"
|
||||
FILES="$FILES drm/drm_atomic_uapi.h"
|
||||
FILES="$FILES drm/drm_drv.h"
|
||||
FILES="$FILES drm/drm_framebuffer.h"
|
||||
FILES="$FILES drm/drm_connector.h"
|
||||
FILES="$FILES drm/drm_probe_helper.h"
|
||||
FILES="$FILES drm/drm_blend.h"
|
||||
FILES="$FILES drm/drm_fourcc.h"
|
||||
FILES="$FILES drm/drm_prime.h"
|
||||
FILES="$FILES drm/drm_plane.h"
|
||||
FILES="$FILES drm/drm_vblank.h"
|
||||
FILES="$FILES drm/drm_file.h"
|
||||
FILES="$FILES drm/drm_ioctl.h"
|
||||
FILES="$FILES drm/drm_device.h"
|
||||
FILES="$FILES drm/drm_mode_config.h"
|
||||
FILES="$FILES dt-bindings/interconnect/tegra_icc_id.h"
|
||||
FILES="$FILES generated/autoconf.h"
|
||||
FILES="$FILES generated/compile.h"
|
||||
FILES="$FILES generated/utsrelease.h"
|
||||
FILES="$FILES linux/efi.h"
|
||||
FILES="$FILES linux/kconfig.h"
|
||||
FILES="$FILES linux/platform/tegra/mc_utils.h"
|
||||
FILES="$FILES linux/semaphore.h"
|
||||
FILES="$FILES linux/printk.h"
|
||||
FILES="$FILES linux/ratelimit.h"
|
||||
FILES="$FILES linux/prio_tree.h"
|
||||
FILES="$FILES linux/log2.h"
|
||||
FILES="$FILES linux/of.h"
|
||||
FILES="$FILES linux/bug.h"
|
||||
FILES="$FILES linux/sched/signal.h"
|
||||
FILES="$FILES linux/sched/task.h"
|
||||
FILES="$FILES linux/sched/task_stack.h"
|
||||
FILES="$FILES xen/ioemu.h"
|
||||
FILES="$FILES linux/fence.h"
|
||||
FILES="$FILES linux/dma-resv.h"
|
||||
FILES="$FILES soc/tegra/chip-id.h"
|
||||
FILES="$FILES soc/tegra/fuse.h"
|
||||
FILES="$FILES soc/tegra/tegra_bpmp.h"
|
||||
FILES="$FILES video/nv_internal.h"
|
||||
FILES="$FILES linux/platform/tegra/dce/dce-client-ipc.h"
|
||||
FILES="$FILES linux/nvhost.h"
|
||||
FILES="$FILES linux/nvhost_t194.h"
|
||||
FILES="$FILES asm/book3s/64/hash-64k.h"
|
||||
FILES="$FILES asm/set_memory.h"
|
||||
FILES="$FILES asm/prom.h"
|
||||
FILES="$FILES asm/powernv.h"
|
||||
FILES="$FILES linux/atomic.h"
|
||||
FILES="$FILES asm/barrier.h"
|
||||
FILES="$FILES asm/opal-api.h"
|
||||
FILES="$FILES sound/hdaudio.h"
|
||||
FILES="$FILES asm/pgtable_types.h"
|
||||
FILES="$FILES linux/stringhash.h"
|
||||
FILES="$FILES linux/dma-map-ops.h"
|
||||
FILES="$FILES rdma/peer_mem.h"
|
||||
FILES="$FILES sound/hda_codec.h"
|
||||
FILES="$FILES linux/dma-buf.h"
|
||||
FILES="$FILES linux/time.h"
|
||||
FILES="$FILES linux/platform_device.h"
|
||||
FILES="$FILES linux/mutex.h"
|
||||
FILES="$FILES linux/reset.h"
|
||||
FILES="$FILES linux/of_platform.h"
|
||||
FILES="$FILES linux/of_device.h"
|
||||
FILES="$FILES linux/of_gpio.h"
|
||||
FILES="$FILES linux/gpio.h"
|
||||
FILES="$FILES linux/gpio/consumer.h"
|
||||
FILES="$FILES linux/interconnect.h"
|
||||
FILES="$FILES linux/pm_runtime.h"
|
||||
FILES="$FILES linux/clk.h"
|
||||
FILES="$FILES linux/clk-provider.h"
|
||||
FILES="$FILES linux/ioasid.h"
|
||||
FILES="$FILES linux/stdarg.h"
|
||||
FILES="$FILES linux/iosys-map.h"
|
||||
FILES="$FILES asm/coco.h"
|
||||
|
||||
translate_and_preprocess_header_files $FILES
|
||||
fi
|
||||
}
|
||||
|
||||
build_cflags() {
|
||||
@@ -2420,23 +2334,6 @@ compile_test() {
|
||||
compile_check_conftest "$CODE" "NV_PCI_DEV_HAS_ATS_ENABLED" "" "types"
|
||||
;;
|
||||
|
||||
mt_device_gre)
|
||||
#
|
||||
# Determine if MT_DEVICE_GRE flag is present.
|
||||
#
|
||||
# MT_DEVICE_GRE flag is removed by commit 58cc6b72a21274
|
||||
# ("arm64: mm: Remove unused support for Device-GRE memory type") in v5.14-rc1
|
||||
# (2021-06-01).
|
||||
#
|
||||
CODE="
|
||||
#include <asm/memory.h>
|
||||
unsigned int conftest_mt_device_gre(void) {
|
||||
return MT_DEVICE_GRE;
|
||||
}"
|
||||
|
||||
compile_check_conftest "$CODE" "NV_MT_DEVICE_GRE_PRESENT" "" "types"
|
||||
;;
|
||||
|
||||
get_user_pages)
|
||||
#
|
||||
# Conftest for get_user_pages()
|
||||
@@ -5366,6 +5263,23 @@ compile_test() {
|
||||
compile_check_conftest "$CODE" "NV_GET_TASK_IOPRIO_PRESENT" "" "functions"
|
||||
;;
|
||||
|
||||
num_registered_fb)
|
||||
#
|
||||
# Determine if 'num_registered_fb' variable is present.
|
||||
#
|
||||
# 'num_registered_fb' was removed by commit 5727dcfd8486
|
||||
# ("fbdev: Make registered_fb[] private to fbmem.c) for
|
||||
# v5.20 linux-next (2022-07-27).
|
||||
#
|
||||
CODE="
|
||||
#include <linux/fb.h>
|
||||
int conftest_num_registered_fb(void) {
|
||||
return num_registered_fb;
|
||||
}"
|
||||
|
||||
compile_check_conftest "$CODE" "NV_NUM_REGISTERED_FB_PRESENT" "" "types"
|
||||
;;
|
||||
|
||||
# When adding a new conftest entry, please use the correct format for
|
||||
# specifying the relevant upstream Linux kernel commit.
|
||||
#
|
||||
@@ -5764,14 +5678,14 @@ case "$5" in
|
||||
;;
|
||||
|
||||
|
||||
test_kernel_headers)
|
||||
test_kernel_header)
|
||||
#
|
||||
# Check for the availability of certain kernel headers
|
||||
# Check for the availability of the given kernel header
|
||||
#
|
||||
|
||||
CFLAGS=$6
|
||||
|
||||
test_headers
|
||||
test_header_presence "${7}"
|
||||
|
||||
for file in conftest*.d; do
|
||||
rm -f $file > /dev/null 2>&1
|
||||
|
||||
Reference in New Issue
Block a user