* [PATCH 0/2] Follow PI 1.6 to support FFS_ATTRIB_DATA_ALIGNMENT_2
@ 2017-09-22 10:22 Star Zeng
2017-09-22 10:22 ` [PATCH 1/2] MdePkg PiFirmwareFile.h: Add FFS_ATTRIB_DATA_ALIGNMENT_2 definition Star Zeng
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Star Zeng @ 2017-09-22 10:22 UTC (permalink / raw)
To: edk2-devel; +Cc: Star Zeng, Liming Gao, Yonghong Zhu
The BaseTools update patch has been sent at
https://lists.01.org/pipermail/edk2-devel/2017-September/015027.html.
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Star Zeng (2):
MdePkg PiFirmwareFile.h: Add FFS_ATTRIB_DATA_ALIGNMENT_2 definition
MdeModulePkg Core: Support FFS_ATTRIB_DATA_ALIGNMENT_2
MdeModulePkg/Core/Dxe/FwVol/FwVolRead.c | 37 ++++++++++++++++++++++-----------
MdeModulePkg/Core/Pei/FwVol/FwVol.c | 35 +++++++++++++++++++++----------
MdePkg/Include/Pi/PiFirmwareFile.h | 5 +++--
3 files changed, 52 insertions(+), 25 deletions(-)
--
2.7.0.windows.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] MdePkg PiFirmwareFile.h: Add FFS_ATTRIB_DATA_ALIGNMENT_2 definition
2017-09-22 10:22 [PATCH 0/2] Follow PI 1.6 to support FFS_ATTRIB_DATA_ALIGNMENT_2 Star Zeng
@ 2017-09-22 10:22 ` Star Zeng
2017-09-22 10:22 ` [PATCH 2/2] MdeModulePkg Core: Support FFS_ATTRIB_DATA_ALIGNMENT_2 Star Zeng
2017-09-25 11:08 ` [PATCH 0/2] Follow PI 1.6 to support FFS_ATTRIB_DATA_ALIGNMENT_2 Gao, Liming
2 siblings, 0 replies; 4+ messages in thread
From: Star Zeng @ 2017-09-22 10:22 UTC (permalink / raw)
To: edk2-devel; +Cc: Star Zeng, Liming Gao
Follow PI 1.6 spec to add FFS_ATTRIB_DATA_ALIGNMENT_2 definition for
FFS alignment extended to support maximum 16MB.
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
---
MdePkg/Include/Pi/PiFirmwareFile.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/MdePkg/Include/Pi/PiFirmwareFile.h b/MdePkg/Include/Pi/PiFirmwareFile.h
index 734344430aa6..b982c9eda3b6 100644
--- a/MdePkg/Include/Pi/PiFirmwareFile.h
+++ b/MdePkg/Include/Pi/PiFirmwareFile.h
@@ -1,7 +1,7 @@
/** @file
The firmware file related definitions in PI.
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
@@ -11,7 +11,7 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
- PI Version 1.4.
+ PI Version 1.6.
**/
@@ -86,6 +86,7 @@ typedef UINT8 EFI_FFS_FILE_STATE;
/// FFS File Attributes.
///
#define FFS_ATTRIB_LARGE_FILE 0x01
+#define FFS_ATTRIB_DATA_ALIGNMENT_2 0x02
#define FFS_ATTRIB_FIXED 0x04
#define FFS_ATTRIB_DATA_ALIGNMENT 0x38
#define FFS_ATTRIB_CHECKSUM 0x40
--
2.7.0.windows.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] MdeModulePkg Core: Support FFS_ATTRIB_DATA_ALIGNMENT_2
2017-09-22 10:22 [PATCH 0/2] Follow PI 1.6 to support FFS_ATTRIB_DATA_ALIGNMENT_2 Star Zeng
2017-09-22 10:22 ` [PATCH 1/2] MdePkg PiFirmwareFile.h: Add FFS_ATTRIB_DATA_ALIGNMENT_2 definition Star Zeng
@ 2017-09-22 10:22 ` Star Zeng
2017-09-25 11:08 ` [PATCH 0/2] Follow PI 1.6 to support FFS_ATTRIB_DATA_ALIGNMENT_2 Gao, Liming
2 siblings, 0 replies; 4+ messages in thread
From: Star Zeng @ 2017-09-22 10:22 UTC (permalink / raw)
To: edk2-devel; +Cc: Star Zeng, Liming Gao
Follow PI 1.6 spec to support FFS_ATTRIB_DATA_ALIGNMENT_2 for
FFS alignment extended to support maximum 16MB.
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
---
MdeModulePkg/Core/Dxe/FwVol/FwVolRead.c | 37 ++++++++++++++++++++++-----------
MdeModulePkg/Core/Pei/FwVol/FwVol.c | 35 +++++++++++++++++++++----------
2 files changed, 49 insertions(+), 23 deletions(-)
diff --git a/MdeModulePkg/Core/Dxe/FwVol/FwVolRead.c b/MdeModulePkg/Core/Dxe/FwVol/FwVolRead.c
index 00e0d7d289ec..c59c384f5c75 100644
--- a/MdeModulePkg/Core/Dxe/FwVol/FwVolRead.c
+++ b/MdeModulePkg/Core/Dxe/FwVol/FwVolRead.c
@@ -1,7 +1,7 @@
/** @file
Implements functions to read firmware file
-Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -16,18 +16,27 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "FwVolDriver.h"
/**
-Required Alignment Alignment Value in FFS Alignment Value in
-(bytes) Attributes Field Firmware Volume Interfaces
-1 0 0
-16 1 4
-128 2 7
-512 3 9
-1 KB 4 10
-4 KB 5 12
-32 KB 6 15
-64 KB 7 16
+Required Alignment Alignment Value in FFS FFS_ATTRIB_DATA_ALIGNMENT2 Alignment Value in
+(bytes) Attributes Field in FFS Attributes Field Firmware Volume Interfaces
+1 0 0 0
+16 1 0 4
+128 2 0 7
+512 3 0 9
+1 KB 4 0 10
+4 KB 5 0 12
+32 KB 6 0 15
+64 KB 7 0 16
+128 KB 0 1 17
+256 KB 1 1 18
+512 KB 2 1 19
+1 MB 3 1 20
+2 MB 4 1 21
+4 MB 5 1 22
+8 MB 6 1 23
+16 MB 7 1 24
**/
UINT8 mFvAttributes[] = {0, 4, 7, 9, 10, 12, 15, 16};
+UINT8 mFvAttributes2[] = {17, 18, 19, 20, 21, 22, 23, 24};
/**
Convert the FFS File Attributes to FV File Attributes
@@ -48,7 +57,11 @@ FfsAttributes2FvFileAttributes (
DataAlignment = (UINT8) ((FfsAttributes & FFS_ATTRIB_DATA_ALIGNMENT) >> 3);
ASSERT (DataAlignment < 8);
- FileAttribute = (EFI_FV_FILE_ATTRIBUTES) mFvAttributes[DataAlignment];
+ if ((FfsAttributes & FFS_ATTRIB_DATA_ALIGNMENT_2) != 0) {
+ FileAttribute = (EFI_FV_FILE_ATTRIBUTES) mFvAttributes2[DataAlignment];
+ } else {
+ FileAttribute = (EFI_FV_FILE_ATTRIBUTES) mFvAttributes[DataAlignment];
+ }
if ((FfsAttributes & FFS_ATTRIB_FIXED) == FFS_ATTRIB_FIXED) {
FileAttribute |= EFI_FV_FILE_ATTRIB_FIXED;
diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
index 0bbb86d95819..c90a70b5f799 100644
--- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
+++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
@@ -75,18 +75,27 @@ EFI_PEI_PPI_DESCRIPTOR mPeiFfs3FvPpiList = {
};
/**
-Required Alignment Alignment Value in FFS Alignment Value in
-(bytes) Attributes Field Firmware Volume Interfaces
-1 0 0
-16 1 4
-128 2 7
-512 3 9
-1 KB 4 10
-4 KB 5 12
-32 KB 6 15
-64 KB 7 16
+Required Alignment Alignment Value in FFS FFS_ATTRIB_DATA_ALIGNMENT2 Alignment Value in
+(bytes) Attributes Field in FFS Attributes Field Firmware Volume Interfaces
+1 0 0 0
+16 1 0 4
+128 2 0 7
+512 3 0 9
+1 KB 4 0 10
+4 KB 5 0 12
+32 KB 6 0 15
+64 KB 7 0 16
+128 KB 0 1 17
+256 KB 1 1 18
+512 KB 2 1 19
+1 MB 3 1 20
+2 MB 4 1 21
+4 MB 5 1 22
+8 MB 6 1 23
+16 MB 7 1 24
**/
UINT8 mFvAttributes[] = {0, 4, 7, 9, 10, 12, 15, 16};
+UINT8 mFvAttributes2[] = {17, 18, 19, 20, 21, 22, 23, 24};
/**
Convert the FFS File Attributes to FV File Attributes
@@ -107,7 +116,11 @@ FfsAttributes2FvFileAttributes (
DataAlignment = (UINT8) ((FfsAttributes & FFS_ATTRIB_DATA_ALIGNMENT) >> 3);
ASSERT (DataAlignment < 8);
- FileAttribute = (EFI_FV_FILE_ATTRIBUTES) mFvAttributes[DataAlignment];
+ if ((FfsAttributes & FFS_ATTRIB_DATA_ALIGNMENT_2) != 0) {
+ FileAttribute = (EFI_FV_FILE_ATTRIBUTES) mFvAttributes2[DataAlignment];
+ } else {
+ FileAttribute = (EFI_FV_FILE_ATTRIBUTES) mFvAttributes[DataAlignment];
+ }
if ((FfsAttributes & FFS_ATTRIB_FIXED) == FFS_ATTRIB_FIXED) {
FileAttribute |= EFI_FV_FILE_ATTRIB_FIXED;
--
2.7.0.windows.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 0/2] Follow PI 1.6 to support FFS_ATTRIB_DATA_ALIGNMENT_2
2017-09-22 10:22 [PATCH 0/2] Follow PI 1.6 to support FFS_ATTRIB_DATA_ALIGNMENT_2 Star Zeng
2017-09-22 10:22 ` [PATCH 1/2] MdePkg PiFirmwareFile.h: Add FFS_ATTRIB_DATA_ALIGNMENT_2 definition Star Zeng
2017-09-22 10:22 ` [PATCH 2/2] MdeModulePkg Core: Support FFS_ATTRIB_DATA_ALIGNMENT_2 Star Zeng
@ 2017-09-25 11:08 ` Gao, Liming
2 siblings, 0 replies; 4+ messages in thread
From: Gao, Liming @ 2017-09-25 11:08 UTC (permalink / raw)
To: Zeng, Star, edk2-devel@lists.01.org
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: Zeng, Star
>Sent: Friday, September 22, 2017 6:22 PM
>To: edk2-devel@lists.01.org
>Cc: Zeng, Star <star.zeng@intel.com>; Gao, Liming <liming.gao@intel.com>;
>Zhu, Yonghong <yonghong.zhu@intel.com>
>Subject: [PATCH 0/2] Follow PI 1.6 to support
>FFS_ATTRIB_DATA_ALIGNMENT_2
>
>The BaseTools update patch has been sent at
>https://lists.01.org/pipermail/edk2-devel/2017-September/015027.html.
>
>Cc: Liming Gao <liming.gao@intel.com>
>Cc: Yonghong Zhu <yonghong.zhu@intel.com>
>
>Star Zeng (2):
> MdePkg PiFirmwareFile.h: Add FFS_ATTRIB_DATA_ALIGNMENT_2 definition
> MdeModulePkg Core: Support FFS_ATTRIB_DATA_ALIGNMENT_2
>
> MdeModulePkg/Core/Dxe/FwVol/FwVolRead.c | 37
>++++++++++++++++++++++-----------
> MdeModulePkg/Core/Pei/FwVol/FwVol.c | 35 +++++++++++++++++++++-
>---------
> MdePkg/Include/Pi/PiFirmwareFile.h | 5 +++--
> 3 files changed, 52 insertions(+), 25 deletions(-)
>
>--
>2.7.0.windows.1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-09-25 11:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-22 10:22 [PATCH 0/2] Follow PI 1.6 to support FFS_ATTRIB_DATA_ALIGNMENT_2 Star Zeng
2017-09-22 10:22 ` [PATCH 1/2] MdePkg PiFirmwareFile.h: Add FFS_ATTRIB_DATA_ALIGNMENT_2 definition Star Zeng
2017-09-22 10:22 ` [PATCH 2/2] MdeModulePkg Core: Support FFS_ATTRIB_DATA_ALIGNMENT_2 Star Zeng
2017-09-25 11:08 ` [PATCH 0/2] Follow PI 1.6 to support FFS_ATTRIB_DATA_ALIGNMENT_2 Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox