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 | 97e2d46daf7e26aface861bce24b767eaccc967c (patch) | |
| tree | c45c2beaf9e941fb164d8a363ed6069d9ba48e4c /README.md | |
| parent | 4254b221f393e5262083e5d7158110b934a52e57 (diff) | |
| download | open-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 'README.md')
0 files changed, 0 insertions, 0 deletions
