]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPlatformPkg/BootMonFs: Added support for new revision of the NOR Flash file system
authorOlivier Martin <olivier.martin@arm.com>
Wed, 12 Mar 2014 17:23:33 +0000 (17:23 +0000)
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 12 Mar 2014 17:23:33 +0000 (17:23 +0000)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15324 6f19259b-4bc3-4df7-8a09-765794883524

ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsHw.h
ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsImages.c
ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c

index 3ebb5ba54abd619b7b954deae82c3dd7a56f20c7..c1bef755aea0b3737932e287a13064405fde417b 100644 (file)
 \r
 #define HW_IMAGE_FOOTER_SIGNATURE_1 0x464C5348\r
 #define HW_IMAGE_FOOTER_SIGNATURE_2 0x464F4F54\r
+\r
 #define HW_IMAGE_FOOTER_VERSION     1\r
 #define HW_IMAGE_FOOTER_OFFSET      92\r
 \r
+#define HW_IMAGE_FOOTER_VERSION2    2\r
+#define HW_IMAGE_FOOTER_OFFSET2     96\r
+\r
 typedef struct {\r
   CHAR8  Filename[MAX_NAME_LENGTH];\r
   UINT32 Offset;\r
index 7d3e9019039fd3796c06d584ad1f01a5fc677f4a..aadc0c7f93b1cbebc346f57d137c272d3443a4f6 100644 (file)
@@ -109,11 +109,15 @@ BootMonFsImageInThisBlock (
     return FALSE;\r
   }\r
 \r
-  if (Ptr->Version != HW_IMAGE_FOOTER_VERSION) {\r
-    return FALSE;\r
-  }\r
-\r
-  if (Ptr->Offset != HW_IMAGE_FOOTER_OFFSET) {\r
+  if (Ptr->Version == HW_IMAGE_FOOTER_VERSION) {\r
+    if (Ptr->Offset != HW_IMAGE_FOOTER_OFFSET) {\r
+      return FALSE;\r
+    }\r
+  } else if (Ptr->Version == HW_IMAGE_FOOTER_VERSION2) {\r
+    if (Ptr->Offset != HW_IMAGE_FOOTER_OFFSET2) {\r
+      return FALSE;\r
+    }\r
+  } else {\r
     return FALSE;\r
   }\r
 \r
index 908393fa53b90eab0148eb79239d65e9c994ba00..778af389a0088cb0bc97d0e0030498e60ed14662 100644 (file)
@@ -100,8 +100,13 @@ FlushAppendRegion (
   Description->BlockEnd = Description->BlockStart + (NewFileSize / BlockSize);\r
   Description->Footer.FooterSignature1 = HW_IMAGE_FOOTER_SIGNATURE_1;\r
   Description->Footer.FooterSignature2 = HW_IMAGE_FOOTER_SIGNATURE_2;\r
+#ifdef MDE_CPU_ARM\r
   Description->Footer.Version = HW_IMAGE_FOOTER_VERSION;\r
   Description->Footer.Offset = HW_IMAGE_FOOTER_OFFSET;\r
+#else\r
+  Description->Footer.Version = HW_IMAGE_FOOTER_VERSION2;\r
+  Description->Footer.Offset = HW_IMAGE_FOOTER_OFFSET2;\r
+#endif\r
   Description->RegionCount = 1;\r
   Description->Region[0].Checksum = 0;\r
   Description->Region[0].Offset = Description->BlockStart * BlockSize;\r