diff --git a/sections/cper-section-ipf.c b/sections/cper-section-ipf.c
new file mode 100644
index 0000000..0cbfb6b
--- /dev/null
+++ b/sections/cper-section-ipf.c
@@ -0,0 +1,17 @@
+/**
+ * Describes functions for converting Intel IPF CPER sections from binary and JSON format
+ * into an intermediate format.
+ * 
+ * Author: Lawrence.Tang@arm.com
+ **/
+#include <stdio.h>
+#include "json.h"
+#include "../edk/Cper.h"
+#include "../cper-utils.h"
+#include "cper-section-ipf.h"
+
+//Converts a single Intel IPF error CPER section into JSON IR.
+json_object* cper_section_ipf_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor)
+{
+    //... todo ...
+}
\ No newline at end of file
diff --git a/sections/cper-section-ipf.h b/sections/cper-section-ipf.h
new file mode 100644
index 0000000..8083ff0
--- /dev/null
+++ b/sections/cper-section-ipf.h
@@ -0,0 +1,54 @@
+#ifndef CPER_SECTION_IPF_H
+#define CPER_SECTION_IPF_H
+
+#include "json.h"
+#include "../edk/Cper.h"
+
+///
+/// IPF Error Record Section
+/// Defined as according to B.2.3 of the ItaniumTM Processor Family System Abstraction Layer (SAL) Specification.
+///
+typedef struct {
+    UINT64 ProcErrorMapValid : 1;
+    UINT64 ProcStateParameterValid : 1;
+    UINT64 ProcCrLidValid : 1;
+    UINT64 PsiStaticStructValid : 1;
+    UINT64 CacheCheckNum : 4;
+    UINT64 TlbCheckNum : 4;
+    UINT64 BusCheckNum : 4;
+    UINT64 RegFileCheckNum : 4;
+    UINT64 MsCheckNum : 4;
+    UINT64 CpuIdInfoValid : 1;
+    UINT64 Reserved : 39;
+} EPI_IPF_ERROR_VALID_BITS;
+
+typedef struct {
+    EPI_IPF_ERROR_VALID_BITS ValidBits;
+    UINT64 ProcErrorMap;
+    UINT64 ProcStateParameter;
+    UINT64 ProcCrLid;
+} EFI_IPF_ERROR_INFO_HEADER;
+
+typedef struct {
+    UINT64 ValidBits;
+    UINT64 ModCheckInfo;
+    UINT64 ModTargetId;
+    UINT64 ModRequestorId;
+    UINT64 ModResponderId;
+    UINT64 ModPreciseIp;
+} EFI_IPF_MOD_ERROR_INFO;
+
+typedef struct {
+    UINT8 CpuIdInfo[40];
+    UINT8 Reserved1[8];
+    UINT64 ValidBits;
+    UINT8 MinimalSaveStateInfo[1024];
+    UINT8 Brs[64];
+    UINT8 Crs[1024];
+    UINT8 Rrs[64];
+    UINT8 Frs[2048];
+} EFI_IPF_ERROR_INFO_FOOTER;
+
+json_object* cper_section_ipf_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor);
+
+#endif
\ No newline at end of file
