summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_vbios.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-01 13:49:50 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-01 13:49:50 -0400
commit4ceb08c2e4d07edc1ebed46b1ed2a2bce00f24e7 (patch)
tree80cfb033fe554a896dddf1e4c2c32edeb413849a /kernel/gsp_phys_vbios.c
parent4465833fa61dbed0519b770774b4ed439cf22054 (diff)
downloadopen-iov-4ceb08c2e4d07edc1ebed46b1ed2a2bce00f24e7.tar.gz
open-iov-4ceb08c2e4d07edc1ebed46b1ed2a2bce00f24e7.zip
gsp-phys: send the host default registry profile with RmDisableDisplay for GSP-RM init
The pre-boot SET_REGISTRY (function 73) submitted an empty PACKED_REGISTRY_TABLE. Replace it with the default registry profile the host driver sends before boot: the 35 default dword parameters from its 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 instead of being brought up on a headless boot. The payload is generated into kernel/gsp_phys_registry_img.h as a PACKED_REGISTRY_TABLE blob (8-byte header, 36 16-byte dword entries, NUL-terminated names after the array; values inline; no value bytes in the name blob, matching the reference packer): size 1342, numEntries 36, rpc.length 1374, one 4 KB element. fn72 is unchanged. The payload length is not 8-byte aligned (record 1390 -> 1392); the TX producer already zero-pads the kvzalloc'd staging record and folds the XOR checksum over the padded length, exactly like the reference producer zero-pads before _checkSum32, so no producer change is needed. The blob is static const data: no heap, no new stack frame, and a submit failure still aborts the boot. The prepared log line now prints the payload size and entry count.
Diffstat (limited to 'kernel/gsp_phys_vbios.c')
0 files changed, 0 insertions, 0 deletions