VMware Communities
Wazner
Contributor
Contributor

Bug in UEFI firmware

I'm using VMWare Workstation for testing a hobby OS. For debugging purposes my bootloader will print out the device path of the pointer device.

To get the pointer device i'm using the EFI_SIMPLE_POINTER_PROTOCOL protocol and to get the device path I'm using the EFI_DEVICE_PATH_PROTOCOL protocol.

The UEFI specification states that device handles implementing the EFI_SIMPLE_POINTER_PROTOCOL protocol, must also implement the EFI_DEVICE_PATH_PROTOCOL protocol. (EFI 2.3.1: section 11.6 EFI Simple Pointer Device Paths, or EFI 2.7: section 12.6).

The above is not the case with the VMWare UEFI firmware.

When I call HandleProtocol(EFI_DEVICE_PATH_PROTOCOL) on the device implementing SIMPLE_POINTER_PROTOCOL (found using LocateHandle) it returns EFI_UNSUPPORTED.

Tags (2)
Reply
0 Kudos
2 Replies
dariusd
VMware Employee
VMware Employee

Thanks for reporting this.  It looks like it is a recent regression in VMware Workstation 14.x, Fusion 10.x, and ESXi 6.7 which resulted from some performance work we did in our EFI firmware.  We'll work on fixing it.

Sorry for the trouble!

--

Darius

Reply
0 Kudos
Wazner
Contributor
Contributor

No worries! Thank you for the great product.

It isn't a blocking issue for me seeing as I was only using it for debugging purposes, but I appreciate it being fixed Smiley Happy

Reply
0 Kudos