From c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Fri, 2 Oct 2026 15:13:06 -0400 Subject: 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-: 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). --- kernel/gsp_phys_vbios.c | 56 ++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) (limited to 'kernel/gsp_phys_vbios.c') diff --git a/kernel/gsp_phys_vbios.c b/kernel/gsp_phys_vbios.c index 50b17df..e42e277 100644 --- a/kernel/gsp_phys_vbios.c +++ b/kernel/gsp_phys_vbios.c @@ -197,7 +197,7 @@ static int gsp_phys_vbios_find_pci_header(void __iomem *bar0, u32 *pci_offset, &directory_sig)) return -EIO; if (directory_sig != GSP_PHYS_ROM_DIRECTORY_IDENTIFIER) { - pr_err("gsp-phys-vbios: ROM directory not found (0x%08x)\n", + pr_err("vgsp-vbios: ROM directory not found (0x%08x)\n", directory_sig); return -EINVAL; } @@ -208,18 +208,18 @@ static int gsp_phys_vbios_find_pci_header(void __iomem *bar0, u32 *pci_offset, return -EIO; break; default: - pr_err("gsp-phys-vbios: unsupported IFR version %u\n", version); + pr_err("vgsp-vbios: unsupported IFR version %u\n", version); return -EINVAL; } if (image_offset & 0x3) { - pr_err("gsp-phys-vbios: IFR image offset 0x%x is not 4-byte aligned\n", + pr_err("vgsp-vbios: IFR image offset 0x%x is not 4-byte aligned\n", image_offset); return -EINVAL; } if (image_offset > GSP_PHYS_VBIOS_MAX_SIZE - sizeof(u32)) { - pr_err("gsp-phys-vbios: IFR image offset 0x%x out of range\n", + pr_err("vgsp-vbios: IFR image offset 0x%x out of range\n", image_offset); return -EINVAL; } @@ -269,7 +269,7 @@ static int gsp_phys_vbios_locate_expansion_roms(void __iomem *bar0, if (!gsp_phys_prom_read32(bar0, base, &sig)) return -EIO; if (!gsp_phys_pci_data_sig_valid(sig)) { - pr_err("gsp-phys-vbios: invalid PCI data signature 0x%08x at 0x%x\n", + pr_err("vgsp-vbios: invalid PCI data signature 0x%08x at 0x%x\n", sig, base); return -EINVAL; } @@ -341,7 +341,7 @@ static int gsp_phys_vbios_locate_expansion_roms(void __iomem *bar0, break; if (sub_img_len == 0) { - pr_err("gsp-phys-vbios: zero-sized ROM block at 0x%x\n", + pr_err("vgsp-vbios: zero-sized ROM block at 0x%x\n", curr_block); return -EINVAL; } @@ -436,7 +436,7 @@ int gsp_phys_vbios_read(struct gsp_phys_vbios *img, struct pci_dev *pdev, if (rom_sig != GSP_PHYS_ROM_SIG_STD && rom_sig != GSP_PHYS_ROM_SIG_NV && rom_sig != GSP_PHYS_ROM_SIG_NV2) { - pr_err("gsp-phys-vbios: no valid ROM signature at offset 0x%x (0x%04x)\n", + pr_err("vgsp-vbios: no valid ROM signature at offset 0x%x (0x%04x)\n", pci_offset, rom_sig); return -EINVAL; } @@ -445,12 +445,12 @@ int gsp_phys_vbios_read(struct gsp_phys_vbios *img, struct pci_dev *pdev, &bios_size, &expansion_rom_offset); if (ret) { - pr_err("gsp-phys-vbios: expansion ROM walk failed: %d\n", ret); + pr_err("vgsp-vbios: expansion ROM walk failed: %d\n", ret); return ret; } if (check_add_overflow(pci_offset, bios_size, &rom_end) || rom_end > GSP_PHYS_VBIOS_MAX_SIZE) { - pr_err("gsp-phys-vbios: expansion ROM span 0x%x+0x%x exceeds the window\n", + pr_err("vgsp-vbios: expansion ROM span 0x%x+0x%x exceeds the window\n", pci_offset, bios_size); return -EINVAL; } @@ -462,7 +462,7 @@ int gsp_phys_vbios_read(struct gsp_phys_vbios *img, struct pci_dev *pdev, img->ifr_version = ifr_version; img->expansion_rom_offset = expansion_rom_offset; - pr_info("gsp-phys-vbios: ROM on %s: pciOffset=0x%x size=0x%x expansionRomOffset=0x%x IFRversion=%u\n", + pr_info("vgsp-vbios: ROM on %s: pciOffset=0x%x size=0x%x expansionRomOffset=0x%x IFRversion=%u\n", pci_name(pdev), pci_offset, bios_size, expansion_rom_offset, ifr_version); return 0; @@ -541,7 +541,7 @@ static int gsp_phys_vbios_parse_desc(const struct gsp_phys_vbios *img, size = (vdesc >> 16) & 0xffff; if (version == 3 && size >= GSP_PHYS_FALCON_UCODE_DESC_V3_SIZE) { - pr_err("gsp-phys-vbios: FWSEC appId=0x%x is a V3 (boot-from-HS) descriptor; this GPU generation boots FWSEC with the generic SEC2 boot-loader (V2) only - cannot proceed\n", + pr_err("vgsp-vbios: FWSEC appId=0x%x is a V3 (boot-from-HS) descriptor; this GPU generation boots FWSEC with the generic SEC2 boot-loader (V2) only - cannot proceed\n", app_id); return -EOPNOTSUPP; } @@ -579,12 +579,12 @@ static int gsp_phys_vbios_parse_desc(const struct gsp_phys_vbios *img, desc->dmem_load_size = fields[11]; if (desc->imem_load_size == 0 || desc->dmem_load_size == 0) { - pr_err("gsp-phys-vbios: FWSEC descriptor has a zero-sized IMEM/DMEM image (imem=0x%x dmem=0x%x)\n", + pr_err("vgsp-vbios: FWSEC descriptor has a zero-sized IMEM/DMEM image (imem=0x%x dmem=0x%x)\n", desc->imem_load_size, desc->dmem_load_size); return -EINVAL; } if (desc->imem_sec_size > desc->imem_load_size) { - pr_err("gsp-phys-vbios: FWSEC secure IMEM size 0x%x exceeds load size 0x%x\n", + pr_err("vgsp-vbios: FWSEC secure IMEM size 0x%x exceeds load size 0x%x\n", desc->imem_sec_size, desc->imem_load_size); return -EINVAL; } @@ -593,30 +593,30 @@ static int gsp_phys_vbios_parse_desc(const struct gsp_phys_vbios *img, image_start = desc_offset + size; if (image_start > img->size || desc->imem_load_size > img->size - image_start) { - pr_err("gsp-phys-vbios: FWSEC IMEM image runs past the ROM copy\n"); + pr_err("vgsp-vbios: FWSEC IMEM image runs past the ROM copy\n"); return -EINVAL; } if (desc->dmem_offset > img->size - image_start) { - pr_err("gsp-phys-vbios: FWSEC DMEM offset runs past the ROM copy\n"); + pr_err("vgsp-vbios: FWSEC DMEM offset runs past the ROM copy\n"); return -EINVAL; } image_end = image_start + desc->dmem_offset; if (desc->dmem_load_size > img->size - image_end) { - pr_err("gsp-phys-vbios: FWSEC DMEM image runs past the ROM copy\n"); + pr_err("vgsp-vbios: FWSEC DMEM image runs past the ROM copy\n"); return -EINVAL; } if (desc->interface_offset >= desc->dmem_load_size) { - pr_err("gsp-phys-vbios: FWSEC interface offset 0x%x outside DMEM image (0x%x)\n", + pr_err("vgsp-vbios: FWSEC interface offset 0x%x outside DMEM image (0x%x)\n", desc->interface_offset, desc->dmem_load_size); return -EINVAL; } - pr_info("gsp-phys-vbios: FWSEC entry appId=0x%x targetId=%u desc=V%u size=%u at 0x%x\n", + pr_info("vgsp-vbios: FWSEC entry appId=0x%x targetId=%u desc=V%u size=%u at 0x%x\n", app_id, target_id, version, size, desc_offset); - pr_info("gsp-phys-vbios: FWSEC image: code at 0x%x (0x%x bytes) data at 0x%x (0x%x bytes)\n", + pr_info("vgsp-vbios: FWSEC image: code at 0x%x (0x%x bytes) data at 0x%x (0x%x bytes)\n", image_start, desc->imem_load_size, image_start + desc->dmem_offset, desc->dmem_load_size); - pr_info("gsp-phys-vbios: FWSEC IMEM base/load/virt/secBase/secSize=0x%x/0x%x/0x%x/0x%x/0x%x DMEM off/phys/load=0x%x/0x%x/0x%x interfaceOff=0x%x entry=0x%x\n", + pr_info("vgsp-vbios: FWSEC IMEM base/load/virt/secBase/secSize=0x%x/0x%x/0x%x/0x%x/0x%x DMEM off/phys/load=0x%x/0x%x/0x%x interfaceOff=0x%x entry=0x%x\n", desc->imem_phys_base, desc->imem_load_size, desc->imem_virt_base, desc->imem_sec_base, desc->imem_sec_size, desc->dmem_offset, @@ -644,7 +644,7 @@ int gsp_phys_vbios_parse_fwsec(struct gsp_phys_vbios *img, ret = gsp_phys_vbios_find_bit(img, &bit_addr); if (ret) { - pr_err("gsp-phys-vbios: BIT header not found in %zu-byte ROM image\n", + pr_err("vgsp-vbios: BIT header not found in %zu-byte ROM image\n", img->size); return ret; } @@ -655,7 +655,7 @@ int gsp_phys_vbios_parse_fwsec(struct gsp_phys_vbios *img, &token_size) || !gsp_phys_img_read(img, bit_addr + GSP_PHYS_BIT_TOKEN_ENTRIES_OFF, 1, &token_entries)) { - pr_err("gsp-phys-vbios: truncated BIT header at 0x%x\n", + pr_err("vgsp-vbios: truncated BIT header at 0x%x\n", bit_addr); return -EINVAL; } @@ -664,14 +664,14 @@ int gsp_phys_vbios_parse_fwsec(struct gsp_phys_vbios *img, img->bit_token_size = token_size; img->bit_token_entries = token_entries; - pr_info("gsp-phys-vbios: BIT header at 0x%x headerSize=%u tokenSize=%u tokens=%u\n", + pr_info("vgsp-vbios: BIT header at 0x%x headerSize=%u tokenSize=%u tokens=%u\n", bit_addr, header_size, token_size, token_entries); - pr_info("gsp-phys-vbios: BIT token type: %u-byte tokens (%s)\n", + pr_info("vgsp-vbios: BIT token type: %u-byte tokens (%s)\n", token_size, token_size >= GSP_PHYS_BIT_TOKEN_SIZE_8 ? "DataPtr u32 at offset 4" : "DataPtr u16 at offset 4"); if (token_size < GSP_PHYS_BIT_TOKEN_SIZE_6) { - pr_err("gsp-phys-vbios: invalid BIT token size %u\n", + pr_err("vgsp-vbios: invalid BIT token size %u\n", token_size); return -EINVAL; } @@ -778,7 +778,7 @@ int gsp_phys_vbios_parse_fwsec(struct gsp_phys_vbios *img, app_id, use_debug_app)) continue; - pr_info("gsp-phys-vbios: BIT falcon entry %u: appId=0x%x targetId=%u descPtr=0x%x\n", + pr_info("vgsp-vbios: BIT falcon entry %u: appId=0x%x targetId=%u descPtr=0x%x\n", j, app_id, target_id, desc_ptr); ret = gsp_phys_vbios_parse_desc( @@ -789,7 +789,7 @@ int gsp_phys_vbios_parse_fwsec(struct gsp_phys_vbios *img, if (ret < 0) return ret; if (ret == 0) { - pr_info("gsp-phys-vbios: VBIOS version (binver<<8|oem) = 0x%llx\n", + pr_info("vgsp-vbios: VBIOS version (binver<<8|oem) = 0x%llx\n", version); return 0; } @@ -798,7 +798,7 @@ int gsp_phys_vbios_parse_fwsec(struct gsp_phys_vbios *img, } } - pr_err("gsp-phys-vbios: no usable FWSEC V2 descriptor in the BIT (debug app %s)\n", + pr_err("vgsp-vbios: no usable FWSEC V2 descriptor in the BIT (debug app %s)\n", use_debug_app ? "wanted" : "not wanted"); return -ENOENT; } -- cgit v1.2.3