From 9cad030bc14e706d8986ed33f0fa8b28f0828c48 Mon Sep 17 00:00:00 2001 From: yshang1 Date: Thu, 10 Jan 2008 04:26:13 +0000 Subject: Align the header of variable from 1 to 4, which can avoid the size of variable content corrupt if the critical data cross two flash block. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4543 6f19259b-4bc3-4df7-8a09-765794883524 --- IntelFrameworkModulePkg/Universal/VariablePei/Variable.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'IntelFrameworkModulePkg/Universal/VariablePei/Variable.h') diff --git a/IntelFrameworkModulePkg/Universal/VariablePei/Variable.h b/IntelFrameworkModulePkg/Universal/VariablePei/Variable.h index cc82b0fd5c..aeb49bca80 100644 --- a/IntelFrameworkModulePkg/Universal/VariablePei/Variable.h +++ b/IntelFrameworkModulePkg/Universal/VariablePei/Variable.h @@ -42,10 +42,12 @@ Abstract: #define GET_PAD_SIZE(a) (((~a) + 1) & (ALIGNMENT - 1)) #endif +#define HEADER_ALIGN(Header) (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1))) + #define GET_VARIABLE_NAME_PTR(a) (CHAR16 *) ((UINTN) (a) + sizeof (VARIABLE_HEADER)) #define GET_VARIABLE_DATA_PTR(a) \ - (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (a) + (a)->NameSize + GET_PAD_SIZE ((a)->NameSize)) + (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (a) + NameSizeOfVariable(a) + GET_PAD_SIZE (NameSizeOfVariable(a) )) typedef struct { VARIABLE_HEADER *CurrPtr; -- cgit v1.2.3