在 2015/4/24 10:00, Andrew Fish 写道:
>
>> On Apr 23, 2015, at 6:53 PM, Haojian Zhuang 
>> <[email protected] <mailto:[email protected]>> wrote:
>>
>> 在 2015/4/24 9:35, Yao, Jiewen 写道:
>>> HI Andrew
>>> You are right that we have FVB for flash device abstraction. The 
>>> current variable have some assumption:
>>> 1) It assumes EFI_FVB2_MEMORY_MAPPED already set for FVB 
>>> implementation. It even does not check this bit and start use memory 
>>> map way to read flash.
>>> 2) It assumes EFI_FVB2_STICKY_WRITE already set for FVB 
>>> implementation. So Erase block is always invoked.
>>> As you said, current variable driver is optimized for SPI NOR. But 
>>> it might be burden to other flash device.
>>>
>>> One more question is: this variable driver assume variable is stored 
>>> in flash storage "block" - which can be abstracted by FVB.
>>> What happen, if variable in stored in another format? Map variable 
>>> file to "block"? I see how it is implemented in OVMF, really 
>>> complicated.
>>> Or should the other variable driver duplicate all complicated 
>>> Authentication server in their own variable driver?
>>
>> I think that we could just implement a block variable driver. And we
>> don't need to change more in existing variablue driver + fault write 
>> driver.
>>
>> Here's a reference as my implementation.
>> https://github.com/96boards/edk2/tree/hikey/HisiPkg/HiKeyPkg/Drivers/BlockVariableDxe
>>
>> I only make it support FVB protocol, and it works. In order to keep
>> align with existing PCD values in variable driver. I keep declaring
>> PcdFlashNvStorageVariableBase & PcdNvStorageVariableBlockSize in memory
>> that are not useful. And I create new
>> PcdNvStorageVariableBlockDevicePath, PcdFlashNvStorageVariableBlockCount
>> & PcdNvStorageVariableBlockLba. And I still need to fix one thing that
>> should reserve this memory space.
>>
>
> I was just writing an email with a note that this was the right way to 
> fix the variable driver…. Thanks!
>
> The PCD could be a device path, or a feature flag to look for an FVB 
> protocol with a well know protocol on the handle (MdeModulePkg 
> protocol with NUL data).
>
> It should be possible to discover based on address or PCD device path 
> (or protocol) and do the reads via FVB.
>
>
How to reserve memory? Since I need to fix it.

Best Regards
Haojian

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to