summaryrefslogtreecommitdiffstats
path: root/kernel/main.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
commit97e2d46daf7e26aface861bce24b767eaccc967c (patch)
treec45c2beaf9e941fb164d8a363ed6069d9ba48e4c /kernel/main.c
parent4254b221f393e5262083e5d7158110b934a52e57 (diff)
downloadopen-iov-97e2d46daf7e26aface861bce24b767eaccc967c.tar.gz
open-iov-97e2d46daf7e26aface861bce24b767eaccc967c.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/main.c')
0 files changed, 0 insertions, 0 deletions