Jordan,

Thanks. And ok, I will not to touch UnixPkg since it has been marked to 
deprecated by you.

Star
-----Original Message-----
From: Jordan Justen [mailto:[email protected]] 
Sent: Friday, June 28, 2013 6:18 AM
To: Zeng, Star
Cc: [email protected]
Subject: Re: [edk2] [PATCH 2/2] UnixPkg, Nt32Pkg, EmulatorPkg and OvmfPkg: PEI 
variable does not robustly handle crashes during Reclaim().

For the UnixPkg, OvmfPkg and EmulatorPkg patches:
Reviewed-by: Jordan Justen <[email protected]>

But, I don't think we should bother with updating the deprecated UnixPkg.

-Jordan

On Mon, Jun 24, 2013 at 4:45 AM, Zeng, Star <[email protected]> wrote:
> Based on the impact of PATCH 1, it is to provide some platform changes.
>
>
>
> ===============
>
> EmulatorPkg: Use FaultTolerantWritePei driver.
>
>
>
> 1. The signature of working block header needs to be updated to 
> gWorkingBlockSignatureGuid because FTW write header and record will be 
> updated and exposed to support crossing archs.
>
> 2. PEI variable has been updated to depend on FaultTolerantWritePei to 
> robustly handle crashes during Reclaim(), so add 
> FaultTolerantWritePei.inf in *.dsc and *.fdf.
>
>
>
> Contributed-under: TianoCore Contribution Agreement 1.0
>
> Signed-off-by: Star Zeng <[email protected]>
>
> ===============
>
> For Nt32Pkg and UnixPkg, the commit log will be same to EmulatorPkg 
> except using different package name in subject line.
>
> ==========
>
> OvmfPkg EmuVariableFvbRuntimeDxe: Let FaultTolerantWriteDxe to init 
> working block header.
>
>
>
> Contributed-under: TianoCore Contribution Agreement 1.0
>
> Signed-off-by: Star Zeng <[email protected]>
>
> ===============
>
>
>
> Thanks.
>
> Star
>
> From: Zeng, Star
> Sent: Monday, June 24, 2013 7:26 PM
> To: [email protected]
> Subject: [edk2] [PATCH 1/2] MdeModulePkg and SecurityPkg: PEI variable 
> does not robustly handle crashes during Reclaim().
>
>
>
> ==========
>
> MdeModulePkg: Variable drivers robustly handle crashes during Reclaim().
>
>
>
> PEI variable implementation checks only the variable header signature 
> for validity. This does not seem robust if system crash occurred 
> during previous
> Reclaim() operation. If the crash occurred while FTW was rewriting the 
> variable FV, the signature could be valid even though the rest of the 
> FV isn't valid.
>
> Solution: Add a FaultTolerantWritePei driver to check and provide the 
> FTW last write status, then PEI variable and early phase(before FTW 
> protocol
> ready) of DXE variable can check the status and determine if all or 
> partial variable data has been backed up in spare block, and then use 
> the backed up data.
>
>
>
> Contributed-under: TianoCore Contribution Agreement 1.0
>
> Signed-off-by: Star Zeng <[email protected]>
>
> ==========
>
> SecurityPkg: Variable drivers robustly handle crashes during Reclaim().
>
>
>
> PEI variable implementation checks only the variable header signature 
> for validity. This does not seem robust if system crash occurred 
> during previous
> Reclaim() operation. If the crash occurred while FTW was rewriting the 
> variable FV, the signature could be valid even though the rest of the 
> FV isn't valid.
>
> Solution: PEI variable and early phase(before FTW protocol ready) of 
> DXE variable can check the FTW last write status provided by 
> FaultTolerantWritePei and determine if all or partial variable data 
> has been backed up in spare block, and then use the backed up data.
>
>
>
> Contributed-under: TianoCore Contribution Agreement 1.0
>
> Signed-off-by: Star Zeng <[email protected]>
>
> ==========
>
>
>
> [Impact]
>
> 1. If Platforms use VariablePei.inf now, they need to add 
> FaultTolerantWritePei.inf into the platform *.dsc and *.inf. Because 
> PEI variable will be updated to depend on the added FaultTolerantWritePei.
>
> 2. The signature of working block header needs to be updated to 
> gWorkingBlockSignatureGuid because FTW write header and record will be 
> updated and exposed to support crossing archs. Low impact to platform 
> because FaultTolerantWrite DXE driver can help correct or add the 
> working block header at the first boot if platform *.fdf uses the old 
> signature GUID or no working block header init data.
>
>
>
>
>
> Thanks!
>
> Star
>
>
> ----------------------------------------------------------------------
> -------- This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to