> On Oct 31, 2014, at 1:16 PM, Narinder Dhillon <[email protected]> wrote:
> 
> Hi Andrew,
> 
> Shouldn't the 'variable' driver be implemented on top of say BlockIO protocol 
> or some other protocol that actually implements the flash read/writes.
> Current implementation is very simple and can only be used for reads on a 
> board with parallel NOR flash.
> 

The Variable driver should support a store abstracted via an FimwareVolumeBlock 
protocol.  You should be able to abstract a non memory mapped device via 
FimwareVolumeBlock.

https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Include/Protocol/FirmwareVolumeBlock.h

Thanks,

Andrew Fish

> Thanx.
> 
> On Fri, Oct 31, 2014 at 10:23 AM, Andrew Fish <[email protected] 
> <mailto:[email protected]>> wrote:
> 
>> On Oct 31, 2014, at 7:58 AM, Pant, Alok <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> >> You will need some handshake between the OS kernel and the UEFI firmware.
>> As I understand there is no real “industry standard” spec for runtime nature 
>> of UEFI OS/BIOS access to shared eMMC controller (owned by OS level driver) 
>> and vendor comes with their proprietary OS level solution. Right? Is this 
>> something that need to be addressed (or can be addressed  handshake between 
>> os/bios?) as runtime UEFI variable must be supported on those UEFI OS
>>  
>> This may be more of UEFI spec question but since all the experts chime in 
>> this forum, I also hoped to probe further?
>>  
> 
> The UEFI spec describes how to write EFI Runtime Services that are callable 
> via an OS provided virtual address space. The UEFI does not speak to what 
> hardware is used to implement the backing store. 
> 
> The reality of how the OS and Firmware work is the variable store needs to be 
> a resource owned by the firmware, on a lot of PC like platforms this is the 
> NOR flash that EFI booted out of. 
> 
> To utilize a shared resource would require cooperation between the driver 
> (and maybe the OS) and firmware. The UEFI spec avoids discussing OS 
> specifics, and trying to recommend hardware implementations (as hardware 
> changes at a rapid rate). 
> 
> Thanks,
> 
> Andrew Fish 
> 
>> From: Olivier Martin [mailto:[email protected] 
>> <mailto:[email protected]>] 
>> Sent: Friday, October 31, 2014 9:04 AM
>> To: [email protected] 
>> <mailto:[email protected]>
>> Subject: Re: [edk2] Non-Volatile Variable Storage
>>  
>> Something you have to be aware about Non-Volatile UEFI variables is they 
>> might need to be accessible when the OS is running (through UEFI runtime 
>> services).
>> If your OS uses the same eMMC controller to access the filesystem then you 
>> might have some serious issues. You will need some handshake between the OS 
>> kernel and the UEFI firmware.
>>  
>>  
>> From: Narinder Dhillon [mailto:[email protected] 
>> <mailto:[email protected]>] 
>> Sent: 31 October 2014 04:12
>> To: [email protected] 
>> <mailto:[email protected]>
>> Subject: [edk2] Non-Volatile Variable Storage
>>  
>> Hi All,
>>  
>> I am attempting to implement a non-volatile variable storage in an eMMC 
>> device. After about a week of looking around, I have come to the realization 
>> that there is no such feature in edk2.
>> Is this correct ?
>>  
>> Looking at 'variable' drivers, it seems that the variable storage for both 
>> volatile and non are assumed to be at a physically mapped location. I can 
>> try to load this physical address by reading the block flash device and 
>> copying its contents to this location before the 'variable' driver starts. I 
>> will have to implement some shell command to save the changed contents back 
>> to flash device.
>>  
>> Does this sound reasonable or is there an easier way ?
>>  
>> Where can I implement this driver to load the non-volatile variable store 
>> before 'variable' driver starts ?
>>  
>> Thanx.
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> edk2-devel mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.sourceforge.net/lists/listinfo/edk2-devel 
>> <https://lists.sourceforge.net/lists/listinfo/edk2-devel>
> 
> ------------------------------------------------------------------------------
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected] <mailto:[email protected]>
> https://lists.sourceforge.net/lists/listinfo/edk2-devel 
> <https://lists.sourceforge.net/lists/listinfo/edk2-devel>
> 
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to