diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-08 07:13:42 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-08 07:13:42 -0500 |
| commit | 552f034bd126a4332136bd2c245d5535f00728c0 (patch) | |
| tree | 171fd295b9ea36e8c0252a074cddd73c0d2b4a7a /tools/vm/cloud-init.yaml | |
| parent | 4942e2afb6a9470e5c8f3c60515656551bd1e2f2 (diff) | |
| download | open-iov-552f034bd126a4332136bd2c245d5535f00728c0.tar.gz open-iov-552f034bd126a4332136bd2c245d5535f00728c0.zip | |
vgsp-disp: find the instance block by the ctxDMA handle anywhere
The guest BAR1 is a 256 MB window over a 512 MB FB, so the RM writes
vidmem through a shifted BAR1 block and the announced instance PA does
not index the shadow (r1632: hash_nz=0 at 0x1fff0000; scan also empty
where it looked). Resolve like the hardware does, but empirically:
parse the announced block; if the handle is not there, search the FB
shadow (then guest RAM for the coherent-mapping case) for the 64 KB
block that contains an entry for the ctxDMA handle and _parses_ into
a valid object entry; use that block's object entry for PA/limit.
Cheap for the 56-per-boot notifier writes: a failed handle is not
rescanned for 5 s.
Diffstat (limited to 'tools/vm/cloud-init.yaml')
0 files changed, 0 insertions, 0 deletions
