mirror of
https://github.com/DualCoder/vgpu_unlock.git
synced 2025-01-03 15:25:28 +00:00
69 lines
1.4 KiB
Bash
69 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# This file is part of the "vgpu_unlock" project, and is distributed under the MIT License.
|
|
# See the LICENSE file for more details.
|
|
|
|
help_function()
|
|
{
|
|
echo "This script checks for the internal names of vGPU profiles."
|
|
echo
|
|
echo "Usage: $0 [-h] [-p <[VGPU_NAME]|ALL>]"
|
|
echo "Options:"
|
|
echo "-h Display the help page."
|
|
echo "-p Display selected VGPU_NAME or ALL profiles."
|
|
exit 0;
|
|
}
|
|
|
|
process_id()
|
|
{
|
|
echo "$(cat "$1"/name): $(basename "$1" | cut -d '/' -f 8)"
|
|
}
|
|
|
|
list_all_ids()
|
|
{
|
|
for gpu in $(lspci -Dd 10de: -s 0 -n | awk '$2 ~ /030[02]/{print $1}'); do
|
|
if [ -d "/sys/bus/pci/devices/$gpu/mdev_supported_types/" ]; then
|
|
for gpu_type in /sys/bus/pci/devices/"$gpu"/mdev_supported_types/* ; do
|
|
process_id "$gpu_type"
|
|
done
|
|
exit
|
|
fi
|
|
done
|
|
}
|
|
|
|
get_pciid()
|
|
{
|
|
for gpu in $(lspci -Dd 10de: -s 0 -n | awk '$2 ~ /030[02]/{print $1}'); do
|
|
if [ -d "/sys/bus/pci/devices/$gpu/mdev_supported_types/" ]; then
|
|
if [ ! -z "$(grep -l "$1" /sys/bus/pci/devices/"$gpu"/mdev_supported_types/nvidia-*/name)" ]; then
|
|
grep -l "$1" /sys/bus/pci/devices/"$gpu"/mdev_supported_types/nvidia-*/name | cut -d '/' -f 8
|
|
exit
|
|
fi
|
|
fi
|
|
done
|
|
}
|
|
|
|
while getopts ":p:" option; do
|
|
case "${option}" in
|
|
p)
|
|
p=${OPTARG}
|
|
;;
|
|
*)
|
|
help_function
|
|
;;
|
|
esac
|
|
done
|
|
shift $((OPTIND-1))
|
|
|
|
if [ -z "${p}" ]; then
|
|
help_function
|
|
fi
|
|
|
|
if [ "$p" = "ALL" ]; then
|
|
list_all_ids
|
|
else
|
|
get_pciid "$p"
|
|
fi
|
|
|
|
exit 1
|