diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-01 13:49:50 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-01 13:49:50 -0400 |
| commit | 4ceb08c2e4d07edc1ebed46b1ed2a2bce00f24e7 (patch) | |
| tree | 80cfb033fe554a896dddf1e4c2c32edeb413849a /kernel/gsp_phys_booter_load_img.h | |
| parent | 4465833fa61dbed0519b770774b4ed439cf22054 (diff) | |
| download | open-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_booter_load_img.h')
0 files changed, 0 insertions, 0 deletions
