summaryrefslogtreecommitdiffstats
path: root/kernel/main.c
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
commit4bb8550a72597ec098c6d62a75006a0aba61972e (patch)
treebd0ec74c26ff056251052a5e1ba0b59d14fb1f6a /kernel/main.c
parent8b491c4e7ebde76c17faddaad47f92898d6c97de (diff)
downloadopen-iov-4bb8550a72597ec098c6d62a75006a0aba61972e.tar.gz
open-iov-4bb8550a72597ec098c6d62a75006a0aba61972e.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 'kernel/main.c')
-rw-r--r--kernel/main.c268
1 files changed, 134 insertions, 134 deletions
diff --git a/kernel/main.c b/kernel/main.c
index fbeb7e3..39c71c3 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -175,7 +175,7 @@ static NV_STATUS nv_vgpu_create_callback(struct pci_dev *pdev, const NvU8 *uuid,
NvU32 type_id, NvU16 *vgpu_id,
NvU32 *gpu_pci_id, NvU32 gpu_pci_bdf)
{
- pr_info("gsp-resman-vfio: vgpu_create callback: type_id=%u\n", type_id);
+ pr_info("vgsp: vgpu_create callback: type_id=%u\n", type_id);
if (vgpu_id)
*vgpu_id = 1;
if (gpu_pci_id)
@@ -185,14 +185,14 @@ static NV_STATUS nv_vgpu_create_callback(struct pci_dev *pdev, const NvU8 *uuid,
static NV_STATUS nv_vgpu_delete_callback(const NvU8 *uuid, NvU16 vgpu_id)
{
- pr_info("gsp-resman-vfio: vgpu_delete callback: vgpu_id=%u\n", vgpu_id);
+ pr_info("vgsp: vgpu_delete callback: vgpu_id=%u\n", vgpu_id);
return NV_OK;
}
static NV_STATUS nv_vgpu_bar_info_callback(struct pci_dev *pdev, const NvU8 *uuid,
NvU64 *size, NvU32 bar_index, void *vgpu_dev)
{
- pr_info("gsp-resman-vfio: vgpu_bar_info callback: bar_index=%u\n", bar_index);
+ pr_info("vgsp: vgpu_bar_info callback: bar_index=%u\n", bar_index);
if (size) {
switch (bar_index) {
case 0:
@@ -217,7 +217,7 @@ static NV_STATUS nv_vgpu_bar_info_callback(struct pci_dev *pdev, const NvU8 *uui
static NV_STATUS nv_vgpu_get_name_callback(struct pci_dev *pdev, NvU32 type_id, char *buf)
{
- pr_info("gsp-resman-vfio: get_name callback: type_id=%u\n", type_id);
+ pr_info("vgsp: get_name callback: type_id=%u\n", type_id);
if (buf) {
switch (type_id) {
case 0: /* Ampere */
@@ -242,7 +242,7 @@ static NV_STATUS nv_vgpu_get_name_callback(struct pci_dev *pdev, NvU32 type_id,
static NV_STATUS nv_vgpu_get_description_callback(struct pci_dev *pdev, NvU32 type_id, char *buf)
{
- pr_info("gsp-resman-vfio: get_description callback: type_id=%u\n", type_id);
+ pr_info("vgsp: get_description callback: type_id=%u\n", type_id);
if (buf) {
switch (type_id) {
case 0:
@@ -267,7 +267,7 @@ static NV_STATUS nv_vgpu_get_description_callback(struct pci_dev *pdev, NvU32 ty
static NV_STATUS nv_vgpu_get_instances_callback(struct pci_dev *pdev, NvU32 type_id, char *buf)
{
- pr_info("gsp-resman-vfio: get_instances callback: type_id=%u\n", type_id);
+ pr_info("vgsp: get_instances callback: type_id=%u\n", type_id);
if (buf)
strcpy(buf, "1");
return NV_OK;
@@ -277,13 +277,13 @@ static void nv_vgpu_update_request_callback(const NvU8 *uuid, NvU64 *vgpu_dev,
NvU64 *vgpu_vm, VGPU_DEVICE_STATE device_state,
const char *params)
{
- pr_info("gsp-resman-vfio: update_request callback: state=%u\n", device_state);
+ pr_info("vgsp: update_request callback: state=%u\n", device_state);
}
static NV_STATUS nv_vgpu_start_callback(const NvU8 *uuid, void *wait_queue, NvS32 *return_status,
NvU8 *vm_name, NvU32 qemu_pid)
{
- pr_info("gsp-resman-vfio: vgpu_start callback: qemu_pid=%u\n", qemu_pid);
+ pr_info("vgsp: vgpu_start callback: qemu_pid=%u\n", qemu_pid);
if (return_status)
*return_status = 0;
return NV_OK;
@@ -292,7 +292,7 @@ static NV_STATUS nv_vgpu_start_callback(const NvU8 *uuid, void *wait_queue, NvS3
static NV_STATUS nv_vgpu_sparse_mmap_callback(struct pci_dev *pdev, const NvU8 *uuid,
NvU64 **pages, NvU64 **offsets, NvU32 *count)
{
- pr_info("gsp-resman-vfio: sparse_mmap callback\n");
+ pr_info("vgsp: sparse_mmap callback\n");
if (count)
*count = 0;
return NV_OK;
@@ -345,7 +345,7 @@ int nv_vgpu_register_type_info(struct nv_vgpu_type_info *info)
mutex_unlock(&g_vgpu_type_lock);
- pr_info("Registered vGPU type: name='%s', vdev=0x%llx, pdev=0x%llx, max_inst=%u\n",
+ pr_info("vgsp: Registered vGPU type: name='%s', vdev=0x%llx, pdev=0x%llx, max_inst=%u\n",
info->name, info->vdev_id, info->pdev_id, info->max_instances);
return 0;
}
@@ -436,7 +436,7 @@ NV_STATUS nvidia_vgpu_vfio_get_ops(rm_vgpu_vfio_ops_t *ops)
populate_rm_ops();
memcpy(ops, &g_rm_vgpu_vfio_ops, sizeof(rm_vgpu_vfio_ops_t));
- pr_info("gsp-resman-vfio: get_ops provided RM ops\n");
+ pr_info("vgsp: get_ops provided RM ops\n");
return NV_OK;
}
EXPORT_SYMBOL(nvidia_vgpu_vfio_get_ops);
@@ -448,7 +448,7 @@ NV_STATUS nvidia_vgpu_vfio_set_ops(vgpu_vfio_ops_t *ops)
return NV_ERR_INVALID_ARGUMENT;
g_vgpu_vfio_ops = ops;
- pr_info("gsp-resman-vfio: set_ops received VFIO ops\n");
+ pr_info("vgsp: set_ops received VFIO ops\n");
return NV_OK;
}
EXPORT_SYMBOL(nvidia_vgpu_vfio_set_ops);
@@ -456,14 +456,14 @@ EXPORT_SYMBOL(nvidia_vgpu_vfio_set_ops);
/* mdev driver registration - called by nvidia.ko */
int nv_vgpu_mdev_driver_register(void)
{
- pr_info("gsp-resman-vfio: mdev driver register\n");
+ pr_info("vgsp: mdev driver register\n");
return mdev_register_driver(&nv_vgpu_mdev_driver);
}
EXPORT_SYMBOL(nv_vgpu_mdev_driver_register);
void nv_vgpu_mdev_driver_unregister(void)
{
- pr_info("gsp-resman-vfio: mdev driver unregister\n");
+ pr_info("vgsp: mdev driver unregister\n");
mdev_unregister_driver(&nv_vgpu_mdev_driver);
}
EXPORT_SYMBOL(nv_vgpu_mdev_driver_unregister);
@@ -475,10 +475,10 @@ int nv_vgpu_mdev_register_parent(struct pci_dev *pdev)
struct mdev_parent *parent;
int ret;
- pr_info("gsp-resman-vfio: mdev parent register for %s\n", pci_name(pdev));
+ pr_info("vgsp: mdev parent register for %s\n", pci_name(pdev));
if (g_mdev_parent) {
- pr_warn("mdev parent already registered\n");
+ pr_warn("vgsp: mdev parent already registered\n");
return 0;
}
@@ -491,25 +491,25 @@ int nv_vgpu_mdev_register_parent(struct pci_dev *pdev)
ret = mdev_register_parent(parent, &pdev->dev, &nv_vgpu_mdev_driver,
nv_vgpu_mdev_types, g_num_vgpu_types);
if (ret) {
- pr_err("Failed to register mdev parent: %d\n", ret);
+ pr_err("vgsp: Failed to register mdev parent: %d\n", ret);
kfree(parent);
return ret;
}
g_mdev_parent = parent;
- pr_info("mdev parent registered successfully with %d types\n", g_num_vgpu_types);
+ pr_info("vgsp: mdev parent registered successfully with %d types\n", g_num_vgpu_types);
return 0;
}
EXPORT_SYMBOL(nv_vgpu_mdev_register_parent);
void nv_vgpu_mdev_unregister_parent(struct pci_dev *pdev)
{
- pr_info("gsp-resman-vfio: mdev parent unregister for %s\n", pci_name(pdev));
+ pr_info("vgsp: mdev parent unregister for %s\n", pci_name(pdev));
if (g_mdev_parent) {
- pr_info("gsp-resman-vfio: mdev_unregister_parent: entering\n");
+ pr_info("vgsp: mdev_unregister_parent: entering\n");
mdev_unregister_parent(g_mdev_parent);
- pr_info("gsp-resman-vfio: mdev_unregister_parent: returned\n");
+ pr_info("vgsp: mdev_unregister_parent: returned\n");
kfree(g_mdev_parent);
g_mdev_parent = NULL;
}
@@ -519,12 +519,12 @@ EXPORT_SYMBOL(nv_vgpu_mdev_unregister_parent);
/* NOTE: No MODULE_SOFTDEP on nvidia - this module is fully standalone.
* It exports the nvidia_vgpu_vfio_* interface (nvidia.ko imports it when
* present) and registers the mdev parent on the physical GPU directly.
- * Load order for the matched stack: open-iov-vfio.ko BEFORE nvidia.ko. */
+ * Load order for the matched stack: vgsp.ko BEFORE nvidia.ko. */
MODULE_AUTHOR("Open-IOV Project");
MODULE_DESCRIPTION("Open-IOV vGPU VFIO Mediated Device Driver");
MODULE_LICENSE("GPL v2");
-MODULE_VERSION(OPEN_IOV_VFIO_VERSION);
+MODULE_VERSION(VGSP_VERSION);
struct nv_vgpu_driver_data nv_vgpu_driver = {
.lock = __MUTEX_INITIALIZER(nv_vgpu_driver.lock),
@@ -620,12 +620,12 @@ static void nv_vgpu_mdev_remove(struct mdev_device *mdev)
long timeout;
if (!vgpu) {
- printk(KERN_ERR "gsp-resman-vfio: No vGPU device data found for mdev %s\n",
+ printk(KERN_ERR "vgsp: No vGPU device data found for mdev %s\n",
dev_name(&mdev->dev));
return;
}
- pr_info("gsp-resman-vfio: mdev remove started for %s\n", dev_name(&mdev->dev));
+ pr_info("vgsp: mdev remove started for %s\n", dev_name(&mdev->dev));
/* Cancel pending/running init work first */
cancel_work_sync(&vgpu->init_work);
@@ -635,17 +635,17 @@ static void nv_vgpu_mdev_remove(struct mdev_device *mdev)
* otherwise vfio_device_group_unregister can crash with NULL pointer deref.
* vfio_unregister_group_dev() itself blocks until fds drain, so this
* pre-wait exists to surface a clear warning if userspace is stuck. */
- pr_info("gsp-resman-vfio: waiting for vfio_dev_open_count to reach 0 (current: %d)\n",
+ pr_info("vgsp: waiting for vfio_dev_open_count to reach 0 (current: %d)\n",
atomic_read(&vgpu->vfio_dev_open_count));
timeout = wait_event_timeout(vgpu->vfio_dev_close_wait,
atomic_read(&vgpu->vfio_dev_open_count) == 0,
msecs_to_jiffies(5000));
if (timeout == 0) {
- pr_warn("gsp-resman-vfio: timeout waiting for vfio device close (open_count=%d), proceeding anyway\n",
+ pr_warn("vgsp: timeout waiting for vfio device close (open_count=%d), proceeding anyway\n",
atomic_read(&vgpu->vfio_dev_open_count));
} else {
- pr_info("gsp-resman-vfio: all vfio device file descriptors closed\n");
+ pr_info("vgsp: all vfio device file descriptors closed\n");
}
/* Unregister the VFIO device. This removes it from its IOMMU group,
@@ -674,26 +674,26 @@ static void nv_vgpu_mdev_remove(struct mdev_device *mdev)
* the vfio_device refcount drops to zero (ops->release fires first). */
vfio_put_device(&vgpu->vfio_dev);
- pr_info("gsp-resman-vfio: mdev remove callback completed for %s\n", dev_name(&mdev->dev));
+ pr_info("vgsp: mdev remove callback completed for %s\n", dev_name(&mdev->dev));
}
/* VFIO device operations implementations */
static int nv_vgpu_vfio_dev_init(struct vfio_device *vdev)
{
- pr_info("gsp-resman-vfio: VFIO device init\n");
+ pr_info("vgsp: VFIO device init\n");
return 0;
}
static void nv_vgpu_vfio_dev_release(struct vfio_device *vdev)
{
- pr_info("gsp-resman-vfio: VFIO device release\n");
+ pr_info("vgsp: VFIO device release\n");
}
static int nv_vgpu_vfio_dev_open(struct vfio_device *vdev)
{
struct nv_vgpu_device *vgpu = container_of(vdev, struct nv_vgpu_device, vfio_dev);
- pr_info("gsp-resman-vfio: VFIO device open\n");
+ pr_info("vgsp: VFIO device open\n");
atomic_inc(&vgpu->vfio_dev_open_count);
return 0;
}
@@ -703,7 +703,7 @@ static void nv_vgpu_vfio_dev_close(struct vfio_device *vdev)
struct nv_vgpu_device *vgpu = container_of(vdev, struct nv_vgpu_device, vfio_dev);
int i;
- pr_info("gsp-resman-vfio: VFIO device close\n");
+ pr_info("vgsp: VFIO device close\n");
/* Release eventfd trigger references wired via SET_IRQS; the next
* opener re-wires its own. Prevents fd/ctx leaks across VM restarts. */
@@ -725,7 +725,7 @@ static ssize_t nv_vgpu_vfio_dev_read(struct vfio_device *vdev, char __user *buf,
loff_t pos = *ppos;
if (gsp_sema_dbg)
- pr_info("gsp-resman-vfio: VFIO device read count=%zu pos=%lld (0x%llx)\n",
+ pr_info("vgsp: VFIO device read count=%zu pos=%lld (0x%llx)\n",
count, pos, pos);
/* Config space region: VFIO_PCI_INDEX_TO_OFFSET(VFIO_PCI_CONFIG_REGION_INDEX) = 0x70000000000 */
@@ -782,7 +782,7 @@ static ssize_t nv_vgpu_vfio_dev_write(struct vfio_device *vdev, const char __use
loff_t pos = *ppos;
if (gsp_sema_dbg)
- pr_info_ratelimited("gsp-resman-vfio: VFIO device write count=%zu pos=%lld (0x%llx)\n",
+ pr_info_ratelimited("vgsp: VFIO device write count=%zu pos=%lld (0x%llx)\n",
count, pos, pos);
/* Config space region - route through the per-register filter so the
@@ -821,14 +821,14 @@ static ssize_t nv_vgpu_vfio_dev_write(struct vfio_device *vdev, const char __use
if ((u64)pos == 0x88704) {
if (gsp_sema_dbg && db_log < 512) {
- pr_info("gsp-resman-vfio: DOORBELL write pos=0x%llx size=%zu val=0x%llx\n",
+ pr_info("vgsp: DOORBELL write pos=0x%llx size=%zu val=0x%llx\n",
(u64)pos, count, v);
db_log++;
}
if (count == 4)
gsp_sema_service_doorbell((u32)v);
} else {
- pr_info("gsp-resman-vfio: BAR0 write pos=0x%llx size=%zu val=0x%llx\n",
+ pr_info("vgsp: BAR0 write pos=0x%llx size=%zu val=0x%llx\n",
(u64)pos, count, v);
bar0_log++;
}
@@ -853,7 +853,7 @@ static ssize_t nv_vgpu_vfio_dev_write(struct vfio_device *vdev, const char __use
memcpy(&v, buf, count);
- pr_info("gsp-resman-vfio: BAR1 write off=0x%llx size=%zu val=0x%llx\n",
+ pr_info("vgsp: BAR1 write off=0x%llx size=%zu val=0x%llx\n",
bar1_off, count, v);
bar1_log++;
}
@@ -874,24 +874,24 @@ static long nv_vgpu_vfio_dev_ioctl(struct vfio_device *vdev, unsigned int cmd,
unsigned long minsz;
int ret;
- pr_info("gsp-resman-vfio: VFIO device ioctl cmd=0x%x\n", cmd);
+ pr_info("vgsp: VFIO device ioctl cmd=0x%x\n", cmd);
if (cmd == VFIO_DEVICE_GET_INFO) {
struct vfio_device_info info;
minsz = offsetofend(struct vfio_device_info, num_irqs);
- pr_info("gsp-resman-vfio: VFIO_DEVICE_GET_INFO minsz=%lu argsz=%u\n", minsz, info.argsz);
+ pr_info("vgsp: VFIO_DEVICE_GET_INFO minsz=%lu argsz=%u\n", minsz, info.argsz);
if (copy_from_user(&info, (void __user *)arg, minsz)) {
- pr_err("gsp-resman-vfio: VFIO_DEVICE_GET_INFO copy_from_user failed\n");
+ pr_err("vgsp: VFIO_DEVICE_GET_INFO copy_from_user failed\n");
return -EFAULT;
}
- pr_info("gsp-resman-vfio: VFIO_DEVICE_GET_INFO argsz=%u minsz=%lu\n", info.argsz, minsz);
+ pr_info("vgsp: VFIO_DEVICE_GET_INFO argsz=%u minsz=%lu\n", info.argsz, minsz);
if (info.argsz < minsz) {
- pr_err("gsp-resman-vfio: VFIO_DEVICE_GET_INFO argsz too small\n");
+ pr_err("vgsp: VFIO_DEVICE_GET_INFO argsz too small\n");
return -EINVAL;
}
@@ -899,11 +899,11 @@ static long nv_vgpu_vfio_dev_ioctl(struct vfio_device *vdev, unsigned int cmd,
info.num_regions = VFIO_PCI_NUM_REGIONS;
info.num_irqs = VFIO_PCI_NUM_IRQS;
- pr_info("gsp-resman-vfio: VFIO_DEVICE_GET_INFO returning flags=0x%x num_regions=%u num_irqs=%u\n",
+ pr_info("vgsp: VFIO_DEVICE_GET_INFO returning flags=0x%x num_regions=%u num_irqs=%u\n",
info.flags, info.num_regions, info.num_irqs);
ret = copy_to_user((void __user *)arg, &info, minsz) ? -EFAULT : 0;
- pr_info("gsp-resman-vfio: VFIO_DEVICE_GET_INFO copy_to_user ret=%d\n", ret);
+ pr_info("vgsp: VFIO_DEVICE_GET_INFO copy_to_user ret=%d\n", ret);
return ret;
}
@@ -1061,42 +1061,42 @@ static long nv_vgpu_vfio_dev_ioctl(struct vfio_device *vdev, unsigned int cmd,
unsigned long minsz = offsetof(struct vfio_irq_set, data);
int *fds = NULL;
- pr_info("gsp-resman-vfio: VFIO_DEVICE_SET_IRQS\n");
+ pr_info("vgsp: VFIO_DEVICE_SET_IRQS\n");
/* First copy the fixed part to get argsz */
if (copy_from_user(&irq_set_hdr, (void __user *)arg, minsz)) {
- pr_err("gsp-resman-vfio: SET_IRQS copy_from_user hdr failed\n");
+ pr_err("vgsp: SET_IRQS copy_from_user hdr failed\n");
return -EFAULT;
}
- pr_info("gsp-resman-vfio: SET_IRQS hdr: argsz=%u flags=0x%x index=%u start=%u count=%u\n",
+ pr_info("vgsp: SET_IRQS hdr: argsz=%u flags=0x%x index=%u start=%u count=%u\n",
irq_set_hdr.argsz, irq_set_hdr.flags, irq_set_hdr.index, irq_set_hdr.start, irq_set_hdr.count);
if (irq_set_hdr.argsz < minsz) {
- pr_err("gsp-resman-vfio: SET_IRQS argsz too small: %u < %lu\n", irq_set_hdr.argsz, minsz);
+ pr_err("vgsp: SET_IRQS argsz too small: %u < %lu\n", irq_set_hdr.argsz, minsz);
return -EINVAL;
}
/* Allocate buffer for full struct including data array */
irq_set_ptr = kmalloc(irq_set_hdr.argsz, GFP_KERNEL);
if (!irq_set_ptr) {
- pr_err("gsp-resman-vfio: SET_IRQS kmalloc failed\n");
+ pr_err("vgsp: SET_IRQS kmalloc failed\n");
return -ENOMEM;
}
if (copy_from_user(irq_set_ptr, (void __user *)arg, irq_set_hdr.argsz)) {
- pr_err("gsp-resman-vfio: SET_IRQS copy_from_user full failed\n");
+ pr_err("vgsp: SET_IRQS copy_from_user full failed\n");
kfree(irq_set_ptr);
return -EFAULT;
}
- pr_info("gsp-resman-vfio: SET_IRQS full: argsz=%u flags=0x%x index=%u start=%u count=%u\n",
+ pr_info("vgsp: SET_IRQS full: argsz=%u flags=0x%x index=%u start=%u count=%u\n",
irq_set_ptr->argsz, irq_set_ptr->flags, irq_set_ptr->index, irq_set_ptr->start, irq_set_ptr->count);
/* Validate data type */
if ((irq_set_ptr->flags & VFIO_IRQ_SET_DATA_TYPE_MASK) == 0 ||
(irq_set_ptr->flags & VFIO_IRQ_SET_ACTION_TYPE_MASK) == 0) {
- pr_err("gsp-resman-vfio: SET_IRQS invalid flags\n");
+ pr_err("vgsp: SET_IRQS invalid flags\n");
kfree(irq_set_ptr);
return -EINVAL;
}
@@ -1112,7 +1112,7 @@ static long nv_vgpu_vfio_dev_ioctl(struct vfio_device *vdev, unsigned int cmd,
if (irq_set_ptr->index > VFIO_PCI_REQ_IRQ_INDEX ||
irq_set_ptr->start + irq_set_ptr->count > NV_VGPU_MAX_IRQS) {
- pr_err("gsp-resman-vfio: SET_IRQS out of range: index=%u start=%u count=%u\n",
+ pr_err("vgsp: SET_IRQS out of range: index=%u start=%u count=%u\n",
irq_set_ptr->index, irq_set_ptr->start, irq_set_ptr->count);
kfree(irq_set_ptr);
return -EINVAL;
@@ -1126,7 +1126,7 @@ static long nv_vgpu_vfio_dev_ioctl(struct vfio_device *vdev, unsigned int cmd,
/* Copy eventfds directly from userspace (after the fixed header) */
if (copy_from_user(fds, (void __user *)arg + minsz, irq_set_ptr->count * sizeof(int))) {
- pr_err("gsp-resman-vfio: SET_IRQS copy_from_user data failed\n");
+ pr_err("vgsp: SET_IRQS copy_from_user data failed\n");
kfree(fds);
kfree(irq_set_ptr);
return -EFAULT;
@@ -1144,7 +1144,7 @@ static long nv_vgpu_vfio_dev_ioctl(struct vfio_device *vdev, unsigned int cmd,
trigger = eventfd_ctx_fdget(fds[i]);
if (IS_ERR(trigger)) {
- pr_err("gsp-resman-vfio: SET_IRQS bad eventfd %d for vector %d\n",
+ pr_err("vgsp: SET_IRQS bad eventfd %d for vector %d\n",
fds[i], idx);
continue;
}
@@ -1161,7 +1161,7 @@ static long nv_vgpu_vfio_dev_ioctl(struct vfio_device *vdev, unsigned int cmd,
}
}
- pr_info("gsp-resman-vfio: SET_IRQS wired %d/%d eventfds (index=%d start=%d)\n",
+ pr_info("vgsp: SET_IRQS wired %d/%d eventfds (index=%d start=%d)\n",
wired, irq_set_ptr->count, irq_set_ptr->index, irq_set_ptr->start);
kfree(fds);
@@ -1171,7 +1171,7 @@ static long nv_vgpu_vfio_dev_ioctl(struct vfio_device *vdev, unsigned int cmd,
/* Handle DATA_NONE (mask/unmask) */
if (irq_set_ptr->flags & VFIO_IRQ_SET_DATA_NONE) {
- pr_info("gsp-resman-vfio: SET_IRQS DATA_NONE index=%d start=%d count=%d action=%x\n",
+ pr_info("vgsp: SET_IRQS DATA_NONE index=%d start=%d count=%d action=%x\n",
irq_set_ptr->index, irq_set_ptr->start, irq_set_ptr->count, irq_set_ptr->flags & VFIO_IRQ_SET_ACTION_TYPE_MASK);
kfree(irq_set_ptr);
return 0;
@@ -1179,7 +1179,7 @@ static long nv_vgpu_vfio_dev_ioctl(struct vfio_device *vdev, unsigned int cmd,
/* Handle DATA_BOOL */
if (irq_set_ptr->flags & VFIO_IRQ_SET_DATA_BOOL) {
- pr_info("gsp-resman-vfio: SET_IRQS DATA_BOOL index=%d start=%d count=%d\n",
+ pr_info("vgsp: SET_IRQS DATA_BOOL index=%d start=%d count=%d\n",
irq_set_ptr->index, irq_set_ptr->start, irq_set_ptr->count);
kfree(irq_set_ptr);
return 0;
@@ -1216,7 +1216,7 @@ static int nv_vgpu_vfio_dev_mmap(struct vfio_device *vdev, struct vm_area_struct
unsigned long region_base;
unsigned long region_size;
- pr_info("gsp-resman-vfio: VFIO device mmap offset=0x%lx size=0x%lx\n", offset, size);
+ pr_info("vgsp: VFIO device mmap offset=0x%lx size=0x%lx\n", offset, size);
/* Config space region */
region_base = VFIO_PCI_INDEX_TO_OFFSET(VFIO_PCI_CONFIG_REGION_INDEX);
@@ -1253,7 +1253,7 @@ static int nv_vgpu_vfio_dev_mmap(struct vfio_device *vdev, struct vm_area_struct
}
/* Debug: log PRAMIN window mapping for BAR2 verify debugging */
if (shadow_off <= 0x70e000 && shadow_off + size > 0x70e000) {
- pr_info("gsp-resman-vfio: BAR0 mmap covers PRAMIN[0xe000] shadow_off=0x%lx size=0x%lx\n",
+ pr_info("vgsp: BAR0 mmap covers PRAMIN[0xe000] shadow_off=0x%lx size=0x%lx\n",
shadow_off, size);
}
return 0;
@@ -1362,13 +1362,13 @@ static int nv_vgpu_vfio_dev_mmap(struct vfio_device *vdev, struct vm_area_struct
return -EINVAL;
}
- pr_err("gsp-resman-vfio: mmap failed for unknown offset 0x%lx\n", offset);
+ pr_err("vgsp: mmap failed for unknown offset 0x%lx\n", offset);
return -EINVAL;
}
static void nv_vgpu_vfio_dev_dma_unmap(struct vfio_device *vdev, u64 iova, u64 length)
{
- pr_info("gsp-resman-vfio: VFIO device dma_unmap iova=0x%llx len=0x%llx\n", iova, length);
+ pr_info("vgsp: VFIO device dma_unmap iova=0x%llx len=0x%llx\n", iova, length);
}
static int nv_vgpu_vfio_dev_match(struct vfio_device *vdev, char *buf)
@@ -1393,51 +1393,51 @@ static int __init nv_vgpu_init(void)
int ret;
struct pci_dev *pdev = NULL;
- pr_info("gsp-resman-vfio: init started\n");
+ pr_info("vgsp: init started\n");
nv_vgpu_driver.class = class_create("nvidia-vgpu");
if (IS_ERR(nv_vgpu_driver.class)) {
ret = PTR_ERR(nv_vgpu_driver.class);
- pr_err("Failed to create nvidia-vgpu class: %d\n", ret);
+ pr_err("vgsp: Failed to create nvidia-vgpu class: %d\n", ret);
return ret;
}
- pr_info("gsp-resman-vfio: class created\n");
+ pr_info("vgsp: class created\n");
/* Create static vGPU types as fallback (userspace can override via ioctl) */
nv_vgpu_create_static_types();
- pr_info("gsp-resman-vfio: static types created\n");
+ pr_info("vgsp: static types created\n");
/* Create mdev types from registered vGPU types */
ret = nv_vgpu_create_mdev_types();
if (ret) {
- pr_err("Failed to create mdev types: %d\n", ret);
+ pr_err("vgsp: Failed to create mdev types: %d\n", ret);
goto err_class;
}
- pr_info("gsp-resman-vfio: mdev types created\n");
+ pr_info("vgsp: mdev types created\n");
/* Find the parent PCI device to register mdev parent */
pdev = pci_get_device(0x10de, 0x1ed3, NULL);
if (!pdev) {
- pr_err("Failed to find NVIDIA GPU (10de:1ed3) for mdev parent registration\n");
+ pr_err("vgsp: Failed to find NVIDIA GPU (10de:1ed3) for mdev parent registration\n");
ret = -ENODEV;
goto err_types;
}
- pr_info("gsp-resman-vfio: found GPU %s\n", pci_name(pdev));
+ pr_info("vgsp: found GPU %s\n", pci_name(pdev));
/* Register mdev parent via nvidia.ko */
ret = nv_vgpu_mdev_register_parent(pdev);
if (ret) {
- pr_err("Failed to register mdev parent: %d\n", ret);
+ pr_err("vgsp: Failed to register mdev parent: %d\n", ret);
goto err_put_pdev;
}
- pr_info("gsp-resman-vfio: mdev parent registered\n");
+ pr_info("vgsp: mdev parent registered\n");
ret = mdev_register_driver(&nv_vgpu_mdev_driver);
if (ret) {
- pr_err("Failed to register mdev driver: %d\n", ret);
+ pr_err("vgsp: Failed to register mdev driver: %d\n", ret);
goto err_types;
}
- pr_info("gsp-resman-vfio: mdev driver registered\n");
+ pr_info("vgsp: mdev driver registered\n");
pci_dev_put(pdev);
pdev = NULL;
@@ -1445,15 +1445,15 @@ static int __init nv_vgpu_init(void)
/* Provide VFIO ops to host driver (nvidia.ko) */
ret = nvidia_vgpu_vfio_set_ops(&nv_vgpu_vfio_ops);
if (ret) {
- pr_err("Failed to set VFIO ops: %d\n", ret);
+ pr_err("vgsp: Failed to set VFIO ops: %d\n", ret);
goto err_driver;
}
- pr_info("gsp-resman-vfio: VFIO ops set\n");
+ pr_info("vgsp: VFIO ops set\n");
if (gsp_phys_gpu_param && !gsp_phys_mdev_owned_enabled()) {
ret = gsp_phys_gpu_claim();
if (ret) {
- pr_warn("gsp-resman-vfio: physical GPU claim failed: %d\n",
+ pr_warn("vgsp: physical GPU claim failed: %d\n",
ret);
} else {
/*
@@ -1466,13 +1466,13 @@ static int __init nv_vgpu_init(void)
*/
ret = gsp_phys_backend_start();
if (ret)
- pr_warn("gsp-resman-vfio: physical backend start failed: %d\n",
+ pr_warn("vgsp: physical backend start failed: %d\n",
ret);
}
} else if (gsp_phys_gpu_param) {
- pr_info("gsp-resman-vfio: gsp_phys_mdev_owned=1: physical GPU claim+boot deferred to the first mdev create\n");
+ pr_info("vgsp: gsp_phys_mdev_owned=1: physical GPU claim+boot deferred to the first mdev create\n");
} else if (gsp_phys_mdev_owned_enabled()) {
- pr_warn("gsp-resman-vfio: gsp_phys_mdev_owned=1 requires gsp_phys_gpu=1; physical backend stays off\n");
+ pr_warn("vgsp: gsp_phys_mdev_owned=1 requires gsp_phys_gpu=1; physical backend stays off\n");
}
/* Test-enabling trigger for the GSP-RM unload RPC plus the read-only
@@ -1480,17 +1480,17 @@ static int __init nv_vgpu_init(void)
* (gsp_phys_boot=1). Removed on module exit. Creation failure is
* non-fatal. */
if (gsp_phys_boot_debugfs_init())
- pr_warn("gsp-resman-vfio: gsp-phys debugfs files unavailable\n");
+ pr_warn("vgsp: gsp-phys debugfs files unavailable\n");
- pr_info("NVIDIA vGPU VFIO driver loaded (version %s)\n", NVIDIA_VGPU_VFIO_VERSION);
+ pr_info("vgsp: NVIDIA vGPU VFIO driver loaded (version %s)\n", NVIDIA_VGPU_VFIO_VERSION);
/* Start the emulated-GPU progress service: it discovers the guest's
* GPU-VA -> guest-PA map and applies copy-engine semaphore releases so
* the guest's UVM waits complete. Idle until a VM opens a device. */
ret = gsp_sema_service_start();
if (ret)
- pr_warn("gsp-resman-vfio: sema service start failed: %d\n", ret);
+ pr_warn("vgsp: sema service start failed: %d\n", ret);
- pr_info("gsp-resman-vfio: init complete\n");
+ pr_info("vgsp: init complete\n");
return 0;
err_driver:
@@ -1510,12 +1510,12 @@ static void __exit nv_vgpu_exit(void)
struct pci_dev *pdev = NULL;
bool mdev_owned = gsp_phys_mdev_owned_enabled();
- pr_info("gsp-resman-vfio: nv_vgpu_exit: starting cleanup\n");
+ pr_info("vgsp: nv_vgpu_exit: starting cleanup\n");
/* Break circular dependency with nvidia.ko FIRST
* by clearing the VFIO ops pointer. This signals nvidia.ko
* to release its references to our module. */
- pr_info("gsp-resman-vfio: nv_vgpu_exit: clearing VFIO ops to break circular dependency\n");
+ pr_info("vgsp: nv_vgpu_exit: clearing VFIO ops to break circular dependency\n");
g_vgpu_vfio_ops = NULL;
gsp_phys_boot_debugfs_fini();
@@ -1563,15 +1563,15 @@ static void __exit nv_vgpu_exit(void)
pdev = pci_get_device(0x10de, 0x1ed3, NULL);
}
- pr_info("gsp-resman-vfio: nv_vgpu_exit: stopping sema service\n");
+ pr_info("vgsp: nv_vgpu_exit: stopping sema service\n");
gsp_sema_service_stop();
- pr_info("gsp-resman-vfio: nv_vgpu_exit: sema service stopped\n");
+ pr_info("vgsp: nv_vgpu_exit: sema service stopped\n");
- pr_info("gsp-resman-vfio: nv_vgpu_exit: unregistering mdev driver\n");
+ pr_info("vgsp: nv_vgpu_exit: unregistering mdev driver\n");
/* Unregister mdev driver FIRST, then mdev parent. This drains the
* mdev remove callbacks, hence the emulation threads. */
mdev_unregister_driver(&nv_vgpu_mdev_driver);
- pr_info("gsp-resman-vfio: nv_vgpu_exit: mdev driver unregistered\n");
+ pr_info("vgsp: nv_vgpu_exit: mdev driver unregistered\n");
if (mdev_owned) {
/* Drain complete: release the mdev-owned claim (no-op when
@@ -1581,22 +1581,22 @@ static void __exit nv_vgpu_exit(void)
/* Unregister mdev parent via nvidia.ko */
if (pdev) {
- pr_info("gsp-resman-vfio: nv_vgpu_exit: unregistering mdev parent\n");
+ pr_info("vgsp: nv_vgpu_exit: unregistering mdev parent\n");
nv_vgpu_mdev_unregister_parent(pdev);
- pr_info("gsp-resman-vfio: mdev parent unregistered for %s\n", dev_name(&pdev->dev));
+ pr_info("vgsp: mdev parent unregistered for %s\n", dev_name(&pdev->dev));
pci_dev_put(pdev);
pdev = NULL;
}
- pr_info("gsp-resman-vfio: nv_vgpu_exit: destroying class\n");
+ pr_info("vgsp: nv_vgpu_exit: destroying class\n");
class_destroy(nv_vgpu_driver.class);
- pr_info("gsp-resman-vfio: nv_vgpu_exit: class destroyed\n");
+ pr_info("vgsp: nv_vgpu_exit: class destroyed\n");
- pr_info("gsp-resman-vfio: nv_vgpu_exit: freeing type info\n");
+ pr_info("vgsp: nv_vgpu_exit: freeing type info\n");
nv_vgpu_free_type_info();
- pr_info("gsp-resman-vfio: nv_vgpu_exit: type info freed\n");
+ pr_info("vgsp: nv_vgpu_exit: type info freed\n");
- pr_info("NVIDIA vGPU VFIO driver unloaded\n");
+ pr_info("vgsp: NVIDIA vGPU VFIO driver unloaded\n");
}
static void nv_vgpu_device_init_work(struct work_struct *work)
@@ -1708,20 +1708,20 @@ static void nv_vgpu_device_cleanup_work(struct work_struct *work)
static NV_STATUS nv_vgpu_vfio_probe(struct pci_dev *pdev, NvU32 vgpu_type_id, NvU32 *vgpu_id)
{
- pr_info("gsp-resman-vfio: VFIO probe called for vGPU type %u\n", vgpu_type_id);
+ pr_info("vgsp: VFIO probe called for vGPU type %u\n", vgpu_type_id);
return NV_OK;
}
static void nv_vgpu_vfio_remove(struct pci_dev *pdev)
{
- pr_info("gsp-resman-vfio: VFIO remove called\n");
+ pr_info("vgsp: VFIO remove called\n");
/* Clear VFIO ops to break circular dependency with nvidia.ko */
g_vgpu_vfio_ops = NULL;
}
static NV_STATUS nv_vgpu_vfio_inject_interrupt(void *vgpu_dev)
{
- pr_info("gsp-resman-vfio: VFIO inject interrupt called\n");
+ pr_info("vgsp: VFIO inject interrupt called\n");
return NV_OK;
}
@@ -2106,14 +2106,14 @@ static ssize_t nv_vgpu_config_write(struct nv_vgpu_device *vgpu, const char __us
NV_STATUS nvidia_vgpu_vfio_probe(struct pci_dev *pdev)
{
- pr_info("gsp-resman-vfio: nvidia_vgpu_vfio_probe called for %s\n", pci_name(pdev));
+ pr_info("vgsp: nvidia_vgpu_vfio_probe called for %s\n", pci_name(pdev));
return NV_OK;
}
EXPORT_SYMBOL(nvidia_vgpu_vfio_probe);
void nvidia_vgpu_vfio_remove(struct pci_dev *pdev, NvBool remove_device)
{
- pr_info("gsp-resman-vfio: nvidia_vgpu_vfio_remove called for %s, remove_device=%d\n",
+ pr_info("vgsp: nvidia_vgpu_vfio_remove called for %s, remove_device=%d\n",
pci_name(pdev), remove_device);
}
EXPORT_SYMBOL(nvidia_vgpu_vfio_remove);
@@ -2121,7 +2121,7 @@ EXPORT_SYMBOL(nvidia_vgpu_vfio_remove);
/*
* Debug: scan the guest's RAM for a 64-bit value to locate guest structures
* without knowing the guest's GPU page tables (see handoff PART 6).
- * echo 0x121000000 > /sys/module/open_iov_vfio/parameters/scan_guest_ram
+ * echo 0x121000000 > /sys/module/vgsp/parameters/scan_guest_ram
* Scans 0..8GB of guest physical address space, 4KB at a time.
*
* The scan MUST run in a kthread: vfio_iommu_type1_dma_rw only works when
@@ -2181,7 +2181,7 @@ MODULE_PARM_DESC(scan_guest_ram, "Scan guest RAM for a 64-bit value (hex)");
* Debug: scan the emulated vidmem (BAR1 shadow, 256MB host buffer) for a
* 32/64-bit value. Used to find guest page tables / channel structures that
* the guest writes into its vidmem aperture.
- * echo 0x21000000 > /sys/module/open_iov_vfio/parameters/scan_vidmem
+ * echo 0x21000000 > /sys/module/vgsp/parameters/scan_vidmem
*/
static int nv_vgpu_scan_vidmem_set(const char *val, const struct kernel_param *kp)
{
@@ -2210,17 +2210,17 @@ static int nv_vgpu_scan_vidmem_set(const char *val, const struct kernel_param *k
memcpy(&v64, base + off, 8);
memcpy(&v32, base + off, 4);
if (v64 == needle) {
- pr_info("gsp-resman-vfio: vidmem scan: u64 0x%llx at vidmem off 0x%zx\n",
+ pr_info("vgsp: vidmem scan: u64 0x%llx at vidmem off 0x%zx\n",
needle, off);
hits++;
}
if (v32 == (u32)needle) {
- pr_info("gsp-resman-vfio: vidmem scan: u32 0x%x at vidmem off 0x%zx\n",
+ pr_info("vgsp: vidmem scan: u32 0x%x at vidmem off 0x%zx\n",
(u32)needle, off);
hits++;
}
}
- pr_info("gsp-resman-vfio: vidmem scan: needle=0x%llx size=0x%zx hits=%u\n",
+ pr_info("vgsp: vidmem scan: needle=0x%llx size=0x%zx hits=%u\n",
needle, size, hits);
}
mutex_unlock(&nv_vgpu_driver.lock);
@@ -2313,12 +2313,12 @@ static int nv_vgpu_scan_seq_set(const char *val, const struct kernel_param *kp)
}
}
if (ok && hits < 8) {
- pr_info("gsp-resman-vfio: seq scan: hit in vidmem at off 0x%zx\n",
+ pr_info("vgsp: seq scan: hit in vidmem at off 0x%zx\n",
off);
hits++;
}
}
- pr_info("gsp-resman-vfio: seq scan: vidmem hits=%u\n", hits);
+ pr_info("vgsp: seq scan: vidmem hits=%u\n", hits);
}
}
mutex_unlock(&nv_vgpu_driver.lock);
@@ -2369,7 +2369,7 @@ static int nv_vgpu_shadow_dump_set(const char *val, const struct kernel_param *k
u32 i;
if (!base || off + (u64)n * 4 > size) {
- pr_info("gsp-resman-vfio: shadow dump: bar%u bad (base=%p size=0x%llx)\n",
+ pr_info("vgsp: shadow dump: bar%u bad (base=%p size=0x%llx)\n",
bar, base, size);
continue;
}
@@ -2377,7 +2377,7 @@ static int nv_vgpu_shadow_dump_set(const char *val, const struct kernel_param *k
u32 v;
memcpy(&v, base + off + i * 4, 4);
- pr_info("gsp-resman-vfio: shadow bar%u[0x%llx+%u] = 0x%08x\n",
+ pr_info("vgsp: shadow bar%u[0x%llx+%u] = 0x%08x\n",
bar, off, i, v);
}
}
@@ -2436,13 +2436,13 @@ static int nv_vgpu_shadow_scan_set(const char *val, const struct kernel_param *k
}
}
if (ok && hits < 8) {
- pr_info("gsp-resman-vfio: shadow scan: bar%u hit at 0x%llx\n",
+ pr_info("vgsp: shadow scan: bar%u hit at 0x%llx\n",
b, off);
hits++;
}
}
if (hits)
- pr_info("gsp-resman-vfio: shadow scan: bar%u hits=%u\n",
+ pr_info("vgsp: shadow scan: bar%u hits=%u\n",
b, hits);
}
}
@@ -2837,19 +2837,19 @@ static int nv_vgpu_scan_pt_set(const char *val, const struct kernel_param *kp)
memcpy(&v64, base + off, 8);
memcpy(&v32, base + off, 4);
if ((v64 & 0xfffffffffffff000ULL) == pa_page) {
- pr_info("gsp-resman-vfio: pt scan: vidmem u64 pte 0x%llx at off 0x%zx\n",
+ pr_info("vgsp: pt scan: vidmem u64 pte 0x%llx at off 0x%zx\n",
v64, off);
if (++hits >= 16)
break;
}
if ((v32 & 0xfffff000U) == (u32)pa_page) {
- pr_info("gsp-resman-vfio: pt scan: vidmem u32 pte 0x%x at off 0x%zx\n",
+ pr_info("vgsp: pt scan: vidmem u32 pte 0x%x at off 0x%zx\n",
v32, off);
if (++hits >= 16)
break;
}
}
- pr_info("gsp-resman-vfio: pt scan: vidmem pa=0x%llx hits=%u\n",
+ pr_info("vgsp: pt scan: vidmem pa=0x%llx hits=%u\n",
pa, hits);
}
}
@@ -2947,7 +2947,7 @@ static int nv_vgpu_fill_vidmem_set(const char *val, const struct kernel_param *k
continue;
for (o = 0; o + 4 <= size; o += 4)
memcpy(base + o, &value, 4);
- pr_info("gsp-resman-vfio: fill_vidmem value=0x%x size=0x%zx done\n",
+ pr_info("vgsp: fill_vidmem value=0x%x size=0x%zx done\n",
value, size);
}
mutex_unlock(&nv_vgpu_driver.lock);
@@ -2986,7 +2986,7 @@ static int nv_vgpu_poke_thread(void *arg)
}
req->rc = vfio_dma_rw(&vgpu->vfio_dev, req->gpa, &req->value,
sizeof(req->value), true);
- pr_info("gsp-resman-vfio: poke gpa=0x%llx value=0x%x rc=%d\n",
+ pr_info("vgsp: poke gpa=0x%llx value=0x%x rc=%d\n",
req->gpa, req->value, req->rc);
}
mutex_unlock(&nv_vgpu_driver.lock);
@@ -3048,7 +3048,7 @@ static int nv_vgpu_poke_fill_thread(void *arg)
req->rc = vfio_dma_rw(&vgpu->vfio_dev, req->gpa,
nv_vgpu_fill_buf,
nv_vgpu_fill_count * sizeof(u32), true);
- pr_info("gsp-resman-vfio: poke_fill gpa=0x%llx count=%u rc=%d\n",
+ pr_info("vgsp: poke_fill gpa=0x%llx count=%u rc=%d\n",
req->gpa, nv_vgpu_fill_count, req->rc);
}
mutex_unlock(&nv_vgpu_driver.lock);
@@ -3138,12 +3138,12 @@ static int nv_vgpu_dump_vidmem_set(const char *val, const struct kernel_param *k
memcpy(&v, base + o, 4);
if (v) {
if (nz < 32)
- pr_info("gsp-resman-vfio: vidmem nz[0x%zx]=0x%x\n",
+ pr_info("vgsp: vidmem nz[0x%zx]=0x%x\n",
o, v);
nz++;
}
}
- pr_info("gsp-resman-vfio: vidmem summary: size=0x%zx nonzero_dwords=%u\n",
+ pr_info("vgsp: vidmem summary: size=0x%zx nonzero_dwords=%u\n",
size, nz);
}
mutex_unlock(&nv_vgpu_driver.lock);
@@ -3173,7 +3173,7 @@ static int nv_vgpu_dump_vidmem_set(const char *val, const struct kernel_param *k
for (o = 0; o < len; o += 64) {
u32 n = min_t(unsigned long, len - o, 64);
- pr_info("gsp-resman-vfio: vidmem[0x%lx..0x%lx]=%*phN\n",
+ pr_info("vgsp: vidmem[0x%lx..0x%lx]=%*phN\n",
off + o, off + o + n, (int)n, base + off + o);
}
}
@@ -3231,7 +3231,7 @@ static int nv_vgpu_dump_bar0_set(const char *val, const struct kernel_param *kp)
for (o = 0; o < len; o += 64) {
u32 n = min_t(unsigned long, len - o, 64);
- pr_info("gsp-resman-vfio: bar0[0x%lx..0x%lx]=%*phN\n",
+ pr_info("vgsp: bar0[0x%lx..0x%lx]=%*phN\n",
off + o, off + o + n, (int)n, base + off + o);
}
}
@@ -3271,12 +3271,12 @@ static int nv_vgpu_scan_bar0_set(const char *val, const struct kernel_param *kp)
memcpy(&v, base + o, 4);
if (v == (u32)needle) {
- pr_info("gsp-resman-vfio: bar0 scan: 0x%x at off 0x%zx\n",
+ pr_info("vgsp: bar0 scan: 0x%x at off 0x%zx\n",
v, o);
hits++;
}
}
- pr_info("gsp-resman-vfio: bar0 scan: needle=0x%lx hits=%u\n",
+ pr_info("vgsp: bar0 scan: needle=0x%lx hits=%u\n",
needle, hits);
}
mutex_unlock(&nv_vgpu_driver.lock);
@@ -3321,11 +3321,11 @@ static int nv_vgpu_find_userd_set(const char *val, const struct kernel_param *kp
if (get > put)
continue;
if (shown < 32)
- pr_info("gsp-resman-vfio: userd cand off=0x%zx get=%u put=%u\n",
+ pr_info("vgsp: userd cand off=0x%zx get=%u put=%u\n",
off, get, put);
shown++;
}
- pr_info("gsp-resman-vfio: userd scan: candidates=%d\n", shown);
+ pr_info("vgsp: userd scan: candidates=%d\n", shown);
}
mutex_unlock(&nv_vgpu_driver.lock);
return 0;
@@ -3361,7 +3361,7 @@ static int nv_vgpu_poke_vidmem_set(const char *val, const struct kernel_param *k
break;
}
memcpy(vgpu->bars[1].vaddr + off, &value, 4);
- pr_info("poke_vidmem: [0x%llx] = 0x%llx\n", off, value);
+ pr_info("vgsp-poke-vidmem: [0x%llx] = 0x%llx\n", off, value);
break;
}
mutex_unlock(&nv_vgpu_driver.lock);
@@ -3403,7 +3403,7 @@ static int nv_vgpu_dump_guest_thread(void *arg)
if (atomic_read(&vgpu->vfio_dev_open_count) <= 0)
continue;
- pr_info("gsp-resman-vfio: guest dump 0x%llx..0x%llx\n",
+ pr_info("vgsp: guest dump 0x%llx..0x%llx\n",
req->gpa, req->gpa + req->len);
for (o = 0; o < req->len; o += 256) {
unsigned long chunk = min_t(unsigned long, 256,
@@ -3411,12 +3411,12 @@ static int nv_vgpu_dump_guest_thread(void *arg)
if (vfio_dma_rw(&vgpu->vfio_dev, req->gpa + o, buf,
chunk, false)) {
- pr_info("gsp-resman-vfio: guest dump read failed at 0x%llx\n",
+ pr_info("vgsp: guest dump read failed at 0x%llx\n",
req->gpa + o);
break;
}
for (i = 0; i < chunk / 4; i += 4)
- pr_info("gsp-resman-vfio: 0x%llx: %08x %08x %08x %08x\n",
+ pr_info("vgsp: 0x%llx: %08x %08x %08x %08x\n",
req->gpa + o + i * 4, buf[i], buf[i + 1],
buf[i + 2], buf[i + 3]);
}
@@ -3501,7 +3501,7 @@ static int nv_vgpu_inject_irq_set(const char *val, const struct kernel_param *kp
trigger = vgpu->irqs[idx].trigger;
if (trigger)
eventfd_signal(trigger);
- pr_info("gsp-resman-vfio: inject_irq %lu (trigger %s)\n",
+ pr_info("vgsp: inject_irq %lu (trigger %s)\n",
idx, trigger ? "fired" : "missing");
ret = 0;
}
@@ -3581,7 +3581,7 @@ static int nv_vgpu_rmpost_thread(void *arg)
if (atomic_read(&vgpu->vfio_dev_open_count) <= 0)
continue;
req->rc = gsp_rm_force_post(vgpu, req->idx);
- pr_info("gsp-resman-vfio: rmpost idx=%u -> %d\n",
+ pr_info("vgsp: rmpost idx=%u -> %d\n",
req->idx, req->rc);
}
mutex_unlock(&nv_vgpu_driver.lock);