mirror of
https://github.com/DualCoder/vgpu_unlock.git
synced 2025-01-05 08:05:27 +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
|