public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Andrew Fish" <afish@apple.com>
To: ritul guru <ritul.bits@gmail.com>
Cc: edk2-devel-groups-io <devel@edk2.groups.io>
Subject: Re: [edk2-devel] regarding calling UEFI runtime services (mainly SetVariable) from linux or android OS which is running on xen+tianocore UEFI
Date: Mon, 06 Feb 2023 10:33:04 -0800	[thread overview]
Message-ID: <71408315-B855-475B-80AA-C2FC6B665D72@apple.com> (raw)
In-Reply-To: <CAHHF-2JPwPuEh_hauw2p9NQvhAXFq1J2=MMMuSCvhDS2oftt0g@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2548 bytes --]



> On Feb 6, 2023, at 10:25 AM, 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?
> 

It looks like it is saved if you do an S3. S3 is ACPI speak for a sleep state that puts RAM into self refresh. On a cold boot it allocates the memory, so you are starting over.

Sorry I’ve never looked at the Xen code before so I’m sight reading.

Thanks,

Andrew Fish

> Thanks & Regards
> Ritul Guru
> +91-9916513186
> 
> 
> On Mon, Feb 6, 2023 at 11:47 PM Andrew (EFI) Fish <afish@apple.com <mailto:afish@apple.com>> wrote:
>> 
>> 
>>> On Feb 6, 2023, at 8:06 AM, ritul guru <ritul.bits@gmail.com <mailto: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:
>> 
>> <edk2.png>
>> edk2/OvmfXen.fdf at master · tianocore/edk2
>> github.com
>>  <https://github.com/tianocore/edk2/blob/master/OvmfPkg/OvmfXen.fdf>edk2/OvmfXen.fdf at master · tianocore/edk2 <https://github.com/tianocore/edk2/blob/master/OvmfPkg/OvmfXen.fdf>
>> github.com <https://github.com/tianocore/edk2/blob/master/OvmfPkg/OvmfXen.fdf>
>> 
>> Oh looks like it uses an emulated variable store that is just memory. See ReserveEmuVariableNvStore().
>> 
>> 
>> edk2/Platform.c at master · tianocore/edk2
>> github.com
>>  <https://github.com/tianocore/edk2/blob/master/OvmfPkg/XenPlatformPei/Platform.c#L365>edk2/Platform.c at master · tianocore/edk2 <https://github.com/tianocore/edk2/blob/master/OvmfPkg/XenPlatformPei/Platform.c#L365>
>> github.com <https://github.com/tianocore/edk2/blob/master/OvmfPkg/XenPlatformPei/Platform.c#L365>
>> 
>> Thanks,
>> 
>> Andrew Fish
>> 
>>> 
>>> https://wiki.osdev.org/Using_UEFI_Runtime_Services_in_your_Kernel
>>> 
>>> Thanks & Regards
>>> Ritul Guru
>>> +91-9916513186
>>> 
>> 
> <edk2.png>


[-- Attachment #2: Type: text/html, Size: 8454 bytes --]

      parent reply	other threads:[~2023-02-06 18:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-06 16:06 regarding calling UEFI runtime services (mainly SetVariable) from linux or android OS which is running on xen+tianocore UEFI ritul guru
2023-02-06 18:16 ` [edk2-devel] " Andrew Fish
2023-02-06 18:25   ` ritul guru
2023-02-06 18:27     ` ritul guru
2023-02-06 18:33     ` Andrew Fish [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=71408315-B855-475B-80AA-C2FC6B665D72@apple.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox