public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Udit Kumar <udit.kumar@nxp.com>
To: "afish@apple.com" <afish@apple.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"Olivier.Martin@arm.com" <Olivier.Martin@arm.com>,
	Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com>
Subject: Re: Storing Non volatile variables on SD/NAND
Date: Fri, 27 Oct 2017 09:35:19 +0000	[thread overview]
Message-ID: <VI1PR0402MB33414DAFB3AA6F78901383A8915A0@VI1PR0402MB3341.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <7B611C7B-2DC3-4419-9840-926A4B253E9F@apple.com>

Hi Andrew, 

> The concept of a runtime EFI driver is in the UEFI spec, but the issue is there is no
> way to tell the OS to not bind it's driver for that device that is universal. If you
> boot an unmodified OS it is going to conflict with the EFI runtime service.

In order to bind driver with universal device, OS driver could be modified
and device tree could indicate if this storage is shared with BIOS runtime. (Assuming booting Linux)
 
But I am struggling here, how OS will get services of this driver. 
I assume in Linux, struct efi_runtime_services is fixed  as per specs. 

Will this modified driver, needs to access unsigned long runtime; of struct efi to get 
UEFI run time services ? 


> My gut feel is if the OS has a driver for the device it may be better to make the
> media format the architectural point. That way the OS can read/write it via a
> driver/app. There could be an UEFI Services Table entry that implies what
> scheme is being used. That way there is only every one owner of the hardware
> device. I assume #3 is like this?

Yeah , probably can think of this,  if OS update the runtime variables without
help of UEFI runtime services using some sort of file system.  

Thanks
Udit

> -----Original Message-----
> From: afish@apple.com [mailto:afish@apple.com]
> Sent: Wednesday, September 20, 2017 11:16 PM
> To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Udit Kumar <udit.kumar@nxp.com>; edk2-devel@lists.01.org;
> Olivier.Martin@arm.com; Vladimir Olovyannikov
> <vladimir.olovyannikov@broadcom.com>
> Subject: Re: [edk2] Storing Non volatile variables on SD/NAND
> 
> 
> > On Sep 20, 2017, at 10:39 AM, Ard Biesheuvel <ard.biesheuvel@linaro.org>
> wrote:
> >
> > On 20 September 2017 at 10:39, Ard Biesheuvel <ard.biesheuvel@linaro.org>
> wrote:
> >> On 20 September 2017 at 10:34, Udit Kumar <udit.kumar@nxp.com> wrote:
> >>>
> >>> When we want to have UEFI and OS accessing same media ,
> >>> Possibilities I see
> >>>
> >>> 1- Patch OS For status check of media (diversion from generic OS), Good
> case will be modify low level driver.
> >>> But we may end up some surprises on synchronization.
> >>>
> >>> 2- no runtime service for OS . I guess this will not be possible
> >>>
> >>> 3- Way the  Vladimir implemented for eMMC, This has risk of losing data in
> case of AC power off.
> >>>
> >>> 4- update hardware with dual view (Ard suggestion)
> >>>
> >>
> >> 5 - abstract direct block device access into a firmware service that
> >> is exposed via a DXE_RUNTIME_DRIVER.
> >>
> >> The UEFI spec allows you to expose entry points into a
> >> DXE_RUNTIME_DRIVER module via a UEFI configuration table, and the OS
> >> can use a driver that uses the abstracted device rather than the real
> >> device. Performance is going to be terrible, probably, and lots of
> >> things that are specific to SD/MMC will no longer work, but it is a
> >> possibility nonetheless.
> >
> > BTW this would go beyond the UEFI spec, and would effectively be a
> > PI/UEFI dependent feature.
> 
> The concept of a runtime EFI driver is in the UEFI spec, but the issue is there is no
> way to tell the OS to not bind it's driver for that device that is universal. If you
> boot an unmodified OS it is going to conflict with the EFI runtime service.
> 
> My gut feel is if the OS has a driver for the device it may be better to make the
> media format the architectural point. That way the OS can read/write it via a
> driver/app. There could be an UEFI Services Table entry that implies what
> scheme is being used. That way there is only every one owner of the hardware
> device. I assume #3 is like this?
> 
> Thanks,
> 
> Andrew Fish
> 
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel



  reply	other threads:[~2017-10-27  9:31 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-18 13:52 Storing Non volatile variables on SD/NAND Udit Kumar
2017-09-18 15:43 ` Ard Biesheuvel
2017-09-18 16:52   ` Vladimir Olovyannikov
2017-09-19  5:28     ` Udit Kumar
2017-09-19 16:38       ` Ard Biesheuvel
2017-09-20  4:27         ` Udit Kumar
2017-09-20  4:47           ` Andrew Fish
2017-09-20  5:09             ` Udit Kumar
2017-09-20  5:17               ` Andrew Fish
2017-09-20 14:51                 ` Pankaj Bansal
2017-09-20 17:34                   ` Udit Kumar
2017-09-20 17:39                     ` Ard Biesheuvel
2017-09-20 17:39                       ` Ard Biesheuvel
2017-09-20 17:46                         ` Andrew Fish
2017-10-27  9:35                           ` Udit Kumar [this message]
2017-10-27  9:37                       ` Udit Kumar
2017-10-27 13:20                         ` Ard Biesheuvel
2017-10-27 17:46                       ` Jeremy Linton
2017-10-28  3:09                         ` Udit Kumar
2017-10-30 23:10                           ` Jeremy Linton
2017-10-31  4:25                             ` Udit Kumar
2017-09-20 17:34                   ` Andrew Fish
2017-09-18 20:47   ` Jeremy Linton
2017-09-18 20:53     ` Ard Biesheuvel
2017-09-19  5:27       ` Udit Kumar

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=VI1PR0402MB33414DAFB3AA6F78901383A8915A0@VI1PR0402MB3341.eurprd04.prod.outlook.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