Re: `varstore` vs `efivarstore`


Tomas Pilar (tpilar)
 

I understand that the `varstore` gives you more flexibility as you can
control the behaviour of save/load (=route/extract) functions. But
what can you achieve with this?
For example, writing a third-party driver (optionROM for a PCIe card). Using a varstore allows you to control how the configuration is stored and where it is stored - likely you have a config flash partition on your device. Storing config on your device means the physical device carries its config to a new server when you move it.

Moreover, your device has to be compatible with many different builds of bioses in different servers. While we have UEFI standards and EDK2 libraries, there are nevertheless 'behavioural quirks' with many (especially older) implementations of UEFI in various servers. As a driver developer I was very cautious about letting the server handle the storage of my variables.

Cheers,
Tom

Join discuss@edk2.groups.io to automatically receive all group messages.