Hi,

I'm trying to solve what should be a relatively simple problem
of side-loading a GPU VBIOS but I am running into an unexpected
problem.

The setup is a laptop with Optimus setup (Intel primary + Nvidia
headless), and I want to pass the headless Nvidia GPU to the KVM
virtual machine. Unfortunately, the GPU appears to be
uninitialized in the VM, judging by the GPU-Z symptoms.

The VBIOS in question isn't on an EEPROM attached to the GPU, it
is instead in the main system BIOS payload (which actually contains
3 Nvidia BIOS-es, presumably for different compatible GPUs). I
extracted all the BIOS blobs using PhoenixTool and deduced the
correct one, but the blob in question appears to have the EFI
header missing - which means it looks much like a legacy BIOS,
rather than an EFI one (type 0 header is there, but type 3
header is not. But the crypto certs are in fact there in the
BIOS payload, which indicates it is an EFI BIOS after all,
only with the type 3 header stripped out.

Is the EFI header as described (usually 1KB on Nvidia Kepler
BIOS-es and 1.5KB on Nvidia Maxwell BIOS-es) only applicable
to discrete EFI BIOS-es? Is it handled differently if the
GPU BIOS is integrated into the main system BIOS payload?
If so, is there a method for incorporating the GPU firmware
I have extracted into the OVMF core instead of side-loading
it?

Many thanks in advance.

Gordan

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to