sglang.0.4.8.post1/gdrcopy/scripts/test_gdrdrv_HAVE_VM_FLAGS_S...

82 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
show_help()
{
echo "Usage: ${0} [-hk]"
echo
echo " -h Show this help text."
echo " -k <kver> Specify the kernel version."
echo
}
set_kver=0
kver=""
OPTIND=1 # Reset in case getopts has been used previously in the shell.
while getopts "hk:" opt ; do
case "${opt}" in
h)
show_help
exit 0
;;
k)
set_kver=1
kver="${OPTARG}"
;;
?)
show_help
exit 0
;;
esac
done
if [ ${set_kver} -eq 0 ]; then
kver="$(uname -r)"
fi
kdir="/lib/modules/${kver}/build"
tmpfolder=$(mktemp --tmpdir -d gdrcopy.XXXXXXXXX)
testfile="${tmpfolder}/test-dummy.c"
makefile="${tmpfolder}/Makefile"
cat >${testfile} <<EOF
#include <linux/module.h>
#include <linux/mm.h>
static int __init test_dummy_init(void)
{
struct vm_area_struct vma;
vm_flags_set(&vma, 0);
return 0;
}
static void __exit test_dummy_fini(void)
{
}
MODULE_AUTHOR("gpudirect@nvidia.com");
MODULE_LICENSE("MIT");
MODULE_VERSION("1.0");
module_init(test_dummy_init);
module_exit(test_dummy_fini);
EOF
cat >${makefile} <<EOF
obj-m := test-dummy.o
EOF
cd ${tmpfolder}
make -C ${kdir} M=${tmpfolder} modules > /dev/null 2>&1
ret=$?
rm -rf ${tmpfolder}
if [ "${ret}" -eq 0 ]; then
echo "y"
else
echo "n"
fi