ohh, it should retains value on VM reboot.

//
// Allocate storage for NV variables early on so it will be
// at a consistent address. Since VM memory is preserved
// across reboots, this allows the NV variable storage to survive
// a VM reboot.
//

Thanks & Regards
Ritul Guru
+91-9916513186


On Mon, Feb 6, 2023 at 11:55 PM ritul guru <ritul.bits@gmail.com> wrote:
Thanks,
so as it is memory, does it mean if anything written in variable store, and VM reboot happens then variable store will be flushed?

Thanks & Regards
Ritul Guru
+91-9916513186


On Mon, Feb 6, 2023 at 11:47 PM Andrew (EFI) Fish <afish@apple.com> wrote:


On Feb 6, 2023, at 8:06 AM, ritul guru <ritul.bits@gmail.com> wrote:

Hi,

I have been using xen hypervisor and tianocore uefi BIOS on xen to boot to ubuntu OS on virtualized disk.
and want to set a UEFI variable with UEFI runtime service SetVariable() to a value and the same wants to read from UEFI bootloader either grubx64.efi or botmgfw.efi,
So, Is it possible to use runtime services to do such an operation for OS running on VM when booted with OVMF/tianocore BIOS on VM guest? 
If so, where does this variable gets stored? is it in some virtualized disk as there is no virtualized SPIROM available to VM.



I don’t know the Xen specifics, but the firmware maps in a Flash Device (FD) here:


Oh looks like it uses an emulated variable store that is just memory. See ReserveEmuVariableNvStore().


Thanks,

Andrew Fish