PEL: Add PrivateHeader class

The first section in a PEL is always the 'Private Header' section.  This
commit adds a class to represent that.  Right now, the only constructor
available is filling in its data fields from a PEL stream.

The Section base class, which will be the base class of all PEL
sections, is also being introduced here.  It contains the section header
structure, and a valid flag that derived classes can use.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ia5806017155fe1ef29ea57bf8ab202ff861bde2e
diff --git a/test/openpower-pels/Makefile.include b/test/openpower-pels/Makefile.include
index 07e596d..288a5db 100644
--- a/test/openpower-pels/Makefile.include
+++ b/test/openpower-pels/Makefile.include
@@ -3,9 +3,14 @@
 check_PROGRAMS += \
 	additional_data_test \
 	bcd_time_test \
+	private_header_test \
 	section_header_test \
 	stream_test
 
+pel_objects = \
+	$(top_builddir)/extensions/openpower-pels/bcd_time.o \
+	$(top_builddir)/extensions/openpower-pels/private_header.o
+
 additional_data_test_SOURCES = %reldir%/additional_data_test.cpp
 additional_data_test_CPPFLAGS = $(test_cppflags)
 additional_data_test_CXXFLAGS = $(test_cxxflags)
@@ -32,4 +37,13 @@
 section_header_test_CPPFLAGS = $(test_cppflags)
 section_header_test_CXXFLAGS = $(test_cxxflags)
 section_header_test_LDADD = $(test_ldadd)
-section_header_test_LDFLAGS = $(test_ldflags)
\ No newline at end of file
+section_header_test_LDFLAGS = $(test_ldflags)
+
+private_header_test_SOURCES = \
+	%reldir%/private_header_test.cpp %reldir%/pel_utils.cpp
+private_header_test_CPPFLAGS = $(test_cppflags)
+private_header_test_CXXFLAGS = $(test_cxxflags)
+private_header_test_LDADD = \
+	$(test_ldadd) \
+	$(pel_objects)
+private_header_test_LDFLAGS = $(test_ldflags)