X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFrameworkModulePkg%2FUniversal%2FFirmwareVolume%2FFwVolDxe%2FFwVolWrite.c;fp=IntelFrameworkModulePkg%2FUniversal%2FFirmwareVolume%2FFwVolDxe%2FFwVolWrite.c;h=e95b75326c6edf71379d9e2489876ddb5d7b0d22;hp=99385e0f579b3eebe04df6aa011404c45493fcb5;hb=67a6cf6dcaaab8ddd4e7dc6a7fe929b752461102;hpb=e411f8ca3845aafacefe88321fdde340c88c1beb
diff --git a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolWrite.c b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolWrite.c
index 99385e0f57..e95b75326c 100644
--- a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolWrite.c
+++ b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolWrite.c
@@ -1,7 +1,7 @@
/** @file
Implements write firmware file.
- Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials
are licensed and made available under the terms and conditions
@@ -202,9 +202,11 @@ FvFileAttrib2FfsFileAttrib (
{
UINT8 FvFileAlignment;
UINT8 FfsFileAlignment;
+ UINT8 FfsFileAlignment2;
FvFileAlignment = (UINT8) (FvFileAttrib & EFI_FV_FILE_ATTRIB_ALIGNMENT);
FfsFileAlignment = 0;
+ FfsFileAlignment2 = 0;
switch (FvFileAlignment) {
case 0:
@@ -289,9 +291,42 @@ FvFileAttrib2FfsFileAttrib (
case 16:
FfsFileAlignment = 7;
break;
+
+ case 17:
+ FfsFileAlignment = 0;
+ FfsFileAlignment2 = 1;
+ break;
+ case 18:
+ FfsFileAlignment = 1;
+ FfsFileAlignment2 = 1;
+ break;
+ case 19:
+ FfsFileAlignment = 2;
+ FfsFileAlignment2 = 1;
+ break;
+ case 20:
+ FfsFileAlignment = 3;
+ FfsFileAlignment2 = 1;
+ break;
+ case 21:
+ FfsFileAlignment = 4;
+ FfsFileAlignment2 = 1;
+ break;
+ case 22:
+ FfsFileAlignment = 5;
+ FfsFileAlignment2 = 1;
+ break;
+ case 23:
+ FfsFileAlignment = 6;
+ FfsFileAlignment2 = 1;
+ break;
+ case 24:
+ FfsFileAlignment = 7;
+ FfsFileAlignment2 = 1;
+ break;
}
- *FfsFileAttrib = (UINT8) (FfsFileAlignment << 3);
+ *FfsFileAttrib = (UINT8) ((FfsFileAlignment << 3) | (FfsFileAlignment2 << 1));
return ;
}