summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 15:13:06 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 15:13:06 -0400
commitc9bf1cf098c8ea4daeb3e6c9b274a9025c03045d (patch)
tree91b1dc03fc3916a92e1c99bd91a6643842c62525 /tools
parent7621dff1d3fba7bdb31b2b15abca1e5ff8ca4380 (diff)
downloadopen-iov-c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d.tar.gz
open-iov-c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d.zip
kernel: GR context-promote bisection modes 4-17 and server-managed-ctxbuf registry variant; complete vgsp rename; docs/tooling refresh
- gsp_phys_booter: GR promote bisection modes 4-17 (two-phase zero-field VA, batched entries, hVirtMemory, bare VA, KMD SKIP_CTXBUFFER_ALLOC channel, old-interface GPU_INITIALIZE_CTX, FBMEM context buffer, UVM-faithful PA-only, PATCH/PM auxiliary promotes, server-managed no-promote path); PATCH/PM geometry queries and buffers; pre-boot SET_REGISTRY profile selection - gsp_phys_gpu: gsp_phys_rmcall_gr_promote clamp 0..17 and gsp_phys_srv_ctxbuf parameter; registry image variant with RMSetClientRMAllocatedCtxBuffer=0 - vgsp rename across kernel, scripts, tools and docs (module vgsp.ko, /sys/kernel/debug/vgsp/, vgsp-<subsystem>: log prefixes) - risc-v-gsp-rm-debugger user-facing rename and docs/CI refresh; guest-diag tool updates; README/SBOM/install/Makefile sync Live status: CE ladder and P6 guest-copy forwarding green; GR engine context commit still open (all promote shapes accepted or cleanly refused; the channel stays CTXNOTVALID) - see Handoff-vGPU-IO.md Addendum 21 (local).
Diffstat (limited to 'tools')
-rw-r--r--tools/failure_analyzer.py4
-rw-r--r--tools/guest-diag/README.md2
-rwxr-xr-xtools/guest-diag/bridge_sems.sh2
-rwxr-xr-xtools/guest-diag/cycle_cdt.sh2
-rwxr-xr-xtools/guest-diag/inject_counters.sh2
-rwxr-xr-xtools/guest-diag/inject_maps.sh2
-rwxr-xr-xtools/guest-diag/inject_tracker.sh2
-rwxr-xr-xtools/guest-diag/pdwatch_cycle.sh26
-rwxr-xr-xtools/guest-diag/phys_claim_cycle.sh30
-rwxr-xr-xtools/guest-diag/pin_client_sems.sh4
-rw-r--r--tools/guest-diag/pin_gr_stream.py2
-rw-r--r--tools/guest-diag/pin_gr_window.py2
-rwxr-xr-xtools/guest-diag/pin_miss_pages.sh2
-rwxr-xr-xtools/guest-diag/pin_sem_fast.sh2
-rwxr-xr-xtools/guest-diag/run_cycle.sh2
-rwxr-xr-xtools/guest-diag/run_traced.sh6
-rwxr-xr-xtools/guest-diag/semfix_uvmt.py2
-rw-r--r--tools/guest-diag/semfix_watch.py2
-rwxr-xr-xtools/guest-diag/vmcycle.sh6
-rwxr-xr-xtools/guest-diag/vmrestart.sh6
20 files changed, 54 insertions, 54 deletions
diff --git a/tools/failure_analyzer.py b/tools/failure_analyzer.py
index 7ffb776..11351da 100644
--- a/tools/failure_analyzer.py
+++ b/tools/failure_analyzer.py
@@ -126,7 +126,7 @@ class FailureAnalyzer:
def _load_recommendations(self) -> Dict:
return {
"PCI_PROBE_FAILURE": [
- "Check PCI config space emulation in open-iov-vfio.ko (main.c)",
+ "Check PCI config space emulation in vgsp.ko (main.c)",
"Verify BAR sizes match physical GPU (16MB/256MB/32MB/32MB)",
"Check MSI-X capability pointer (0x70) and table/PBA offsets",
"Ensure mdev parent registered with NVIDIA host driver",
@@ -157,7 +157,7 @@ class FailureAnalyzer:
"Check for IOMMU faults in dmesg",
],
"VGPU_VFIO_FAILURE": [
- "Verify nvidia.ko loaded before open-iov-vfio.ko",
+ "Verify nvidia.ko loaded before vgsp.ko",
"Check KBUILD_EXTRA_SYMBOLS points to nvidia.ko Module.symvers",
"Verify nvidia_vgpu_vfio_get_ops exported by nvidia.ko",
"Check mdev parent registration callback",
diff --git a/tools/guest-diag/README.md b/tools/guest-diag/README.md
index ea5ac14..7686ecd 100644
--- a/tools/guest-diag/README.md
+++ b/tools/guest-diag/README.md
@@ -31,7 +31,7 @@ syscall instruction). Kept only as documentation of that fact.
## vmcycle.sh - reload cycle
-pkill QEMU -> remove mdevs -> rmmod/insmod open-iov-vfio.ko -> create a fresh
+pkill QEMU -> remove mdevs -> rmmod/insmod vgsp.ko -> create a fresh
`nvidia-nvidia-vgpu-turing` mdev -> patch its UUID into
launch_qemu_rootport.sh -> relaunch. Guest boots in ~60-75 s.
diff --git a/tools/guest-diag/bridge_sems.sh b/tools/guest-diag/bridge_sems.sh
index f54801d..a024524 100755
--- a/tools/guest-diag/bridge_sems.sh
+++ b/tools/guest-diag/bridge_sems.sh
@@ -33,7 +33,7 @@ for i in $(seq 1 "$ITER"); do
for l in "${lines[@]}"; do
va=${l%%,*}
pa=${l##*,}
- echo "$va,$pa,0x1000,1" | sudo tee /sys/module/open_iov_vfio/parameters/sema_map_add >/dev/null
+ echo "$va,$pa,0x1000,1" | sudo tee /sys/module/vgsp/parameters/sema_map_add >/dev/null
done
total=$((total + ${#lines[@]}))
last_va=${lines[-1]%%,*}
diff --git a/tools/guest-diag/cycle_cdt.sh b/tools/guest-diag/cycle_cdt.sh
index 009bdfc..3aaa723 100755
--- a/tools/guest-diag/cycle_cdt.sh
+++ b/tools/guest-diag/cycle_cdt.sh
@@ -39,7 +39,7 @@ for i in $(seq 1 24); do
done
# if UVM's tracking semaphore lags, poke it forward
-SEMAPA=$(sudo sh -c 'echo 0x121000010,1 > /sys/module/open_iov_vfio/parameters/sema_probe' 2>/dev/null; sleep 2; sudo dmesg -T | grep -A2 "sema-probe: va=0x121000010" | grep -oE "pa=0x[0-9a-f]+" | head -1 | cut -d= -f2)
+SEMAPA=$(sudo sh -c 'echo 0x121000010,1 > /sys/module/vgsp/parameters/sema_probe' 2>/dev/null; sleep 2; sudo dmesg -T | grep -A2 "sema-probe: va=0x121000010" | grep -oE "pa=0x[0-9a-f]+" | head -1 | cut -d= -f2)
if [ -n "$SEMAPA" ]; then
CUR=$(sudo dmesg -T | grep -A3 "sema-probe: va=0x121000010" | grep -oE "\[0\] 0x[0-9a-f]+" | tail -1 | awk '{print $2}')
echo "[*] UVM tracking sema pa=$SEMAPA value=$CUR"
diff --git a/tools/guest-diag/inject_counters.sh b/tools/guest-diag/inject_counters.sh
index 6586a95..5ee60fd 100755
--- a/tools/guest-diag/inject_counters.sh
+++ b/tools/guest-diag/inject_counters.sh
@@ -30,7 +30,7 @@ set -uo pipefail
HERE="$(cd "$(dirname "$0")" && pwd)"
VMEXEC="$HERE/../../scripts/vgpu_vm.py"
-PARAM=/sys/module/open_iov_vfio/parameters
+PARAM=/sys/module/vgsp/parameters
DONE=/tmp/inject_counters.done
PID="${1:-}"
diff --git a/tools/guest-diag/inject_maps.sh b/tools/guest-diag/inject_maps.sh
index 2973311..6dcabb5 100755
--- a/tools/guest-diag/inject_maps.sh
+++ b/tools/guest-diag/inject_maps.sh
@@ -12,7 +12,7 @@ LOG=/tmp/inject_maps.log
: > "$LOG"
map_add() { # map_add <va-hex> <pa-hex>
- echo "0x$1,0x$2" | sudo tee /sys/module/open_iov_vfio/parameters/sema_map_add >/dev/null 2>&1
+ echo "0x$1,0x$2" | sudo tee /sys/module/vgsp/parameters/sema_map_add >/dev/null 2>&1
}
inject_list() { # inject_list <va...>
diff --git a/tools/guest-diag/inject_tracker.sh b/tools/guest-diag/inject_tracker.sh
index a563b0d..0a292e4 100755
--- a/tools/guest-diag/inject_tracker.sh
+++ b/tools/guest-diag/inject_tracker.sh
@@ -25,6 +25,6 @@ print('PA=0x%x'%((pfn<<12)|(va&0xfff)))
[ -n "$PA" ] || { echo "NO PA FOUND"; exit 1; }
echo "target pa=$PA"
-sudo sh -c "echo 0x$VALPTR_HEX,$PA > /sys/module/open_iov_vfio/parameters/sema_map_add" || exit 1
+sudo sh -c "echo 0x$VALPTR_HEX,$PA > /sys/module/vgsp/parameters/sema_map_add" || exit 1
sleep 1
sudo dmesg -T | grep "injected mapping" | tail -1
diff --git a/tools/guest-diag/pdwatch_cycle.sh b/tools/guest-diag/pdwatch_cycle.sh
index 45d08cc..fe758fd 100755
--- a/tools/guest-diag/pdwatch_cycle.sh
+++ b/tools/guest-diag/pdwatch_cycle.sh
@@ -21,15 +21,15 @@ for i in $(seq 1 30); do
done
echo "[*] $(date +%T) params: sema_dbg=Y, dst watch 0x200000 + 0x208000"
-sudo sh -c "echo Y > /sys/module/open_iov_vfio/parameters/sema_dbg; \
-echo N > /sys/module/open_iov_vfio/parameters/sema_fake_rel; \
-echo N > /sys/module/open_iov_vfio/parameters/sema_skip_ops; \
-echo 64 > /sys/module/open_iov_vfio/parameters/sema_ops_log; \
-echo 0 > /sys/module/open_iov_vfio/parameters/sema_copy_watch; \
-echo 0 > /sys/module/open_iov_vfio/parameters/sema_copy_pat; \
-echo 0x200000 > /sys/module/open_iov_vfio/parameters/sema_copy_dst; \
-echo 0x208000 > /sys/module/open_iov_vfio/parameters/sema_copy_dst2; \
-echo 8000 > /sys/module/open_iov_vfio/parameters/sema_ce_grace_ms"
+sudo sh -c "echo Y > /sys/module/vgsp/parameters/sema_dbg; \
+echo N > /sys/module/vgsp/parameters/sema_fake_rel; \
+echo N > /sys/module/vgsp/parameters/sema_skip_ops; \
+echo 64 > /sys/module/vgsp/parameters/sema_ops_log; \
+echo 0 > /sys/module/vgsp/parameters/sema_copy_watch; \
+echo 0 > /sys/module/vgsp/parameters/sema_copy_pat; \
+echo 0x200000 > /sys/module/vgsp/parameters/sema_copy_dst; \
+echo 0x208000 > /sys/module/vgsp/parameters/sema_copy_dst2; \
+echo 8000 > /sys/module/vgsp/parameters/sema_ce_grace_ms"
echo "[*] $(date +%T) push tools"
timeout 600 "$HERE/push_guest_tools.sh" >/dev/null 2>&1 || echo " push failed"
@@ -59,7 +59,7 @@ done
echo "[*] $(date +%T) shadow dumps during park"
for a in 0x200000 0x201000 0x202000 0x203000 0x208000; do
echo " -- $a"
- sudo sh -c "echo '$a,64' > /sys/module/open_iov_vfio/parameters/sema_vidmem_dump" 2>/dev/null
+ sudo sh -c "echo '$a,64' > /sys/module/vgsp/parameters/sema_vidmem_dump" 2>/dev/null
sleep 0.2
done
sudo dmesg | grep -a "sema-vidmem\|sema-walk-probe\|sema-svc: VA space" | tail -40 > "$OUT/pdwatch_park_dmesg.txt"
@@ -70,8 +70,8 @@ echo " devptr=$DEV"
if [ -n "${DEV:-}" ]; then
STG=$(printf '0x%x' $((DEV+0x3c00100)))
echo " staging=$STG"
- echo " -- walk_probe staging"; sudo sh -c "echo $STG > /sys/module/open_iov_vfio/parameters/walk_probe"; sleep 1
- echo " -- walk_probe devptr"; sudo sh -c "echo $DEV > /sys/module/open_iov_vfio/parameters/walk_probe"; sleep 1
+ echo " -- walk_probe staging"; sudo sh -c "echo $STG > /sys/module/vgsp/parameters/walk_probe"; sleep 1
+ echo " -- walk_probe devptr"; sudo sh -c "echo $DEV > /sys/module/vgsp/parameters/walk_probe"; sleep 1
fi
echo " -- copy-dst lines so far"
sudo dmesg | grep -aE "sema-copy-dst|sema-svc: applied|sema-256" | tail -30
@@ -87,7 +87,7 @@ echo "[*] $(date +%T) post-run: walk state + copy-dst log"
cp "$SER" "$OUT/pdwatch_serial.log" 2>/dev/null
sudo dmesg > "$OUT/pdwatch_dmesg.log" 2>/dev/null
if [ -n "${STG:-}" ]; then
- echo " -- post walk_probe staging"; sudo sh -c "echo $STG > /sys/module/open_iov_vfio/parameters/walk_probe"; sleep 1
+ echo " -- post walk_probe staging"; sudo sh -c "echo $STG > /sys/module/vgsp/parameters/walk_probe"; sleep 1
sudo dmesg | tail -12
fi
echo " -- copy-dst summary"
diff --git a/tools/guest-diag/phys_claim_cycle.sh b/tools/guest-diag/phys_claim_cycle.sh
index 0e00ae8..e89fbfc 100755
--- a/tools/guest-diag/phys_claim_cycle.sh
+++ b/tools/guest-diag/phys_claim_cycle.sh
@@ -2,7 +2,7 @@
# phys_claim_cycle.sh - supervised physical-GPU claim/release cycle harness.
#
# Drives one or more full "D0 pre-lock" cycles of the physical-ownership
-# backend (open-iov-vfio + gsp_phys_gpu=1 + gsp_phys_hazard_ack=1):
+# backend (vgsp + gsp_phys_gpu=1 + gsp_phys_hazard_ack=1):
#
# start persistenced -> wait GPU+root port active -> power/control=on on
# GPU+port -> dmesg -C -> (stop persistenced && insmod) as ONE command ->
@@ -33,7 +33,7 @@
# --dryrun also pass gsp_phys_fwsec_dryrun=1 (implies --layout): run the
# READ-ONLY stage-3c validation (VBIOS/BIT/FWSEC parse and the
# staging/placement plan, no device writes); expects the
-# "gsp-phys-fwsec-dryrun:" and "stage 3c dry-run complete"
+# "vgsp-fwsec-dryrun:" and "stage 3c dry-run complete"
# lines. It is also implied by --boot-dryrun (alias)
# --boot-dryrun implies --dryrun and also passes gsp_phys_boot_dryrun=1
# (implies --layout): host-memory-only stage-3d staging
@@ -60,13 +60,13 @@
# this fused part: it left WPR2 up and was not host-recoverable.
# It is refused immediately and never reaches insmod. Use
# --boot; never stop after FWSEC alone on this host.
-# --ko PATH module to insmod (default kernel/open-iov-vfio.ko)
+# --ko PATH module to insmod (default kernel/vgsp.ko)
# --fw NAME GSP firmware to stage (request_firmware name under
# /lib/firmware; default: the module's own default, currently
# nvidia/570.211.01/gsp_tu10x.bin)
# --nocat pass gsp_phys_nocat=1: during --boot, log every GSP-RM NOCAT
# journal record (status-queue function 0x1020) to dmesg with
-# the "gsp-nocat:" prefix. The unique-record summary is
+# the "vgsp-nocat:" prefix. The unique-record summary is
# printed at the end of stage 3e (success or failure) with or
# without this flag; per-record logging is verbose.
# --restore-power restore power/control=auto and restart persistenced at
@@ -106,7 +106,7 @@ BOOT_DRYRUN=0
NOCAT=0
KEEP=0
RESTORE_POWER=0
-KO="$REPO_ROOT/kernel/open-iov-vfio.ko"
+KO="$REPO_ROOT/kernel/vgsp.ko"
FW=""
GPU_BDF="${GPU_BDF:-0000:01:00.0}"
@@ -247,8 +247,8 @@ if [ -n "$WATCH_PIDS" ]; then
pre_fail "stale watcher process(es) running; stop them first"
fi
-if lsmod 2>/dev/null | awk '{print $1}' | grep -qx open_iov_vfio; then
- pre_fail "open_iov_vfio is already loaded; rmmod it first"
+if lsmod 2>/dev/null | awk '{print $1}' | grep -qx vgsp; then
+ pre_fail "vgsp is already loaded; rmmod it first"
fi
command -v lspci >/dev/null 2>&1 || pre_fail "lspci not found"
@@ -380,10 +380,10 @@ for n in $(seq 1 "$CYCLES"); do
sleep 1
save_dmesg "$DLOG"
- if grep -q "gsp-phys: refusing claim" "$DLOG" 2>/dev/null; then
+ if grep -q "vgsp: refusing claim" "$DLOG" 2>/dev/null; then
echo "PRECONDITION FAIL: cycle $n: module refused the claim (GPU/port were already runtime-suspended)" >&2
warn "no claim was taken; unloading the module is safe"
- timeout 60 sudo rmmod open_iov_vfio 2>/dev/null || true
+ timeout 60 sudo rmmod vgsp 2>/dev/null || true
save_dmesg "$DLOG"
exit 3
fi
@@ -405,7 +405,7 @@ for n in $(seq 1 "$CYCLES"); do
OK_DRYRUN=1
if [ "$DRYRUN" -eq 1 ]; then
OK_DRYRUN=0
- if grep -q "gsp-phys-fwsec-dryrun:" "$DLOG" && \
+ if grep -q "vgsp-fwsec-dryrun:" "$DLOG" && \
grep -q "stage 3c dry-run complete" "$DLOG"; then
OK_DRYRUN=1
fi
@@ -437,7 +437,7 @@ for n in $(seq 1 "$CYCLES"); do
if [ "$NR_LOCKS" -eq 0 ] && [ "$OK_CLAIM" -eq 0 ]; then
echo "ABORT: cycle $n: no locks and no claim took effect" >&2
warn "no D0 locks were taken; unloading the module is safe"
- timeout 60 sudo rmmod open_iov_vfio 2>/dev/null || true
+ timeout 60 sudo rmmod vgsp 2>/dev/null || true
save_dmesg "$DLOG"
exit 2
fi
@@ -454,7 +454,7 @@ for n in $(seq 1 "$CYCLES"); do
warn "cycle $n: gsp_phys_layout=1 but no 'stage 3b complete' line"
fi
if [ "$DRYRUN" -eq 1 ] && [ "$OK_DRYRUN" -ne 1 ]; then
- warn "cycle $n: gsp_phys_fwsec_dryrun=1 but the read-only dry-run did not complete (missing 'gsp-phys-fwsec-dryrun:'/'stage 3c dry-run complete')"
+ warn "cycle $n: gsp_phys_fwsec_dryrun=1 but the read-only dry-run did not complete (missing 'vgsp-fwsec-dryrun:'/'stage 3c dry-run complete')"
fi
if [ "$BOOT_DRYRUN" -eq 1 ] && [ "$OK_BOOTPRIME" -ne 1 ]; then
warn "cycle $n: gsp_phys_boot_dryrun=1 but 'stage 3d prime complete' is missing (staging rehearsal did not complete)"
@@ -504,9 +504,9 @@ for n in $(seq 1 "$CYCLES"); do
lspci: $LSPCI_NN
driver=$DRV gpu=$RSTAT_GPU port=$RSTAT_PORT
power/control=on (GPU $GPU_BDF and port $PORT_BDF)
- nvidia-persistenced stopped; open_iov_vfio loaded and holding the claim.
+ nvidia-persistenced stopped; vgsp loaded and holding the claim.
To end the claimed session:
- sudo rmmod open_iov_vfio
+ sudo rmmod vgsp
echo auto | sudo tee /sys/bus/pci/devices/$GPU_BDF/power/control
echo auto | sudo tee /sys/bus/pci/devices/$PORT_BDF/power/control
sudo systemctl start nvidia-persistenced
@@ -517,7 +517,7 @@ EOF
exit 0
fi
- timeout 60 sudo rmmod open_iov_vfio >/dev/null 2>&1
+ timeout 60 sudo rmmod vgsp >/dev/null 2>&1
RMMOD_RC=$?
sleep 1
save_dmesg "$DLOG"
diff --git a/tools/guest-diag/pin_client_sems.sh b/tools/guest-diag/pin_client_sems.sh
index 82d2789..af39fd1 100755
--- a/tools/guest-diag/pin_client_sems.sh
+++ b/tools/guest-diag/pin_client_sems.sh
@@ -34,7 +34,7 @@ pin_range() { # pin_range <lo-dec> <hi-dec> <label>
mapfile -t lines < <(timeout 60 $VMEXEC exec --timeout 50 "sudo python3 /tmp/pmapall.py $PID $(printf '0x%x' "$cur") 32" 2>/dev/null | grep -aE '^0x[0-9a-f]+,0x[0-9a-f]+$')
[ "${#lines[@]}" -gt 0 ] || break
for l in "${lines[@]}"; do
- echo "$l,0x1000,1" | sudo tee /sys/module/open_iov_vfio/parameters/sema_map_add >/dev/null
+ echo "$l,0x1000,1" | sudo tee /sys/module/vgsp/parameters/sema_map_add >/dev/null
done
total=$((total + ${#lines[@]}))
local last=${lines[-1]%%,*}
@@ -58,7 +58,7 @@ for it in $(seq 1 "$ITER"); do
for va in $lines; do
line=$(timeout 30 $VMEXEC exec --timeout 25 "sudo python3 /tmp/pmapall.py $PID $va 1" 2>/dev/null | grep -E '^0x[0-9a-f]+,0x[0-9a-f]+$' | head -1)
[ -n "$line" ] || continue
- echo "$line,0x1000,1" | sudo tee /sys/module/open_iov_vfio/parameters/sema_map_add >/dev/null || continue
+ echo "$line,0x1000,1" | sudo tee /sys/module/vgsp/parameters/sema_map_add >/dev/null || continue
n=$((n + 1))
done
echo "iter $it: pinned $n sem page(s) (pid $PID)"
diff --git a/tools/guest-diag/pin_gr_stream.py b/tools/guest-diag/pin_gr_stream.py
index a11bc84..d8b6b61 100644
--- a/tools/guest-diag/pin_gr_stream.py
+++ b/tools/guest-diag/pin_gr_stream.py
@@ -18,7 +18,7 @@ import time
HERE = os.path.dirname(os.path.abspath(__file__))
VMEXEC = os.path.normpath(os.path.join(HERE, "..", "..", "scripts", "vgpu_vm.py"))
-PARAM = "/sys/module/open_iov_vfio/parameters"
+PARAM = "/sys/module/vgsp/parameters"
GUEST_SCRIPT = os.path.join(HERE, "guest_pin_stream.py")
PORT = int(os.environ.get("PINWIN_PORT", "45678"))
diff --git a/tools/guest-diag/pin_gr_window.py b/tools/guest-diag/pin_gr_window.py
index 26083f7..71f73d0 100644
--- a/tools/guest-diag/pin_gr_window.py
+++ b/tools/guest-diag/pin_gr_window.py
@@ -30,7 +30,7 @@ import time
HERE = os.path.dirname(os.path.abspath(__file__))
VMEXEC = os.path.normpath(os.path.join(HERE, "..", "..", "scripts", "vgpu_vm.py"))
-PARAM = "/sys/module/open_iov_vfio/parameters"
+PARAM = "/sys/module/vgsp/parameters"
HELPER = os.path.join(HERE, "guest_pmap_win.py")
LO = int(os.environ.get("PINWIN_LO", "0x200400000"), 16)
diff --git a/tools/guest-diag/pin_miss_pages.sh b/tools/guest-diag/pin_miss_pages.sh
index 77268ef..fd7722a 100755
--- a/tools/guest-diag/pin_miss_pages.sh
+++ b/tools/guest-diag/pin_miss_pages.sh
@@ -45,7 +45,7 @@ for ((i = 1; i <= MAXMIN * 4; i++)); do
line=$(EXEC "sudo python3 /tmp/pmapall.py $pid $page 1" |
grep -aE "^$page,0x[0-9a-f]+$" | head -1)
if [ -n "$line" ]; then
- echo "$line,0x1000,1" | sudo tee /sys/module/open_iov_vfio/parameters/sema_map_add >/dev/null
+ echo "$line,0x1000,1" | sudo tee /sys/module/vgsp/parameters/sema_map_add >/dev/null
echo "[$((i * 15))s] pinned $line (pid $pid)"
seen="$seen $page"
fi
diff --git a/tools/guest-diag/pin_sem_fast.sh b/tools/guest-diag/pin_sem_fast.sh
index e0e30f8..16cecc4 100755
--- a/tools/guest-diag/pin_sem_fast.sh
+++ b/tools/guest-diag/pin_sem_fast.sh
@@ -24,7 +24,7 @@ for ((i = 1; i <= N; i++)); do
line=$(EXEC "sudo python3 /tmp/pmapall.py $pid 0x20400f000 1" |
grep -aE "^0x20400f000,0x[0-9a-f]+$" | head -1)
if [ -n "$line" ]; then
- echo "$line,0x1000,1" | sudo tee /sys/module/open_iov_vfio/parameters/sema_map_add >/dev/null
+ echo "$line,0x1000,1" | sudo tee /sys/module/vgsp/parameters/sema_map_add >/dev/null
pinned_pid="$pid"
echo "[$((i * 2))s] pinned $line (pid $pid)"
fi
diff --git a/tools/guest-diag/run_cycle.sh b/tools/guest-diag/run_cycle.sh
index d6ab63f..28ea18d 100755
--- a/tools/guest-diag/run_cycle.sh
+++ b/tools/guest-diag/run_cycle.sh
@@ -44,7 +44,7 @@ if [ "$DBG" != "Y" ] && { [ "$COPY_WATCH" != "0" ] || [ "$COPY_PAT" != "0" ] ||
DBG=Y
fi
echo " sema_dbg=$DBG"
-sudo sh -c "echo $DBG > /sys/module/open_iov_vfio/parameters/sema_dbg; echo Y > /sys/module/open_iov_vfio/parameters/sema_fake_rel; echo $SKIP_OPS > /sys/module/open_iov_vfio/parameters/sema_skip_ops; echo $OPS_LOG > /sys/module/open_iov_vfio/parameters/sema_ops_log; echo $COPY_WATCH > /sys/module/open_iov_vfio/parameters/sema_copy_watch; echo $COPY_PAT > /sys/module/open_iov_vfio/parameters/sema_copy_pat; echo $COPY_DST > /sys/module/open_iov_vfio/parameters/sema_copy_dst; echo $COPY_DST2 > /sys/module/open_iov_vfio/parameters/sema_copy_dst2; echo $CE_GRACE > /sys/module/open_iov_vfio/parameters/sema_ce_grace_ms"
+sudo sh -c "echo $DBG > /sys/module/vgsp/parameters/sema_dbg; echo Y > /sys/module/vgsp/parameters/sema_fake_rel; echo $SKIP_OPS > /sys/module/vgsp/parameters/sema_skip_ops; echo $OPS_LOG > /sys/module/vgsp/parameters/sema_ops_log; echo $COPY_WATCH > /sys/module/vgsp/parameters/sema_copy_watch; echo $COPY_PAT > /sys/module/vgsp/parameters/sema_copy_pat; echo $COPY_DST > /sys/module/vgsp/parameters/sema_copy_dst; echo $COPY_DST2 > /sys/module/vgsp/parameters/sema_copy_dst2; echo $CE_GRACE > /sys/module/vgsp/parameters/sema_ce_grace_ms"
echo "[*] pushing guest tools"
timeout 300 "$HERE/push_guest_tools.sh" >/dev/null 2>&1 || { echo "push failed"; exit 1; }
diff --git a/tools/guest-diag/run_traced.sh b/tools/guest-diag/run_traced.sh
index e8d3a09..009e20b 100755
--- a/tools/guest-diag/run_traced.sh
+++ b/tools/guest-diag/run_traced.sh
@@ -26,18 +26,18 @@ pfn=e & ((1<<55)-1)
print('PA=0x%x'%((pfn<<12)|0xeb0))
\"" | grep -o 'PA=0x[0-9a-f]*' | head -1 | sed 's/PA=//')
if [ -n "$PA" ]; then
- sudo sh -c "echo 0x20480feb0,$PA > /sys/module/open_iov_vfio/parameters/sema_map_add" 2>/dev/null
+ sudo sh -c "echo 0x20480feb0,$PA > /sys/module/vgsp/parameters/sema_map_add" 2>/dev/null
fi
# nudge UVM's tracking semaphore forward when the sweep has stalled
- sudo sh -c 'echo 0x121000010,1 > /sys/module/open_iov_vfio/parameters/sema_probe' 2>/dev/null
+ sudo sh -c 'echo 0x121000010,1 > /sys/module/vgsp/parameters/sema_probe' 2>/dev/null
sleep 1
VALS=$(sudo dmesg -T | grep -A4 "sema-probe: va=0x121000010" | tail -4)
SPA=$(echo "$VALS" | grep -oE "pa=0x[0-9a-f]+" | head -1 | cut -d= -f2)
CUR=$(echo "$VALS" | grep -oE "\[0\] 0x[0-9a-f]+" | head -1 | awk '{print $2}')
if [ -n "$SPA" ] && [ -n "$CUR" ]; then
NEXT=$(printf '0x%x' $(( CUR + 1 )))
- sudo sh -c "echo 0x$SPA,$NEXT > /sys/module/open_iov_vfio/parameters/poke_guest" 2>/dev/null
+ sudo sh -c "echo 0x$SPA,$NEXT > /sys/module/vgsp/parameters/poke_guest" 2>/dev/null
echo " [$((i*10))s] cdt=$PID sema $CUR -> $NEXT"
else
echo " [$((i*10))s] cdt=$PID (sema unresolved)"
diff --git a/tools/guest-diag/semfix_uvmt.py b/tools/guest-diag/semfix_uvmt.py
index 636e1f4..ba4f4f7 100755
--- a/tools/guest-diag/semfix_uvmt.py
+++ b/tools/guest-diag/semfix_uvmt.py
@@ -209,7 +209,7 @@ def dmesg_releases(seen):
if not line or line in seen:
continue
seen.add(line)
- log("push: %s" % line.replace("gsp-resman-vfio: ", ""))
+ log("push: %s" % line.replace("vgsp: ", ""))
def cdt_pid():
diff --git a/tools/guest-diag/semfix_watch.py b/tools/guest-diag/semfix_watch.py
index 1bb4b39..5740b42 100644
--- a/tools/guest-diag/semfix_watch.py
+++ b/tools/guest-diag/semfix_watch.py
@@ -42,7 +42,7 @@ import time
HERE = os.path.dirname(os.path.abspath(__file__))
VMEXEC = os.path.normpath(os.path.join(HERE, "..", "..", "scripts", "vgpu_vm.py"))
-PARAM = "/sys/module/open_iov_vfio/parameters"
+PARAM = "/sys/module/vgsp/parameters"
QMP_SOCK = os.environ.get("QMP_SOCK", "/tmp/qemu-qmp.sock")
GPU_VA_LO = 0x100000000
diff --git a/tools/guest-diag/vmcycle.sh b/tools/guest-diag/vmcycle.sh
index 6faaa75..d3dcbec 100755
--- a/tools/guest-diag/vmcycle.sh
+++ b/tools/guest-diag/vmcycle.sh
@@ -1,6 +1,6 @@
#!/bin/bash
# vmcycle.sh - reload cycle for the emulated vGPU stack:
-# stop QEMU -> remove mdevs -> rmmod/insmod open-iov-vfio.ko -> create a
+# stop QEMU -> remove mdevs -> rmmod/insmod vgsp.ko -> create a
# fresh mdev -> patch its UUID into the runtime launch script -> relaunch.
#
# ALL artifacts stay inside this directory (tools/guest-diag/) so nothing is
@@ -17,7 +17,7 @@ set -e
HERE="$(cd "$(dirname "$0")" && pwd)"
TEMPLATE="$HERE/launch_qemu_rootport.sh"
QEMU_SCRIPT="${QEMU_SCRIPT:-$HERE/launch_qemu_rootport.run.sh}"
-MODULE="${MODULE:-$HERE/../../kernel/open-iov-vfio.ko}"
+MODULE="${MODULE:-$HERE/../../kernel/vgsp.ko}"
MDEV_PARENT="${MDEV_PARENT:-0000:01:00.0}"
MDEV_TYPE="${MDEV_TYPE:-nvidia-nvidia-vgpu-turing}"
RUNDIR="$HERE/run"
@@ -30,7 +30,7 @@ sleep 4
for m in /sys/bus/mdev/devices/*; do
[ -d "$m" ] && echo 1 | sudo tee "$m/remove" >/dev/null
done
-sudo rmmod open_iov_vfio 2>/dev/null || true
+sudo rmmod vgsp 2>/dev/null || true
sudo insmod "$MODULE"
U=$(uuidgen)
echo "$U" | sudo tee "/sys/class/mdev_bus/$MDEV_PARENT/mdev_supported_types/$MDEV_TYPE/create" >/dev/null
diff --git a/tools/guest-diag/vmrestart.sh b/tools/guest-diag/vmrestart.sh
index 8c15a89..f94521c 100755
--- a/tools/guest-diag/vmrestart.sh
+++ b/tools/guest-diag/vmrestart.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# vmrestart.sh - stop QEMU, reload open-iov-vfio.ko from the tree, fresh mdev,
+# vmrestart.sh - stop QEMU, reload vgsp.ko from the tree, fresh mdev,
# relaunch the vGPU VM. Everything bounded so a stuck step cannot hang the
# caller.
set -u
@@ -20,8 +20,8 @@ for m in /sys/bus/mdev/devices/*; do
timeout 20 sudo sh -c "echo 1 > $m/remove" || echo "WARN: mdev remove timeout"
done
-timeout 30 sudo rmmod open_iov_vfio || { echo "ERROR: rmmod failed"; exit 1; }
-sudo insmod kernel/open-iov-vfio.ko || { echo "ERROR: insmod failed"; exit 1; }
+timeout 30 sudo rmmod vgsp || { echo "ERROR: rmmod failed"; exit 1; }
+sudo insmod kernel/vgsp.ko || { echo "ERROR: insmod failed"; exit 1; }
U=$(uuidgen)
echo "$U" | sudo tee /sys/class/mdev_bus/0000:01:00.0/mdev_supported_types/nvidia-nvidia-vgpu-turing/create >/dev/null