#!/bin/sh # SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2026 Open-IOV contributors # uvmprobe.sh - guest-side: probe UVM's external-range/map API return statuses # while cdt runs, and capture UVM's own debug-print output. nvidia-modprobe -c 0 nvidia-modprobe -u modprobe nvidia-uvm echo 1 > /sys/module/nvidia_uvm/parameters/uvm_debug_prints 2>/dev/null echo > /sys/kernel/tracing/kprobe_events 2>/dev/null echo 'p:uvm_crext uvm_api_create_external_range par=%di' >> /sys/kernel/tracing/kprobe_events echo 'r:uvm_crext_ret uvm_api_create_external_range status=$retval' >> /sys/kernel/tracing/kprobe_events echo 'p:uvm_mapext uvm_api_map_external_allocation par=%di' >> /sys/kernel/tracing/kprobe_events echo 'r:uvm_mapext_ret uvm_api_map_external_allocation status=$retval' >> /sys/kernel/tracing/kprobe_events echo 1 > /sys/kernel/tracing/events/kprobes/enable rm -f /tmp/cdt.out setsid /tmp/cdt > /tmp/cdt.out 2>&1 & sleep 100 echo 0 > /sys/kernel/tracing/events/kprobes/enable dmesg | grep -ai "uvm" | tail -60 > /tmp/uvmdmesg.txt cat /sys/kernel/tracing/trace > /tmp/trace.txt tail -1 /tmp/cdt.out > /tmp/cdttail.txt echo SCRIPT_DONE > /tmp/uvmprobe.done