summaryrefslogtreecommitdiffstats
path: root/scripts/stack_manager.sh
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 /scripts/stack_manager.sh
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 'scripts/stack_manager.sh')
-rwxr-xr-xscripts/stack_manager.sh40
1 files changed, 20 insertions, 20 deletions
diff --git a/scripts/stack_manager.sh b/scripts/stack_manager.sh
index 5598817..294a0ee 100755
--- a/scripts/stack_manager.sh
+++ b/scripts/stack_manager.sh
@@ -6,7 +6,7 @@ set -euo pipefail
BASE_DIR="${OPEN_IOV_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
NVIDIA_KO="$BASE_DIR/nvidia-open-gpu-kernel-modules/kernel-open/nvidia.ko"
-VFIO_KO="$BASE_DIR/kernel/open-iov-vfio.ko"
+VFIO_KO="$BASE_DIR/kernel/vgsp.ko"
FIRMWARE_PATH="$BASE_DIR/firmware/57X-GSP/570.144/gsp-570.144.fwimage.bin"
FIRMWARE_DEST="/lib/firmware/gsp-570.144.fwimage.bin"
@@ -32,10 +32,10 @@ log_err() { echo -e "${color_red}[ERROR]${color_nc} $*"; }
# ============================================================
cmd_build_kernel() {
- log_info "Building open-iov-vfio.ko (kernel module)..."
+ log_info "Building vgsp.ko (kernel module)..."
cd "$BASE_DIR"
make kernel
- log_ok "open-iov-vfio.ko built"
+ log_ok "vgsp.ko built"
}
cmd_build_nvidia() {
@@ -101,12 +101,12 @@ cmd_load_open_iov() {
log_err "Missing $VFIO_KO - run 'build' first"
return 1
fi
- if ! lsmod | grep -q "^open_iov_vfio "; then
- log_info "Loading open-iov-vfio.ko..."
- sudo insmod "$VFIO_KO" || { log_err "Failed to load open-iov-vfio.ko"; return 1; }
- log_ok "open-iov-vfio.ko loaded"
+ if ! lsmod | grep -q "^vgsp "; then
+ log_info "Loading vgsp.ko..."
+ sudo insmod "$VFIO_KO" || { log_err "Failed to load vgsp.ko"; return 1; }
+ log_ok "vgsp.ko loaded"
else
- log_ok "open-iov-vfio.ko already loaded"
+ log_ok "vgsp.ko already loaded"
fi
}
@@ -117,9 +117,9 @@ cmd_load_nvidia() {
fi
if lsmod | grep -q "^nvidia "; then
# A module named 'nvidia' is already loaded. For QEMU/vGPU with
- # open-iov-vfio.ko (emulated VFIO device), we do NOT need our
+ # vgsp.ko (emulated VFIO device), we do NOT need our
# submodule nvidia.ko on the host - the apt nvidia driver manages
- # the physical GPU and open-iov-vfio handles the emulated vGPU.
+ # the physical GPU and vgsp handles the emulated vGPU.
# Loading our submodule would conflict with the apt driver and
# potentially crash the GSP (WPR2 stuck). Skip it.
local loaded_ver
@@ -153,7 +153,7 @@ cmd_load_stack() {
cmd_install_firmware
# NOTE: NVIDIA submodule NOT loaded for QEMU/vGPU work.
# apt nvidia (570.211.01) manages the physical GPU;
- # open-iov-vfio handles the emulated vGPU.
+ # vgsp handles the emulated vGPU.
log_ok "=== DRIVER STACK LOADED ==="
lsmod | grep -E "nvidia|open_iov|vfio|mdev"
}
@@ -205,10 +205,10 @@ cmd_unload_stack() {
fi
fi
- if lsmod | grep -qE "^open_iov_vfio\>"; then
- log_info "Unloading open-iov-vfio.ko..."
- sudo rmmod open_iov_vfio || { log_err "Failed to unload open-iov-vfio.ko"; return 1; }
- log_ok "open-iov-vfio.ko unloaded"
+ if lsmod | grep -qE "^vgsp\>"; then
+ log_info "Unloading vgsp.ko..."
+ sudo rmmod vgsp || { log_err "Failed to unload vgsp.ko"; return 1; }
+ log_ok "vgsp.ko unloaded"
fi
sudo modprobe -r vfio_mdev vfio_pci vfio_iommu_type1 vfio mdev 2>/dev/null || true
@@ -329,14 +329,14 @@ USAGE:
./stack_manager.sh <command> [options]
BUILD COMMANDS (run in order):
- build-kernel Build open-iov-vfio.ko (generates Module.symvers)
+ build-kernel Build vgsp.ko (generates Module.symvers)
build-nvidia Build NVIDIA OpenRM with KBUILD_EXTRA_SYMBOLS
build-userspace Build libiov.so + examples
build-all Run all three build steps in correct order
LOAD COMMANDS (run in order):
load-prereqs Load vfio, vfio_iommu_type1, vfio_pci, mdev, vfio_mdev
- load-open-iov Load open-iov-vfio.ko
+ load-open-iov Load vgsp.ko
load-nvidia Load nvidia.ko (OpenRM)
install-firmware Copy GSP firmware to /lib/firmware/
load-stack Run all four load steps in correct order
@@ -386,10 +386,10 @@ EXAMPLES:
NOTE:
- Requires root for module operations
- - BUILD ORDER: open-iov-vfio.ko FIRST (generates Module.symvers),
+ - BUILD ORDER: vgsp.ko FIRST (generates Module.symvers),
THEN nvidia.ko with KBUILD_EXTRA_SYMBOLS
- - LOAD ORDER: vfio/mdev prerequisites -> open-iov-vfio.ko -> nvidia.ko
- - UNLOAD ORDER: remove mdevs -> open-iov-vfio.ko -> nvidia.ko
+ - LOAD ORDER: vfio/mdev prerequisites -> vgsp.ko -> nvidia.ko
+ - UNLOAD ORDER: remove mdevs -> vgsp.ko -> nvidia.ko
- NEVER REBOOT without explicit approval
EOF
}