Merge "Added support for parsing XMF versions 1.00 and 1.01 headers"
diff --git a/arm-wt-22k/lib_src/eas_xmf.c b/arm-wt-22k/lib_src/eas_xmf.c
index 0a92425..05b329e 100644
--- a/arm-wt-22k/lib_src/eas_xmf.c
+++ b/arm-wt-22k/lib_src/eas_xmf.c
@@ -43,6 +43,8 @@
/* XMF header file type */
#define XMF_IDENTIFIER 0x584d465f
+#define XMF_VERSION_1_00 0x312e3030
+#define XMF_VERSION_1_01 0x312e3031
#define XMF_VERSION_2_00 0x322e3030
#define XMF_FILE_TYPE 0x00000002
#define XMF_SPEC_LEVEL 0x00000001
@@ -126,27 +128,36 @@
/* read the version */
if ((result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE)) != EAS_SUCCESS)
return result;
- if (temp != XMF_VERSION_2_00)
- {
- { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR, "XMF file version was 0x%08x, expected 0x%08x\n", temp, XMF_VERSION_2_00); */ }
- return EAS_SUCCESS;
- }
- /* read the file type */
- if ((result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE)) != EAS_SUCCESS)
- return result;
- if (temp != XMF_FILE_TYPE)
+ if (temp == XMF_VERSION_2_00)
{
- { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR, "XMF file type was 0x%08x, expected 0x%08x\n", temp, XMF_FILE_TYPE); */ }
- return EAS_SUCCESS;
- }
+ /* read the file type */
+ result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE);
+ if (result != EAS_SUCCESS)
+ return result;
- /* read the spec level */
- if ((result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE)) != EAS_SUCCESS)
- return result;
- if (temp != XMF_SPEC_LEVEL)
+ if (temp != XMF_FILE_TYPE)
+ {
+ { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR,
+ "XMF file type was 0x%08x, expected 0x%08x\n", temp, XMF_FILE_TYPE); */ }
+ return EAS_SUCCESS;
+ }
+
+ /* read the spec level */
+ result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE);
+ if (result != EAS_SUCCESS)
+ return result;
+
+ if (temp != XMF_SPEC_LEVEL)
+ {
+ { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR,
+ "XMF file spec was 0x%08x, expected 0x%08x\n", temp, XMF_SPEC_LEVEL); */ }
+ return EAS_SUCCESS;
+ }
+ }
+ else if (temp != XMF_VERSION_1_00 && temp != XMF_VERSION_1_01)
{
- { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR, "XMF file spec was 0x%08x, expected 0x%08x\n", temp, XMF_SPEC_LEVEL); */ }
+ { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR, "XMF file version was 0x%08x\n", temp); */ }
return EAS_SUCCESS;
}