summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--EmbeddedPkg/EmbeddedPkg.dec1
-rw-r--r--EmbeddedPkg/EmbeddedPkg.dsc9
-rw-r--r--EmbeddedPkg/Include/Library/PrePiLib.h16
-rw-r--r--EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.c9
-rw-r--r--EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf2
-rw-r--r--EmbeddedPkg/Library/PrePiLib/Hob.c48
-rw-r--r--EmbeddedPkg/Library/PrePiLib/PrePiLib.inf1
-rw-r--r--EmbeddedPkg/MetronomeDxe/Metronome.c (renamed from EmbeddedPkg/TemplateMetronomeDxe/Metronome.c)0
-rw-r--r--EmbeddedPkg/MetronomeDxe/TemplateMetronomeDxe.inf (renamed from EmbeddedPkg/TemplateMetronomeDxe/TemplateMetronomeDxe.inf)0
9 files changed, 77 insertions, 9 deletions
diff --git a/EmbeddedPkg/EmbeddedPkg.dec b/EmbeddedPkg/EmbeddedPkg.dec
index a7882ef4f3..4532149120 100644
--- a/EmbeddedPkg/EmbeddedPkg.dec
+++ b/EmbeddedPkg/EmbeddedPkg.dec
@@ -55,6 +55,7 @@
gEmbeddedDeviceGuid = { 0xbf4b9d10, 0x13ec, 0x43dd, { 0x88, 0x80, 0xe9, 0xb, 0x71, 0x8f, 0x27, 0xde } }
gEmbeddedExternalDeviceProtocolGuid = { 0x735F8C64, 0xD696, 0x44D0, { 0xBD, 0xF2, 0x44, 0x7F, 0xD0, 0x5A, 0x54, 0x06 }}
gEmbeddedGpioProtocolGuid = { 0x17a0a3d7, 0xc0a5, 0x4635, { 0xbb, 0xd5, 0x07, 0x21, 0x87, 0xdf, 0xe2, 0xee }}
+ gPeCoffLoaderProtocolGuid = { 0xB323179B, 0x97FB, 0x477E, { 0xB0, 0xFE, 0xD8, 0x85, 0x91, 0xFA, 0x11, 0xAB } }
[PcdsFeatureFlag.common]
gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|FALSE|BOOLEAN|0x00000001
diff --git a/EmbeddedPkg/EmbeddedPkg.dsc b/EmbeddedPkg/EmbeddedPkg.dsc
index a9ba337307..c34b10b32b 100644
--- a/EmbeddedPkg/EmbeddedPkg.dsc
+++ b/EmbeddedPkg/EmbeddedPkg.dsc
@@ -117,6 +117,10 @@
[LibraryClasses.ARM]
SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
+[LibraryClasses.ARM]
+ NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
+
+
################################################################################
#
# Pcd Section - list of all PCD Entries defined by this Platform
@@ -242,9 +246,7 @@
EmbeddedPkg/Library/TemplateSerialPortLib/TemplateSerialPortLib.inf
EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
-
-####ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf ???
-
+ EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf
EmbeddedPkg/Ebl/Ebl.inf
#### EmbeddedPkg/EblExternCmd/EblExternCmd.inf
@@ -255,7 +257,6 @@
EmbeddedPkg/SerialDxe/SerialDxe.inf
EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
EmbeddedPkg/TemplateBds/TemplateBds.inf
- EmbeddedPkg/TemplateCpuDxe/TemplateCpuDxe.inf
EmbeddedPkg/TemplateMetronomeDxe/TemplateMetronomeDxe.inf
EmbeddedPkg/TemplateSec/TemplateSec.inf
EmbeddedPkg/TemplateTimerDxe/TemplateTimerDxe.inf
diff --git a/EmbeddedPkg/Include/Library/PrePiLib.h b/EmbeddedPkg/Include/Library/PrePiLib.h
index 61c7e4d7ac..3e4e6c023d 100644
--- a/EmbeddedPkg/Include/Library/PrePiLib.h
+++ b/EmbeddedPkg/Include/Library/PrePiLib.h
@@ -16,6 +16,8 @@
#ifndef __PRE_PI_LIB_H__
#define __PRE_PI_LIB_H__
+#include <Guid/ExtractSection.h>
+
/**
This service enables discovery of additional firmware volumes.
@@ -665,6 +667,20 @@ BuildMemoryAllocationHob (
);
+VOID
+EFIAPI
+BuildExtractSectionHob (
+ IN EFI_GUID *Guid,
+ IN EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER SectionGetInfo,
+ IN EXTRACT_GUIDED_SECTION_DECODE_HANDLER SectionExtraction
+ );
+
+VOID
+EFIAPI
+BuildPeCoffLoaderHob (
+ );
+
+
/**
Allocates one or more 4KB pages of type EfiBootServicesData.
diff --git a/EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.c b/EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.c
index fcb533c8b7..a95de69190 100644
--- a/EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.c
+++ b/EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.c
@@ -15,12 +15,11 @@
**/
-#include <PiDxe.h>
-#include <Library/BaseLib.h>
-#include <Library/EblAddExternalCommandLib.h>
-#include <Library/UefiBootServicesTableLib.h>
+#include <Uefi.h>
#include <Library/UefiLib.h>
-
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/EblAddExternalCommandLib.h>
+#include <Protocol/EblAddCommand.h>
STATIC BOOLEAN gInstalledCommand = FALSE;
STATIC EFI_EVENT mEblCommandRegistration = NULL;
diff --git a/EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf b/EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
index fbb021283e..7cc4556825 100644
--- a/EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
+++ b/EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
@@ -39,8 +39,10 @@
[LibraryClasses]
UefiBootServicesTableLib
UefiLib
+ EblAddExternalCommandLib
[Protocols]
+ gEfiEblAddCommandProtocolGuid
[Guids]
\ No newline at end of file
diff --git a/EmbeddedPkg/Library/PrePiLib/Hob.c b/EmbeddedPkg/Library/PrePiLib/Hob.c
index 3c6574282c..04b49bb044 100644
--- a/EmbeddedPkg/Library/PrePiLib/Hob.c
+++ b/EmbeddedPkg/Library/PrePiLib/Hob.c
@@ -13,7 +13,10 @@
**/
#include <PrePi.h>
+#include <Protocol/PeCoffLoader.h>
+#include <Guid/ExtractSection.h>
#include <Guid/MemoryTypeInformation.h>
+#include <Library/PeCoffLib.H>
//
// Have to use build system to set the original value in case we are running
@@ -806,3 +809,48 @@ BuildMemoryAllocationHob (
}
+
+VOID
+EFIAPI
+BuildExtractSectionHob (
+ IN EFI_GUID *Guid,
+ IN EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER SectionGetInfo,
+ IN EXTRACT_GUIDED_SECTION_DECODE_HANDLER SectionExtraction
+ )
+{
+ EXTRACT_SECTION_HOB Hob;
+
+ Hob.SectionGetInfo = SectionGetInfo;
+ Hob.SectionExtraction = SectionExtraction;
+ BuildGuidDataHob (Guid, &Hob, sizeof (EXTRACT_SECTION_HOB));
+}
+
+PE_COFF_LOADER_PROTOCOL gPeCoffProtocol = {
+ PeCoffLoaderGetImageInfo,
+ PeCoffLoaderLoadImage,
+ PeCoffLoaderRelocateImage,
+ PeCoffLoaderImageReadFromMemory,
+ PeCoffLoaderRelocateImageForRuntime,
+ PeCoffLoaderUnloadImage
+};
+
+typedef struct {
+ EFI_HOB_GUID_TYPE Hob;
+ VOID *Interface;
+} PROTOCOL_HOB;
+
+
+
+VOID
+EFIAPI
+BuildPeCoffLoaderHob (
+ )
+{
+ PROTOCOL_HOB Hob;
+
+ Hob.Interface = &gPeCoffProtocol;
+ BuildGuidDataHob (&gPeCoffLoaderProtocolGuid, &Hob, sizeof (PROTOCOL_HOB));
+}
+
+
+
diff --git a/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf b/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
index 8e4f796bb2..72e41c999f 100644
--- a/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
+++ b/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
@@ -65,6 +65,7 @@
[Protocols]
gEfiStatusCodeRuntimeProtocolGuid
+ gPeCoffLoaderProtocolGuid
[FixedPcd.common]
diff --git a/EmbeddedPkg/TemplateMetronomeDxe/Metronome.c b/EmbeddedPkg/MetronomeDxe/Metronome.c
index 861bf249cd..861bf249cd 100644
--- a/EmbeddedPkg/TemplateMetronomeDxe/Metronome.c
+++ b/EmbeddedPkg/MetronomeDxe/Metronome.c
diff --git a/EmbeddedPkg/TemplateMetronomeDxe/TemplateMetronomeDxe.inf b/EmbeddedPkg/MetronomeDxe/TemplateMetronomeDxe.inf
index 698b17c750..698b17c750 100644
--- a/EmbeddedPkg/TemplateMetronomeDxe/TemplateMetronomeDxe.inf
+++ b/EmbeddedPkg/MetronomeDxe/TemplateMetronomeDxe.inf