diff options
Diffstat (limited to 'scripts/unload_vgpu_stack.sh')
| -rwxr-xr-x | scripts/unload_vgpu_stack.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/unload_vgpu_stack.sh b/scripts/unload_vgpu_stack.sh new file mode 100755 index 0000000..4f57b86 --- /dev/null +++ b/scripts/unload_vgpu_stack.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# unload_vgpu_stack.sh - Unload vGPU driver stack + +set -euo pipefail + +BASE_DIR="$OPEN_IOV_ROOT" + +echo "==========================================" +echo "Unloading vGPU Driver Stack" +echo "==========================================" + +# Remove mdev devices first +echo "Removing mdev devices..." +for mdev in /sys/bus/mdev/devices/*/; do + if [[ -d "$mdev" ]]; then + UUID=$(basename "$mdev") + echo " Removing $UUID" + echo 1 | sudo tee "$mdev/remove" > /dev/null 2>&1 || true + fi +done + +# Unload modules in reverse order +for mod in gsp_vgpu open_iov_vfio nvidia; do + if lsmod | grep -q "^$mod "; then + echo "Unloading $mod.ko..." + sudo rmmod "$mod" 2>/dev/null || echo " WARNING: $mod still in use" + else + echo "$mod.ko not loaded" + fi +done + +echo "" +echo "==========================================" +echo "Driver Stack Unloaded" +echo "==========================================" +lsmod | grep -E "nvidia|open_iov|gsp_vgpu" || echo "No vGPU modules loaded"
\ No newline at end of file |
