According to the UEFI spec -- and to the edk2 header "MdePkg/Include/Protocol/EdidOverride.h" too --, EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID takes an (EFI_HANDLE*), and not an EFI_HANDLE, as second parameter ("ChildHandle").
This is probably [*] a bug in the UEFI spec. Given that this CSM module (VideoDxe) had been used for a long time on physical platforms before it was moved to OvmfPkg, keep the current "ChildHandle" argument, just cast it explicitly. [*] The edk2 tree contains no other GetEdid() call, and also no GetEdid() implementation. The edk2-platforms tree contains two GetEdid() calls, at commit 022c212167e0, in files - "Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/Edid.c", - "Drivers/OptionRomPkg/CirrusLogic5430Dxe/Edid.c". From these, the first passes an (EFI_HANDLE*) as "ChildHandle", the second passes an EFI_HANDLE. It's difficult to draw a conclusion. :/ No functional changes. (I've also requested a non-normative (informative) clarification for the UEFI spec: <https://mantis.uefi.org/mantis/view.php?id=2018>, in the direction that matches this patch.) Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: David Woodhouse <dw...@infradead.org> Cc: Jordan Justen <jordan.l.jus...@intel.com> Signed-off-by: Laszlo Ersek <ler...@redhat.com> --- Notes: build-tested only OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.c b/OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.c index 0640656dba14..995136adee27 100644 --- a/OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.c +++ b/OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.c @@ -1402,9 +1402,13 @@ BiosVideoCheckForVbe ( goto Done; } + // + // Cast "ChildHandle" to (EFI_HANDLE*) in order to work around the spec bug + // in UEFI v2.8, reported as Mantis#2018. + // Status = EdidOverride->GetEdid ( EdidOverride, - BiosVideoPrivate->Handle, + (EFI_HANDLE *) BiosVideoPrivate->Handle, &EdidAttributes, &EdidOverrideDataSize, (UINT8 **) &EdidOverrideDataBlock -- 2.19.1.3.g30247aa5d201 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#47412): https://edk2.groups.io/g/devel/message/47412 Mute This Topic: https://groups.io/mt/34180226/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-