summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_booter.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-01 14:12:22 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-01 14:12:22 -0400
commit3fe0709d60dce46a2d74a95166dbb932c82ce0c5 (patch)
tree5d762f9448553976afbe75dee28ca36b914ff9d4 /kernel/gsp_phys_booter.c
parent074b9910203f7d66b605bcd53e8e4318810c75ec (diff)
downloadopen-iov-3fe0709d60dce46a2d74a95166dbb932c82ce0c5.tar.gz
open-iov-3fe0709d60dce46a2d74a95166dbb932c82ce0c5.zip
gsp-phys: add RMDevidCheckIgnore to the registry profile
Append RMDevidCheckIgnore=1 (dword) to the pre-boot SET_REGISTRY profile, after the 35 host default parameters and RmDisableDisplay=1. The key is the registry escape for the static-config devid/board check that currently fails GSP-RM init; every existing entry is unchanged. Regenerated kernel/gsp_phys_registry_img.h with the same canonical packing (values inline, names-only blob): size 1377, numEntries 37, rpc.length 1409, one 4 KB element. The module code is unchanged apart from comments: the submission and the prepared log line read the size and entry count from the generated blob/macros.
Diffstat (limited to 'kernel/gsp_phys_booter.c')
-rw-r--r--kernel/gsp_phys_booter.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c
index 68b71ca..9ec2f45 100644
--- a/kernel/gsp_phys_booter.c
+++ b/kernel/gsp_phys_booter.c
@@ -519,9 +519,10 @@ struct gsp_phys_gsp_system_info {
* (g_os_nvoc.h:217-230; ABI checks gsp_abi_check.c:2126-2136). The header is
* 8 bytes: `size` is the total table size (header + entry array + name/value
* blob, entries[] = 16 bytes each) and `numEntries` the number of entries.
- * The submitted payload is gsp_phys_registry_image[] (generated): 36 dword
- * entries (the host driver's default profile plus RmDisableDisplay=1) with
- * the NUL-terminated names and inline dword values after the entry array.
+ * The submitted payload is gsp_phys_registry_image[] (generated): 37 dword
+ * entries (the host driver's default profile plus RmDisableDisplay=1 and
+ * RMDevidCheckIgnore=1) with the NUL-terminated names and inline dword
+ * values after the entry array.
*/
struct gsp_phys_packed_registry_entry {
__le32 name_offset; /* offset from table base to the NUL-terminated name */
@@ -3100,11 +3101,12 @@ static int gsp_phys_preinit_rpcs(void __iomem *bar0, struct pci_dev *pdev)
}
/*
- * Host default registry profile (36 dword entries, 1342 bytes): the
- * host driver's default parameter table plus RmDisableDisplay=1. The
- * display key makes the GSP-RM display-presence check treat display as
- * absent so the display engine is removed during pre-init; the rest
- * reproduces the stock host environment. The payload is the generated
+ * Host default registry profile (37 dword entries, 1377 bytes): the
+ * host driver's default parameter table plus RmDisableDisplay=1 (the
+ * GSP-RM display-presence check treats display as absent so the display
+ * engine is removed during pre-init) and RMDevidCheckIgnore=1 (escape
+ * for the static-config devid/board check); the rest reproduces the
+ * stock host environment. The payload is the generated
* PACKED_REGISTRY_TABLE blob (header + entries + names), not aligned
* to 8 bytes; the TX producer zero-pads the staging copy and folds the
* checksum over the padded length, matching the reference checksum.