From 549d1e8126f96b3515d37037ae22e0dce430c20b Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Mon, 5 Oct 2026 12:25:05 -0400 Subject: vgsp: per-mdev emulated VRAM size (1.0 multiple mediate sizes) - nv_vgpu_type_info/ioctl gain vram_mb; nv_vgpu_device gains fb_emul_size bound from the mdev type at create (default 512 MiB). - New nvidia-vgpu-turing-1g type (1024 MiB); turing max_instances 1 -> 2; show_description reports the per-type framebuffer and max_instance. - Thread fb_emul_size through GSCI fb_length/region/frtsOffset, WPR2, NV_PFB_PRI_MMU_LOCAL_MEMORY_RANGE, the vidmem allocator bound and the BAR1 shadow; bar_info callback uses the per-device size. - UNTESTED at commit time: builds clean; validation blocked by the Xid 140 incident (reboot pending). See Handoff-vGPU-IO.md ADDENDUM 48. --- kernel/gsp_emulation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'kernel/gsp_emulation.c') diff --git a/kernel/gsp_emulation.c b/kernel/gsp_emulation.c index b1c67a4..47c8151 100644 --- a/kernel/gsp_emulation.c +++ b/kernel/gsp_emulation.c @@ -750,7 +750,7 @@ int gsp_emu_init(struct nv_vgpu_device *vgpu) * with GSCI fb_length/frtsOffset and NV_PFB_PRI_MMU_LOCAL_MEMORY_RANGE. */ ctx->boot_stage = 0; /* GSP_BOOT_STAGE_IDLE */ ctx->flcn_kick_count = 0; - ctx->wpr2_addr_lo = 0x001fe000; + ctx->wpr2_addr_lo = (u32)(((nv_vgpu_fb_emul_size(vgpu) - 0x200000) >> 12) << 4); /* The guest's BAR0 is the emulation shadow (vzalloc'd by * nv_vgpu_bar_emul_init, mapped to the guest via VFIO mmap) - NOT the -- cgit v1.2.3