Arm Packages: Fixed coding style/Line endings to follow EDK2 coding convention
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 22 Sep 2011 22:53:54 +0000 (22:53 +0000)
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 22 Sep 2011 22:53:54 +0000 (22:53 +0000)
Arm Packages: Fixed mispelling

Arm Packages: Reduced warnings all over the code

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12407 6f19259b-4bc3-4df7-8a09-765794883524

39 files changed:
ArmPkg/ArmPkg.dec
ArmPkg/ArmPkg.dsc
ArmPkg/Drivers/CpuDxe/CpuDxe.inf
ArmPkg/Drivers/CpuDxe/Mmu.c
ArmPkg/Include/Chipset/ArmV7.h
ArmPkg/Include/Library/ArmTrustZoneLib.h
ArmPkg/Library/ArmTrustZoneLib/ArmTrustZone.c
ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandler.c
ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.c
ArmPlatformPkg/ArmPlatformPkg.dec
ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc
ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf
ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
ArmPlatformPkg/Bds/Bds.inf
ArmPlatformPkg/Bds/BdsHelper.c
ArmPlatformPkg/Bds/BdsInternal.h
ArmPlatformPkg/Bds/BootMenu.c
ArmPlatformPkg/Bds/BootOptionSupport.c
ArmPlatformPkg/Drivers/SP804TimerDxe/SP804Timer.c
ArmPlatformPkg/PrePeiCore/PrePeiCoreEntryPoint.S
ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
ArmPlatformPkg/PrePi/PeiMPCore.inf
ArmPlatformPkg/PrePi/PrePi.c
ArmPlatformPkg/Sec/SecEntryPoint.S
BeagleBoardPkg/BeagleBoardPkg-next.dsc
BeagleBoardPkg/BeagleBoardPkg.dsc
BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c
EmbeddedPkg/Ebl/HwDebug.c
EmbeddedPkg/EblExternCmd/EntryPointGlue.c
EmbeddedPkg/EblExternCmd/Main.c
EmbeddedPkg/EmbeddedPkg.dsc
EmbeddedPkg/GdbStub/Arm/Processor.c
EmbeddedPkg/GdbStub/GdbStub.c
EmbeddedPkg/Library/GdbDebugAgent/Arm/Processor.c
EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.c
EmbeddedPkg/Library/TemplateSerialPortLib/TemplateSerialPortLib.c
EmbeddedPkg/Universal/MmcDxe/Diagnostics.c
Omap35xxPkg/InterruptDxe/InterruptDxe.inf
Omap35xxPkg/Library/EblCmdLib/EblCmdLib.c

index e037f9f..7801b98 100644 (file)
@@ -35,7 +35,7 @@
   ArmLib|Include/Library/ArmLib.h\r
   SemihostLib|Include/Library/Semihosting.h\r
   UncachedMemoryAllocationLib|Include/Library/UncachedMemoryAllocationLib.h\r
-  DefaultExceptioHandlerLib|Include/Library/DefaultExceptioHandlerLib.h\r
+  DefaultExceptionHandlerLib|Include/Library/DefaultExceptionHandlerLib.h\r
   ArmDisassemblerLib|Include/Library/ArmDisassemblerLib.h\r
   \r
 [Guids.common]\r
index 56fdeec..e3c1d6f 100644 (file)
@@ -62,7 +62,7 @@
   SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
   UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  DefaultExceptioHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
+  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
 
   ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
index 3cf4036..231257c 100644 (file)
 [LibraryClasses]\r
   BaseMemoryLib\r
   CacheMaintenanceLib\r
-  UefiDriverEntryPoint\r
-  ArmLib\r
+  CpuLib\r
+  DebugLib\r
+  DefaultExceptionHandlerLib\r
   DxeServicesTableLib\r
   PeCoffGetEntryPointLib\r
   UefiLib\r
-  CpuLib\r
-  DefaultExceptioHandlerLib\r
-  DebugLib\r
 \r
 [Protocols]\r
   gEfiCpuArchProtocolGuid\r
index 681ffde..74794eb 100644 (file)
@@ -543,49 +543,49 @@ UpdatePageEntries (
       return EFI_UNSUPPORTED;\r
   }\r
 \r
-  // obtain page table base\r
+  // Obtain page table base\r
   FirstLevelTable = (ARM_FIRST_LEVEL_DESCRIPTOR *)ArmGetTTBR0BaseAddress ();\r
 \r
-  // calculate number of 4KB page table entries to change\r
+  // Calculate number of 4KB page table entries to change\r
   NumPageEntries = Length / TT_DESCRIPTOR_PAGE_SIZE;\r
   \r
-  // iterate for the number of 4KB pages to change\r
+  // Iterate for the number of 4KB pages to change\r
   Offset = 0;\r
-  for(p=0; p<NumPageEntries; p++) {\r
-    // calculate index into first level translation table for page table value\r
+  for(p = 0; p < NumPageEntries; p++) {\r
+    // Calculate index into first level translation table for page table value\r
     \r
     FirstLevelIdx = TT_DESCRIPTOR_SECTION_BASE_ADDRESS(BaseAddress + Offset) >> TT_DESCRIPTOR_SECTION_BASE_SHIFT;\r
     ASSERT (FirstLevelIdx < TRANSLATION_TABLE_SECTION_COUNT);\r
 \r
-    // read the descriptor from the first level page table\r
+    // Read the descriptor from the first level page table\r
     Descriptor = FirstLevelTable[FirstLevelIdx];\r
 \r
-    // does this descriptor need to be converted from section entry to 4K pages?\r
+    // Does this descriptor need to be converted from section entry to 4K pages?\r
     if (!TT_DESCRIPTOR_SECTION_TYPE_IS_PAGE_TABLE(Descriptor)) {\r
       Status = ConvertSectionToPages (FirstLevelIdx << TT_DESCRIPTOR_SECTION_BASE_SHIFT);\r
       if (EFI_ERROR(Status)) {\r
-        // exit for loop\r
+        // Exit for loop\r
         break; \r
       } \r
       \r
-      // re-read descriptor\r
+      // Re-read descriptor\r
       Descriptor = FirstLevelTable[FirstLevelIdx];\r
     }\r
 \r
-    // obtain page table base address\r
+    // Obtain page table base address\r
     PageTable = (ARM_PAGE_TABLE_ENTRY *)TT_DESCRIPTOR_PAGE_BASE_ADDRESS(Descriptor);\r
 \r
-    // calculate index into the page table\r
+    // Calculate index into the page table\r
     PageTableIndex = ((BaseAddress + Offset) & TT_DESCRIPTOR_PAGE_INDEX_MASK) >> TT_DESCRIPTOR_PAGE_BASE_SHIFT;\r
     ASSERT (PageTableIndex < TRANSLATION_TABLE_PAGE_COUNT);\r
 \r
-    // get the entry\r
+    // Get the entry\r
     CurrentPageTableEntry = PageTable[PageTableIndex];\r
 \r
-    // mask off appropriate fields\r
+    // Mask off appropriate fields\r
     PageTableEntry = CurrentPageTableEntry & ~EntryMask;\r
 \r
-    // mask in new attributes and/or permissions\r
+    // Mask in new attributes and/or permissions\r
     PageTableEntry |= EntryValue;\r
 \r
     if (VirtualMask != 0) {\r
@@ -609,7 +609,7 @@ UpdatePageEntries (
     Status = EFI_SUCCESS;\r
     Offset += TT_DESCRIPTOR_PAGE_SIZE;\r
     \r
-  } // end first level translation table loop\r
+  } // End first level translation table loop\r
 \r
   return Status;\r
 }\r
@@ -815,23 +815,24 @@ SetMemoryAttributes (
   EFI_STATUS    Status;\r
   \r
   if(((BaseAddress & 0xFFFFF) == 0) && ((Length & 0xFFFFF) == 0)) {\r
-    // is the base and length a multiple of 1 MB?\r
+    // Is the base and length a multiple of 1 MB?\r
     DEBUG ((EFI_D_PAGE, "SetMemoryAttributes(): MMU section 0x%x length 0x%x to %lx\n", (UINTN)BaseAddress, (UINTN)Length, Attributes));\r
     Status = UpdateSectionEntries (BaseAddress, Length, Attributes, VirtualMask);\r
   } else {\r
-    // base and/or length is not a multiple of 1 MB\r
+    // Base and/or length is not a multiple of 1 MB\r
     DEBUG ((EFI_D_PAGE, "SetMemoryAttributes(): MMU page 0x%x length 0x%x to %lx\n", (UINTN)BaseAddress, (UINTN)Length, Attributes));\r
     Status = UpdatePageEntries (BaseAddress, Length, Attributes, VirtualMask);\r
   }\r
 \r
-  // flush d-cache so descriptors make it back to uncached memory for subsequent table walks\r
+  // Flush d-cache so descriptors make it back to uncached memory for subsequent table walks\r
   // flush and invalidate pages\r
+  //TODO: Do we really need to invalidate the caches everytime we change the memory attributes ?\r
   ArmCleanInvalidateDataCache ();\r
-  \r
+\r
   ArmInvalidateInstructionCache ();\r
 \r
-  // invalidate all TLB entries so changes are synced\r
-  ArmInvalidateTlb (); \r
+  // Invalidate all TLB entries so changes are synced\r
+  ArmInvalidateTlb ();\r
 \r
   return Status;\r
 }\r
index e986ae7..5fab7ed 100644 (file)
@@ -15,6 +15,8 @@
 #ifndef __ARM_V7_H__\r
 #define __ARM_V7_H__\r
 \r
+#include <Chipset/ArmV7Mmu.h>\r
+\r
 // Domain Access Control Register\r
 #define DOMAIN_ACCESS_CONTROL_MASK(a)     (3UL << (2 * (a)))\r
 #define DOMAIN_ACCESS_CONTROL_NONE(a)     (0UL << (2 * (a)))\r
 #define DOMAIN_ACCESS_CONTROL_RESERVED(a) (2UL << (2 * (a)))\r
 #define DOMAIN_ACCESS_CONTROL_MANAGER(a)  (3UL << (2 * (a)))\r
 \r
-#define TTBR_NOT_OUTER_SHAREABLE             BIT5\r
-#define TTBR_RGN_OUTER_NON_CACHEABLE         0\r
-#define TTBR_RGN_OUTER_WRITE_BACK_ALLOC      BIT3\r
-#define TTBR_RGN_OUTER_WRITE_THROUGH         BIT4\r
-#define TTBR_RGN_OUTER_WRITE_BACK_NO_ALLOC   (BIT3|BIT4)\r
-#define TTBR_SHAREABLE                       BIT1\r
-#define TTBR_NON_SHAREABLE                   0\r
-#define TTBR_INNER_CACHEABLE                 BIT0\r
-#define TTBR_NON_INNER_CACHEABLE             BIT0\r
-#define TTBR_RGN_INNER_NON_CACHEABLE         0\r
-#define TTBR_RGN_INNER_WRITE_BACK_ALLOC      BIT6\r
-#define TTBR_RGN_INNER_WRITE_THROUGH         BIT0\r
-#define TTBR_RGN_INNER_WRITE_BACK_NO_ALLOC   (BIT0|BIT6)\r
-\r
-#define TTBR_WRITE_THROUGH_NO_ALLOC     ( TTBR_RGN_OUTER_WRITE_BACK_ALLOC | TTBR_RGN_INNER_WRITE_BACK_ALLOC )\r
-#define TTBR_WRITE_BACK_NO_ALLOC        ( TTBR_RGN_OUTER_WRITE_BACK_NO_ALLOC | TTBR_RGN_INNER_WRITE_BACK_NO_ALLOC )\r
-#define TTBR_NON_CACHEABLE              ( TTBR_RGN_OUTER_NON_CACHEABLE | TTBR_RGN_INNER_NON_CACHEABLE )\r
-#define TTBR_WRITE_BACK_ALLOC           ( TTBR_RGN_OUTER_WRITE_BACK_ALLOC | TTBR_RGN_INNER_WRITE_BACK_ALLOC )\r
-\r
-\r
-#define TRANSLATION_TABLE_SECTION_COUNT                 4096\r
-#define TRANSLATION_TABLE_SECTION_SIZE                  (sizeof(UINT32) * TRANSLATION_TABLE_SECTION_COUNT)\r
-#define TRANSLATION_TABLE_SECTION_ALIGNMENT             (sizeof(UINT32) * TRANSLATION_TABLE_SECTION_COUNT)\r
-#define TRANSLATION_TABLE_SECTION_ALIGNMENT_MASK        (TRANSLATION_TABLE_SECTION_ALIGNMENT - 1)\r
-\r
-#define TRANSLATION_TABLE_PAGE_COUNT                 256\r
-#define TRANSLATION_TABLE_PAGE_SIZE                  (sizeof(UINT32) * TRANSLATION_TABLE_PAGE_COUNT)\r
-#define TRANSLATION_TABLE_PAGE_ALIGNMENT             (sizeof(UINT32) * TRANSLATION_TABLE_PAGE_COUNT)\r
-#define TRANSLATION_TABLE_PAGE_ALIGNMENT_MASK        (TRANSLATION_TABLE_PAGE_ALIGNMENT - 1)\r
-\r
-#define TRANSLATION_TABLE_ENTRY_FOR_VIRTUAL_ADDRESS(table, address) ((UINT32 *)(table) + (((UINTN)(address)) >> 20))\r
-\r
-// Translation table descriptor types\r
-#define TT_DESCRIPTOR_SECTION_TYPE_MASK         ((1UL << 18) | (3UL << 0))\r
-#define TT_DESCRIPTOR_SECTION_TYPE_FAULT        (0UL << 0)\r
-#define TT_DESCRIPTOR_SECTION_TYPE_PAGE_TABLE   (1UL << 0)\r
-#define TT_DESCRIPTOR_SECTION_TYPE_SECTION      ((0UL << 18) | (2UL << 0))\r
-#define TT_DESCRIPTOR_SECTION_TYPE_SUPERSECTION ((1UL << 18) | (2UL << 0))\r
-#define TT_DESCRIPTOR_SECTION_TYPE_IS_PAGE_TABLE(Desc) (((Desc) & 3UL) == TT_DESCRIPTOR_SECTION_TYPE_PAGE_TABLE)\r
-\r
-// Translation table descriptor types\r
-#define TT_DESCRIPTOR_PAGE_TYPE_MASK         (3UL << 0)\r
-#define TT_DESCRIPTOR_PAGE_TYPE_FAULT        (0UL << 0)\r
-#define TT_DESCRIPTOR_PAGE_TYPE_PAGE         (2UL << 0)\r
-#define TT_DESCRIPTOR_PAGE_TYPE_PAGE_XN      (3UL << 0)\r
-#define TT_DESCRIPTOR_PAGE_TYPE_LARGEPAGE    (1UL << 0)\r
-\r
-// Section descriptor definitions\r
-#define TT_DESCRIPTOR_SECTION_SIZE                              (0x00100000)\r
-\r
-#define TT_DESCRIPTOR_SECTION_NS_MASK                           (1UL << 19)\r
-#define TT_DESCRIPTOR_SECTION_NS_SECURE                         (0UL << 19)\r
-#define TT_DESCRIPTOR_SECTION_NS_NON_SECURE                     (1UL << 19)\r
-\r
-#define TT_DESCRIPTOR_SECTION_NG_MASK                           (1UL << 17)\r
-#define TT_DESCRIPTOR_SECTION_NG_GLOBAL                         (0UL << 17)\r
-#define TT_DESCRIPTOR_SECTION_NG_LOCAL                          (1UL << 17)\r
-\r
-#define TT_DESCRIPTOR_PAGE_NG_MASK                              (1UL << 11)\r
-#define TT_DESCRIPTOR_PAGE_NG_GLOBAL                            (0UL << 11)\r
-#define TT_DESCRIPTOR_PAGE_NG_LOCAL                             (1UL << 11)\r
-\r
-#define TT_DESCRIPTOR_SECTION_S_MASK                            (1UL << 16)\r
-#define TT_DESCRIPTOR_SECTION_S_NOT_SHARED                      (0UL << 16)\r
-#define TT_DESCRIPTOR_SECTION_S_SHARED                          (1UL << 16)\r
-\r
-#define TT_DESCRIPTOR_PAGE_S_MASK                               (1UL << 10)\r
-#define TT_DESCRIPTOR_PAGE_S_NOT_SHARED                         (0UL << 10)\r
-#define TT_DESCRIPTOR_PAGE_S_SHARED                             (1UL << 10)\r
-\r
-#define TT_DESCRIPTOR_SECTION_AP_MASK                           ((1UL << 15) | (3UL << 10))\r
-#define TT_DESCRIPTOR_SECTION_AP_NO_NO                          ((0UL << 15) | (0UL << 10))\r
-#define TT_DESCRIPTOR_SECTION_AP_RW_NO                          ((0UL << 15) | (1UL << 10))\r
-#define TT_DESCRIPTOR_SECTION_AP_RW_RO                          ((0UL << 15) | (2UL << 10))\r
-#define TT_DESCRIPTOR_SECTION_AP_RW_RW                          ((0UL << 15) | (3UL << 10))\r
-#define TT_DESCRIPTOR_SECTION_AP_RO_NO                          ((1UL << 15) | (1UL << 10))\r
-#define TT_DESCRIPTOR_SECTION_AP_RO_RO                          ((1UL << 15) | (3UL << 10))\r
-\r
-#define TT_DESCRIPTOR_PAGE_AP_MASK                              ((1UL << 9) | (3UL << 4))\r
-#define TT_DESCRIPTOR_PAGE_AP_NO_NO                             ((0UL << 9) | (0UL << 4))\r
-#define TT_DESCRIPTOR_PAGE_AP_RW_NO                             ((0UL << 9) | (1UL << 4))\r
-#define TT_DESCRIPTOR_PAGE_AP_RW_RO                             ((0UL << 9) | (2UL << 4))\r
-#define TT_DESCRIPTOR_PAGE_AP_RW_RW                             ((0UL << 9) | (3UL << 4))\r
-#define TT_DESCRIPTOR_PAGE_AP_RO_NO                             ((1UL << 9) | (1UL << 4))\r
-#define TT_DESCRIPTOR_PAGE_AP_RO_RO                             ((1UL << 9) | (3UL << 4))\r
-\r
-#define TT_DESCRIPTOR_SECTION_XN_MASK                           (0x1UL << 4)\r
-#define TT_DESCRIPTOR_PAGE_XN_MASK                              (0x1UL << 0)\r
-#define TT_DESCRIPTOR_LARGEPAGE_XN_MASK                         (0x1UL << 15)\r
-\r
-#define TT_DESCRIPTOR_SECTION_CACHE_POLICY_MASK                   ((3UL << 12) | (1UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_SECTION_CACHEABLE_MASK                      (1UL << 3)\r
-#define TT_DESCRIPTOR_SECTION_CACHE_POLICY_STRONGLY_ORDERED       ((0UL << 12) | (0UL << 3) | (0UL << 2))\r
-#define TT_DESCRIPTOR_SECTION_CACHE_POLICY_SHAREABLE_DEVICE       ((0UL << 12) | (0UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_SECTION_CACHE_POLICY_WRITE_THROUGH_NO_ALLOC ((0UL << 12) | (1UL << 3) | (0UL << 2))\r
-#define TT_DESCRIPTOR_SECTION_CACHE_POLICY_WRITE_BACK_NO_ALLOC    ((0UL << 12) | (1UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_SECTION_CACHE_POLICY_NON_CACHEABLE          ((1UL << 12) | (0UL << 3) | (0UL << 2))\r
-#define TT_DESCRIPTOR_SECTION_CACHE_POLICY_WRITE_BACK_ALLOC       ((1UL << 12) | (1UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_SECTION_CACHE_POLICY_NON_SHAREABLE_DEVICE   ((2UL << 12) | (0UL << 3) | (0UL << 2))\r
-\r
-#define TT_DESCRIPTOR_PAGE_SIZE                               (0x00001000)\r
-\r
-#define TT_DESCRIPTOR_PAGE_CACHE_POLICY_MASK                   ((3UL << 6) | (1UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_PAGE_CACHEABLE_MASK                       (1UL << 3)\r
-#define TT_DESCRIPTOR_PAGE_CACHE_POLICY_STRONGLY_ORDERED       ((0UL << 6) | (0UL << 3) | (0UL << 2))\r
-#define TT_DESCRIPTOR_PAGE_CACHE_POLICY_SHAREABLE_DEVICE       ((0UL << 6) | (0UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_PAGE_CACHE_POLICY_WRITE_THROUGH_NO_ALLOC ((0UL << 6) | (1UL << 3) | (0UL << 2))\r
-#define TT_DESCRIPTOR_PAGE_CACHE_POLICY_WRITE_BACK_NO_ALLOC    ((0UL << 6) | (1UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_PAGE_CACHE_POLICY_NON_CACHEABLE          ((1UL << 6) | (0UL << 3) | (0UL << 2))\r
-#define TT_DESCRIPTOR_PAGE_CACHE_POLICY_WRITE_BACK_ALLOC       ((1UL << 6) | (1UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_PAGE_CACHE_POLICY_NON_SHAREABLE_DEVICE   ((2UL << 6) | (0UL << 3) | (0UL << 2))\r
-\r
-#define TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_MASK                   ((3UL << 12) | (1UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_STRONGLY_ORDERED       ((0UL << 12) | (0UL << 3) | (0UL << 2))\r
-#define TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_SHAREABLE_DEVICE       ((0UL << 12) | (0UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_WRITE_THROUGH_NO_ALLOC ((0UL << 12) | (1UL << 3) | (0UL << 2))\r
-#define TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_WRITE_BACK_NO_ALLOC    ((0UL << 12) | (1UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_NON_CACHEABLE          ((1UL << 12) | (0UL << 3) | (0UL << 2))\r
-#define TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_WRITE_BACK_ALLOC       ((1UL << 12) | (1UL << 3) | (1UL << 2))\r
-#define TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_NON_SHAREABLE_DEVICE   ((2UL << 12) | (0UL << 3) | (0UL << 2))\r
-\r
-#define TT_DESCRIPTOR_CONVERT_TO_PAGE_AP(Desc)                  ((((Desc) & TT_DESCRIPTOR_SECTION_AP_MASK) >> 6) & TT_DESCRIPTOR_PAGE_AP_MASK)\r
-#define TT_DESCRIPTOR_CONVERT_TO_PAGE_NG(Desc)                  ((((Desc) & TT_DESCRIPTOR_SECTION_NG_MASK) >> 6) & TT_DESCRIPTOR_PAGE_NG_MASK)\r
-#define TT_DESCRIPTOR_CONVERT_TO_PAGE_S(Desc)                  ((((Desc) & TT_DESCRIPTOR_SECTION_S_MASK) >> 6) & TT_DESCRIPTOR_PAGE_S_MASK)\r
-#define TT_DESCRIPTOR_CONVERT_TO_PAGE_XN(Desc,IsLargePage)      ((IsLargePage)? \\r
-                                                                    ((((Desc) & TT_DESCRIPTOR_SECTION_XN_MASK) >> 4) & TT_DESCRIPTOR_LARGEPAGE_XN_MASK):    \\r
-                                                                    ((((Desc) & TT_DESCRIPTOR_SECTION_XN_MASK) << 11) & TT_DESCRIPTOR_PAGE_XN_MASK))\r
-#define TT_DESCRIPTOR_CONVERT_TO_PAGE_CACHE_POLICY(Desc,IsLargePage)      (IsLargePage? \\r
-                                                                    (((Desc) & TT_DESCRIPTOR_SECTION_CACHE_POLICY_MASK) & TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_MASK): \\r
-                                                                    (((((Desc) & (0x3 << 12)) >> 6) | (Desc & (0x3 << 2)))))\r
-\r
-#define TT_DESCRIPTOR_CONVERT_TO_SECTION_AP(Desc)                  ((((Desc) & TT_DESCRIPTOR_PAGE_AP_MASK) << 6) & TT_DESCRIPTOR_SECTION_AP_MASK)\r
-\r
-#define TT_DESCRIPTOR_CONVERT_TO_SECTION_CACHE_POLICY(Desc,IsLargePage)      (IsLargePage? \\r
-                                                                    (((Desc) & TT_DESCRIPTOR_LARGEPAGE_CACHE_POLICY_MASK) & TT_DESCRIPTOR_SECTION_CACHE_POLICY_MASK): \\r
-                                                                    (((((Desc) & (0x3 << 6)) << 6) | (Desc & (0x3 << 2)))))\r
-\r
-\r
-#define TT_DESCRIPTOR_SECTION_DOMAIN_MASK                       (0x0FUL << 5)\r
-#define TT_DESCRIPTOR_SECTION_DOMAIN(a)                         (((a) & 0x0FUL) << 5)\r
-\r
-#define TT_DESCRIPTOR_SECTION_BASE_ADDRESS_MASK                 (0xFFF00000)\r
-#define TT_DESCRIPTOR_SECTION_PAGETABLE_ADDRESS_MASK            (0xFFFFFC00)\r
-#define TT_DESCRIPTOR_SECTION_BASE_ADDRESS(a)                   ((a) & TT_DESCRIPTOR_SECTION_BASE_ADDRESS_MASK)\r
-#define TT_DESCRIPTOR_SECTION_BASE_SHIFT                        20\r
-\r
-#define TT_DESCRIPTOR_PAGE_BASE_ADDRESS_MASK                 (0xFFFFF000)\r
-#define TT_DESCRIPTOR_PAGE_INDEX_MASK                        (0x000FF000)\r
-#define TT_DESCRIPTOR_PAGE_BASE_ADDRESS(a)                   ((a) & TT_DESCRIPTOR_PAGE_BASE_ADDRESS_MASK)\r
-#define TT_DESCRIPTOR_PAGE_BASE_SHIFT                        12\r
-\r
-#define TT_DESCRIPTOR_SECTION_WRITE_BACK(Secure)       (TT_DESCRIPTOR_SECTION_TYPE_SECTION                                                           | \\r
-                                                        ((Secure) ?  TT_DESCRIPTOR_SECTION_NS_SECURE : TT_DESCRIPTOR_SECTION_NS_NON_SECURE )    | \\r
-                                                                     TT_DESCRIPTOR_SECTION_NG_GLOBAL                         | \\r
-                                                                     TT_DESCRIPTOR_SECTION_S_NOT_SHARED                      | \\r
-                                                                     TT_DESCRIPTOR_SECTION_DOMAIN(0)                         | \\r
-                                                                     TT_DESCRIPTOR_SECTION_AP_RW_RW                          | \\r
-                                                                     TT_DESCRIPTOR_SECTION_CACHE_POLICY_WRITE_BACK_ALLOC)\r
-#define TT_DESCRIPTOR_SECTION_WRITE_THROUGH(Secure)    (TT_DESCRIPTOR_SECTION_TYPE_SECTION                                                           | \\r
-                                                        ((Secure) ?  TT_DESCRIPTOR_SECTION_NS_SECURE : TT_DESCRIPTOR_SECTION_NS_NON_SECURE )    | \\r
-                                                                     TT_DESCRIPTOR_SECTION_NG_GLOBAL                         | \\r
-                                                                     TT_DESCRIPTOR_SECTION_S_NOT_SHARED                      | \\r
-                                                                     TT_DESCRIPTOR_SECTION_DOMAIN(0)                         | \\r
-                                                                     TT_DESCRIPTOR_SECTION_AP_RW_RW                          | \\r
-                                                                     TT_DESCRIPTOR_SECTION_CACHE_POLICY_WRITE_THROUGH_NO_ALLOC)\r
-#define TT_DESCRIPTOR_SECTION_DEVICE(Secure)           (TT_DESCRIPTOR_SECTION_TYPE_SECTION                                                           | \\r
-                                                        ((Secure) ?  TT_DESCRIPTOR_SECTION_NS_SECURE : TT_DESCRIPTOR_SECTION_NS_NON_SECURE )    | \\r
-                                                                     TT_DESCRIPTOR_SECTION_NG_GLOBAL                         | \\r
-                                                                     TT_DESCRIPTOR_SECTION_S_NOT_SHARED                      | \\r
-                                                                     TT_DESCRIPTOR_SECTION_DOMAIN(0)                         | \\r
-                                                                     TT_DESCRIPTOR_SECTION_AP_RW_RW                          | \\r
-                                                                     TT_DESCRIPTOR_SECTION_CACHE_POLICY_SHAREABLE_DEVICE)\r
-#define TT_DESCRIPTOR_SECTION_UNCACHED(Secure)         (TT_DESCRIPTOR_SECTION_TYPE_SECTION                                                           | \\r
-                                                        ((Secure) ?  TT_DESCRIPTOR_SECTION_NS_SECURE : TT_DESCRIPTOR_SECTION_NS_NON_SECURE )    | \\r
-                                                                     TT_DESCRIPTOR_SECTION_NG_GLOBAL                         | \\r
-                                                                     TT_DESCRIPTOR_SECTION_S_NOT_SHARED                      | \\r
-                                                                     TT_DESCRIPTOR_SECTION_DOMAIN(0)                         | \\r
-                                                                     TT_DESCRIPTOR_SECTION_AP_RW_RW                          | \\r
-                                                                     TT_DESCRIPTOR_SECTION_CACHE_POLICY_NON_CACHEABLE)\r
-\r
-#define TT_DESCRIPTOR_PAGE_WRITE_BACK              (TT_DESCRIPTOR_PAGE_TYPE_PAGE                                                           | \\r
-                                                        TT_DESCRIPTOR_PAGE_NG_GLOBAL                                                      | \\r
-                                                        TT_DESCRIPTOR_PAGE_S_NOT_SHARED                                                   | \\r
-                                                        TT_DESCRIPTOR_PAGE_AP_RW_RW                                                       | \\r
-                                                        TT_DESCRIPTOR_PAGE_CACHE_POLICY_WRITE_BACK_ALLOC)\r
-#define TT_DESCRIPTOR_PAGE_WRITE_THROUGH           (TT_DESCRIPTOR_PAGE_TYPE_PAGE                                                           | \\r
-                                                        TT_DESCRIPTOR_PAGE_NG_GLOBAL                                                      | \\r
-                                                        TT_DESCRIPTOR_PAGE_S_NOT_SHARED                                                   | \\r
-                                                        TT_DESCRIPTOR_PAGE_AP_RW_RW                                                       | \\r
-                                                        TT_DESCRIPTOR_PAGE_CACHE_POLICY_WRITE_THROUGH_NO_ALLOC)\r
-#define TT_DESCRIPTOR_PAGE_DEVICE                  (TT_DESCRIPTOR_PAGE_TYPE_PAGE                                                           | \\r
-                                                        TT_DESCRIPTOR_PAGE_NG_GLOBAL                                                      | \\r
-                                                        TT_DESCRIPTOR_PAGE_S_NOT_SHARED                                                   | \\r
-                                                        TT_DESCRIPTOR_PAGE_AP_RW_RW                                                       | \\r
-                                                        TT_DESCRIPTOR_PAGE_CACHE_POLICY_SHAREABLE_DEVICE)\r
-#define TT_DESCRIPTOR_PAGE_UNCACHED                (TT_DESCRIPTOR_PAGE_TYPE_PAGE                                                           | \\r
-                                                        TT_DESCRIPTOR_PAGE_NG_GLOBAL                                                      | \\r
-                                                        TT_DESCRIPTOR_PAGE_S_NOT_SHARED                                                   | \\r
-                                                        TT_DESCRIPTOR_PAGE_AP_RW_RW                                                       | \\r
-                                                        TT_DESCRIPTOR_PAGE_CACHE_POLICY_NON_CACHEABLE)\r
-\r
 // Cortex A9 feature bit definitions\r
 #define A9_FEATURE_PARITY  (1<<9)\r
 #define A9_FEATURE_AOW     (1<<8)\r
 #define SMP_GIC_CPUIF_BASE       0x100\r
 #define SMP_GIC_DIST_BASE        0x1000\r
 \r
-// CPACR - Coprocessor Access Control Register defintions\r
+// CPACR - Coprocessor Access Control Register definitions\r
 #define CPACR_CP_DENIED(cp)     0x00\r
 #define CPACR_CP_PRIV(cp)       ((0x1 << ((cp) << 1)) & 0x0FFFFFFF)\r
 #define CPACR_CP_FULL(cp)       ((0x3 << ((cp) << 1)) & 0x0FFFFFFF)\r
 #define CPACR_D32DIS            (1 << 30)\r
 #define CPACR_CP_FULL_ACCESS    0x0FFFFFFF\r
 \r
-// NSACR - Non-Secure Access Control Register defintions\r
+// NSACR - Non-Secure Access Control Register definitions\r
 #define NSACR_CP(cp)            ((1 << (cp)) & 0x3FFF)\r
 #define NSACR_NSD32DIS          (1 << 14)\r
 #define NSACR_NSASEDIS          (1 << 15)\r
 #define NSACR_NS_SMP            (1 << 18)\r
 #define NSACR_RFR               (1 << 19)\r
 \r
-// SCR - Secure Configuration Register defintions\r
+// SCR - Secure Configuration Register definitions\r
 #define SCR_NS                  (1 << 0)\r
 #define SCR_IRQ                 (1 << 1)\r
 #define SCR_FIQ                 (1 << 2)\r
@@ -330,7 +131,6 @@ ArmInvalidScu (
   VOID\r
   );\r
 \r
-\r
 UINTN\r
 EFIAPI\r
 ArmGetScuBaseAddress (\r
@@ -367,7 +167,6 @@ ArmSetupSmpNonSecure (
   IN  UINTN                     CoreId\r
   );\r
 \r
-\r
 UINTN \r
 EFIAPI\r
 ArmReadCbar (\r
@@ -387,14 +186,12 @@ ArmReadMpidr (
   VOID\r
   );\r
 \r
-\r
 UINTN\r
 EFIAPI\r
 ArmReadTpidrurw (\r
   VOID\r
   );\r
 \r
-\r
 VOID\r
 EFIAPI\r
 ArmWriteTpidrurw (\r
index 8eeb6a2..bcc8754 100644 (file)
 /**\r
     FIXME: Need documentation\r
 **/\r
-EFI_STATUS TZPCSetDecProtBits(UINTN tzpc_base, UINTN tzpc_id, UINTN bits);\r
+EFI_STATUS\r
+TZPCSetDecProtBits (\r
+  IN  UINTN TzpcBase,\r
+  IN  UINTN TzpcId,\r
+  IN  UINTN Bits\r
+  );\r
 \r
 /**\r
     FIXME: Need documentation\r
 **/\r
-EFI_STATUS TZPCClearDecProtBits(UINTN tzpc_base, UINTN tzpc_id, UINTN bits);\r
+EFI_STATUS\r
+TZPCClearDecProtBits (\r
+  IN  UINTN TzpcBase,\r
+  IN  UINTN TzpcId,\r
+  IN  UINTN Bits\r
+  );\r
 \r
 // Setup TZ Address Space Controller\r
 #define TZASC_REGION_ENABLED        1\r
@@ -64,6 +74,15 @@ EFI_STATUS TZPCClearDecProtBits(UINTN tzpc_base, UINTN tzpc_id, UINTN bits);
 /**\r
     FIXME: Need documentation\r
 **/\r
-EFI_STATUS TZASCSetRegion(UINTN tzasc_base, UINTN region_id, UINTN enabled, UINTN low_address, UINTN high_address, UINTN size, UINTN security);\r
+EFI_STATUS\r
+TZASCSetRegion (\r
+  IN  INTN  TzascBase,\r
+  IN  UINTN RegionId,\r
+  IN  UINTN Enabled,\r
+  IN  UINTN LowAddress,\r
+  IN  UINTN HighAddress,\r
+  IN  UINTN Size,\r
+  IN  UINTN Security\r
+  );\r
 \r
 #endif\r
index 56d1311..8319441 100644 (file)
 /**\r
     FIXME: Need documentation\r
 **/\r
-EFI_STATUS TZPCSetDecProtBits(UINTN TzpcBase, UINTN TzpcId, UINTN Bits) {\r
-    if (TzpcId > TZPC_DECPROT_MAX) {\r
-        return EFI_INVALID_PARAMETER;\r
-    }\r
+EFI_STATUS\r
+TZPCSetDecProtBits (\r
+  IN  UINTN TzpcBase,\r
+  IN  UINTN TzpcId,\r
+  IN  UINTN Bits\r
+  )\r
+{\r
+  if (TzpcId > TZPC_DECPROT_MAX) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
 \r
-    MmioWrite32((UINTN)TzpcBase + TZPC_DECPROT0_SET_REG + (TzpcId * 0x0C), Bits);\r
+  MmioWrite32 ((UINTN)TzpcBase + TZPC_DECPROT0_SET_REG + (TzpcId * 0x0C), Bits);\r
 \r
-    return EFI_SUCCESS;\r
+  return EFI_SUCCESS;\r
 }\r
 \r
 /**\r
     FIXME: Need documentation\r
 **/\r
-EFI_STATUS TZPCClearDecProtBits(UINTN TzpcBase, UINTN TzpcId, UINTN Bits) {\r
-    if (TzpcId> TZPC_DECPROT_MAX) {\r
-        return EFI_INVALID_PARAMETER;\r
-    }\r
+EFI_STATUS\r
+TZPCClearDecProtBits (\r
+  IN  UINTN TzpcBase,\r
+  IN  UINTN TzpcId,\r
+  IN  UINTN Bits\r
+  )\r
+{\r
+  if (TzpcId> TZPC_DECPROT_MAX) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
 \r
-    MmioWrite32((UINTN)TzpcBase + TZPC_DECPROT0_CLEAR_REG + (TzpcId * 0x0C), Bits);\r
+  MmioWrite32 ((UINTN)TzpcBase + TZPC_DECPROT0_CLEAR_REG + (TzpcId * 0x0C), Bits);\r
 \r
-    return EFI_SUCCESS;\r
+  return EFI_SUCCESS;\r
 }\r
 \r
 /**\r
     FIXME: Need documentation\r
 **/\r
-UINT32 TZASCGetNumRegions(UINTN TzascBase) {\r
-    return (MmioRead32((UINTN)TzascBase + TZASC_CONFIGURATION_REG) & 0xF);\r
+UINT32\r
+TZASCGetNumRegions (\r
+  IN UINTN TzascBase\r
+  )\r
+{\r
+  return (MmioRead32 ((UINTN)TzascBase + TZASC_CONFIGURATION_REG) & 0xF);\r
 }\r
 \r
 /**\r
     FIXME: Need documentation\r
 **/\r
-EFI_STATUS TZASCSetRegion(UINTN TzascBase, UINTN RegionId, UINTN Enabled, UINTN LowAddress, UINTN HighAddress, UINTN Size, UINTN Security) {\r
-    UINT32*     Region;\r
+EFI_STATUS\r
+TZASCSetRegion (\r
+  IN  INTN  TzascBase,\r
+  IN  UINTN RegionId,\r
+  IN  UINTN Enabled,\r
+  IN  UINTN LowAddress,\r
+  IN  UINTN HighAddress,\r
+  IN  UINTN Size,\r
+  IN  UINTN Security\r
+  )\r
+{\r
+  UINT32*     Region;\r
 \r
-    if (RegionId > TZASCGetNumRegions(TzascBase)) {\r
-        return EFI_INVALID_PARAMETER;\r
-    }\r
+  if (RegionId > TZASCGetNumRegions(TzascBase)) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
 \r
-    Region = (UINT32*)((UINTN)TzascBase + TZASC_REGIONS_REG + (RegionId * 0x10));\r
+  Region = (UINT32*)((UINTN)TzascBase + TZASC_REGIONS_REG + (RegionId * 0x10));\r
 \r
-    MmioWrite32((UINTN)(Region), LowAddress&0xFFFF8000);\r
+  MmioWrite32((UINTN)(Region), LowAddress&0xFFFF8000);\r
   MmioWrite32((UINTN)(Region+1), HighAddress);\r
   MmioWrite32((UINTN)(Region+2), ((Security & 0xF) <<28) | ((Size & 0x3F) << 1) | (Enabled & 0x1));\r
 \r
-    return EFI_SUCCESS;\r
+  return EFI_SUCCESS;\r
 }\r
index e969dfa..07e31ea 100644 (file)
@@ -33,8 +33,6 @@ typedef struct {
   CHAR8   Char;\r
 } CPSR_CHAR;\r
 \r
-\r
-\r
  \r
 /**\r
   Use the EFI Debug Image Table to lookup the FaultAddress and find which PE/COFF image \r
@@ -61,7 +59,6 @@ GetImageName (
   UINTN                 Entry;\r
   CHAR8                 *Address;\r
 \r
-  \r
   DebugTable = gDebugImageTableHeader->EfiDebugImageInfoTable;\r
   if (DebugTable == NULL) {\r
     return NULL;\r
@@ -102,9 +99,9 @@ CpsrString (
   OUT CHAR8   *ReturnStr\r
   )\r
 {\r
-  UINTN Index;\r
-  CHAR8 *Str = ReturnStr;\r
-  CHAR8 *ModeStr;\r
+  UINTN     Index;\r
+  CHAR8*    Str;\r
+  CHAR8*    ModeStr;\r
   CPSR_CHAR CpsrChar[] = {\r
     { 31, 'n' },\r
     { 30, 'z' },\r
@@ -119,6 +116,8 @@ CpsrString (
     { 0,  '?' }\r
   };\r
   \r
+  Str = ReturnStr;\r
+\r
   for (Index = 0; CpsrChar[Index].BIT != 0; Index++, Str++) {\r
     *Str = CpsrChar[Index].Char;\r
     if ((Cpsr & (1 << CpsrChar[Index].BIT)) != 0) {\r
@@ -194,8 +193,7 @@ FaultStatusToString (
   return FaultSource;\r
 }\r
 \r
-\r
-CHAR8 *gExceptionTypeString[] = {\r
+STATIC CHAR8 *gExceptionTypeString[] = {\r
   "Reset",\r
   "Undefined OpCode",\r
   "SWI",\r
@@ -206,7 +204,6 @@ CHAR8 *gExceptionTypeString[] = {
   "FIQ"\r
 };\r
 \r
-\r
 /**\r
   This is the default action to take on an unexpected exception\r
   \r
@@ -228,7 +225,7 @@ DefaultExceptionHandler (
   BOOLEAN   DfsrWrite;\r
   UINT32    PcAdjust = 0;\r
 \r
-  DEBUG ((EFI_D_ERROR, "\n%a Exception PC at 0x%08x  CPSR 0x%08x ", gExceptionTypeString[ExceptionType], SystemContext.SystemContextArm->PC, SystemContext.SystemContextArm->CPSR));\r
+  Print(L"\n%a Exception PC at 0x%08x  CPSR 0x%08x ", gExceptionTypeString[ExceptionType], SystemContext.SystemContextArm->PC, SystemContext.SystemContextArm->CPSR);\r
   DEBUG_CODE_BEGIN ();\r
     CHAR8   *Pdb;\r
     UINT32  ImageBase;\r
@@ -249,10 +246,10 @@ DefaultExceptionHandler (
 \r
       //\r
       // A PE/COFF image loads its headers into memory so the headers are \r
-      // included in the linked addressess. ELF and Mach-O images do not\r
+      // included in the linked addresses. ELF and Mach-O images do not\r
       // include the headers so the first byte of the image is usually\r
       // text (code). If you look at link maps from ELF or Mach-O images\r
-      // you need to subtact out the size of the PE/COFF header to get\r
+      // you need to subtract out the size of the PE/COFF header to get\r
       // get the offset that matches the link map. \r
       //\r
       DEBUG ((EFI_D_ERROR, "loaded at 0x%08x (PE/COFF offset) 0x%x (ELF or Mach-O offset) 0x%x", ImageBase, Offset, Offset - PeCoffSizeOfHeader));\r
index 531cfa1..161ac2d 100644 (file)
@@ -89,7 +89,7 @@ DeCygwinPathIfNeeded (
   Ptr[9]  = Ptr[10];\r
   Ptr[10] = ':';\r
   \r
-  // switch path seperators\r
+  // switch path separators\r
   for (Index = 11; Index < Len; Index++) {\r
     if (Ptr[Index] == '/') {\r
       Ptr[Index] = '\\' ;\r
index 833ddce..65b4977 100644 (file)
-#/** @file
-# Arm Versatile Express package.
-#
-#  Copyright (c) 2011, ARM Limited. All rights reserved.
-#  
-#  This program and the accompanying materials                          
-#  are licensed and made available under the terms and conditions of the BSD License         
-#  which accompanies this distribution.  The full text of the license may be found at        
-#  http://opensource.org/licenses/bsd-license.php                                            
-#
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
-#
-#**/
-
-[Defines]
-  DEC_SPECIFICATION              = 0x00010005
-  PACKAGE_NAME                   = ArmPlatformPkg
-  PACKAGE_GUID                   = 3308e0a0-1d94-11e0-915c-0002a5d5c51b 
-  PACKAGE_VERSION                = 0.1
-
-################################################################################
-#
-# Include Section - list of Include Paths that are provided by this package.
-#                   Comments are used for Keywords and Module Types.
-#
-# Supported Module Types:
-#  BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
-#
-################################################################################
-[Includes.common]
-  Include                        # Root include for the package
-
-[Guids.common]
-  gArmPlatformTokenSpaceGuid    =  { 0x9c0aaed4, 0x74c5, 0x4043, { 0xb4, 0x17, 0xa3, 0x22, 0x38, 0x14, 0xce, 0x76 } }
-  #
-  # Following Guid must match FILE_GUID in MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
-  #
-  gVariableRuntimeDxeFileGuid = { 0xcbd2e4d5, 0x7068, 0x4ff5, { 0xb4, 0x62, 0x98, 0x22, 0xb4, 0xad, 0x8d, 0x60 } }
-
-[PcdsFeatureFlag.common]
-  # Set this PCD to TRUE to map NORFlash at 0x0. FALSE means the DRAM is mapped at 0x0.
-  gArmPlatformTokenSpaceGuid.PcdNorFlashRemapping|FALSE|BOOLEAN|0x00000012
-  
-  gArmPlatformTokenSpaceGuid.PcdStandalone|TRUE|BOOLEAN|0x00000001
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|FALSE|BOOLEAN|0x00000002
-  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|FALSE|BOOLEAN|0x00000004
-  
-
-[PcdsFixedAtBuild.common]
-  # These PCDs should be FeaturePcds. But we used these PCDs as an '#if' in an ASM file.
-  # Using a FeaturePcd make a '(BOOLEAN) casting for its value which is not understood by the preprocessor.
-  gArmPlatformTokenSpaceGuid.PcdMPCoreSupport|0|UINT32|0x00000003
-  gArmPlatformTokenSpaceGuid.PcdMPCoreMaxCores|1|UINT32|0x0000002D
-  
-  # Stack for CPU Cores in Secure Mode
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0|UINT32|0x00000005
-  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecStackSize|0|UINT32|0x00000006
-
-  # Stack for CPU Cores in Secure Monitor Mode
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0|UINT32|0x00000007
-  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0|UINT32|0x00000008
-
-  # Stack for CPU Cores in Non Secure Mode
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase|0|UINT32|0x00000009
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize|0|UINT32|0x0000000A
-    
-  # Size of the region used by UEFI in permanent memory (Reserved 128MB by default)
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x08000000|UINT32|0x00000015
-
-  # Size to reserve in the primary core stack for PEI Global Variables
-  #  = sizeof(UINTN) /* PcdPeiServicePtr or HobListPtr */
-  gArmPlatformTokenSpaceGuid.PcdPeiGlobalVariableSize|0x4|UINT32|0x00000016
-  # PeiServicePtr and HobListPtr shares the same location in the PEI Global Variable list
-  # PeiServicePtr is only valid with PEI Core and HobListPtr only when the PEI Core is skipped. 
-  gArmPlatformTokenSpaceGuid.PcdPeiServicePtrGlobalOffset|0x0|UINT32|0x00000017
-  gArmPlatformTokenSpaceGuid.PcdHobListPtrGlobalOffset|0x0|UINT32|0x00000018
-
-  #
-  # ARM Primecells
-  #
-
-  ## SP804 DualTimer
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerFrequencyInMHz|1|UINT32|0x0000001D
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicInterruptNum|0|UINT32|0x0000001E
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0|UINT32|0x0000002A
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0|UINT32|0x0000002B
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0|UINT32|0x0000002C
-
-  ## SP805 Watchdog
-  gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x0|UINT32|0x00000023
-  gArmPlatformTokenSpaceGuid.PcdSP805WatchdogClockFrequencyInHz|32000|UINT32|0x00000021
-
-  ## PL011 UART
-  gArmPlatformTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0x00000000|UINT32|0x0000001F
-  gArmPlatformTokenSpaceGuid.PcdUartDefaultTimeout|0x00000000|UINT32|0x00000020
-
-  ## PL031 RealTimeClock
-  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0|UINT32|0x00000024
-  gArmPlatformTokenSpaceGuid.PcdPL031RtcPpmAccuracy|300000000|UINT32|0x00000022
-
-  ## PL061 GPIO
-  gArmPlatformTokenSpaceGuid.PcdPL061GpioBase|0x0|UINT32|0x00000025
-  
-  ## PL111 Lcd
-  gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x0|UINT32|0x00000026
-  gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase|0x0|UINT32|0x00000027
-  
-  ## PL180 MCI
-  gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x00000000|UINT32|0x00000028
-  gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x00000000|UINT32|0x00000029
-
-  #
-  # BDS - Boot Manager
-  #
-  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Platform"|VOID*|0x00000019
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Default Boot Device"|VOID*|0x0000000C
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L""|VOID*|0x0000000D
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootInitrdPath|L""|VOID*|0x0000000E
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|""|VOID*|0x000000F
-  # PcdDefaultBootType define the type of the binary pointed by PcdDefaultBootDevicePath: 
-  #  - 0 = an EFI application
-  #  - 1 = a Linux kernel with ATAG support
-  #  - 2 = a Linux kernel with FDT support
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0|UINT32|0x00000010
-  gArmPlatformTokenSpaceGuid.PcdFdtDevicePath|L""|VOID*|0x00000011
-  
-  ## Timeout value for displaying progressing bar in before boot OS.
-  #  According to UEFI 2.0 spec, the default TimeOut should be 0xffff.
-  gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x0000001A
-  
-  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L""|VOID*|0x0000001B
-  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L""|VOID*|0x0000001C
-  
+#/** @file\r
+#\r
+#  Copyright (c) 2011, ARM Limited. All rights reserved.\r
+#  \r
+#  This program and the accompanying materials                          \r
+#  are licensed and made available under the terms and conditions of the BSD License         \r
+#  which accompanies this distribution.  The full text of the license may be found at        \r
+#  http://opensource.org/licenses/bsd-license.php                                            \r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+#\r
+#**/\r
+\r
+[Defines]\r
+  DEC_SPECIFICATION              = 0x00010005\r
+  PACKAGE_NAME                   = ArmPlatformPkg\r
+  PACKAGE_GUID                   = 3308e0a0-1d94-11e0-915c-0002a5d5c51b \r
+  PACKAGE_VERSION                = 0.1\r
+\r
+################################################################################\r
+#\r
+# Include Section - list of Include Paths that are provided by this package.\r
+#                   Comments are used for Keywords and Module Types.\r
+#\r
+# Supported Module Types:\r
+#  BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION\r
+#\r
+################################################################################\r
+[Includes.common]\r
+  Include                        # Root include for the package\r
+\r
+[Guids.common]\r
+  gArmPlatformTokenSpaceGuid   = { 0x9c0aaed4, 0x74c5, 0x4043, { 0xb4, 0x17, 0xa3, 0x22, 0x38, 0x14, 0xce, 0x76 } }\r
+  #\r
+  # Following Guid must match FILE_GUID in MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
+  #\r
+  gVariableRuntimeDxeFileGuid = { 0xcbd2e4d5, 0x7068, 0x4ff5, { 0xb4, 0x62, 0x98, 0x22, 0xb4, 0xad, 0x8d, 0x60 } }\r
+\r
+[PcdsFeatureFlag.common]\r
+  # Set this PCD to TRUE to map NORFlash at 0x0. FALSE means the DRAM is mapped at 0x0.\r
+  gArmPlatformTokenSpaceGuid.PcdNorFlashRemapping|FALSE|BOOLEAN|0x00000012\r
+  \r
+  gArmPlatformTokenSpaceGuid.PcdStandalone|TRUE|BOOLEAN|0x00000001\r
+  gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|FALSE|BOOLEAN|0x00000002\r
+  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|FALSE|BOOLEAN|0x00000004\r
+\r
+[PcdsFixedAtBuild.common]\r
+  # These PCDs should be FeaturePcds. But we used these PCDs as an '#if' in an ASM file.\r
+  # Using a FeaturePcd make a '(BOOLEAN) casting for its value which is not understood by the preprocessor.\r
+  gArmPlatformTokenSpaceGuid.PcdMPCoreSupport|0|UINT32|0x00000003\r
+  gArmPlatformTokenSpaceGuid.PcdMPCoreMaxCores|1|UINT32|0x0000002D\r
+  \r
+  # Stack for CPU Cores in Secure Mode\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0|UINT32|0x00000005\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecStackSize|0|UINT32|0x00000006\r
+\r
+  # Stack for CPU Cores in Secure Monitor Mode\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0|UINT32|0x00000007\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0|UINT32|0x00000008\r
+\r
+  # Stack for CPU Cores in Non Secure Mode\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase|0|UINT32|0x00000009\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize|0|UINT32|0x0000000A\r
+    \r
+  # Size of the region used by UEFI in permanent memory (Reserved 128MB by default)\r
+  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x08000000|UINT32|0x00000015\r
+\r
+  # Size to reserve in the primary core stack for PEI Global Variables\r
+  #  = sizeof(UINTN) /* PcdPeiServicePtr or HobListPtr */\r
+  gArmPlatformTokenSpaceGuid.PcdPeiGlobalVariableSize|0x4|UINT32|0x00000016\r
+  # PeiServicePtr and HobListPtr shares the same location in the PEI Global Variable list\r
+  # PeiServicePtr is only valid with PEI Core and HobListPtr only when the PEI Core is skipped. \r
+  gArmPlatformTokenSpaceGuid.PcdPeiServicePtrGlobalOffset|0x0|UINT32|0x00000017\r
+  gArmPlatformTokenSpaceGuid.PcdHobListPtrGlobalOffset|0x0|UINT32|0x00000018\r
+\r
+  #\r
+  # ARM Primecells\r
+  #\r
+\r
+  ## SP804 DualTimer\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerFrequencyInMHz|1|UINT32|0x0000001D\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicInterruptNum|0|UINT32|0x0000001E\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0|UINT32|0x0000002A\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0|UINT32|0x0000002B\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0|UINT32|0x0000002C\r
+\r
+  ## SP805 Watchdog\r
+  gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x0|UINT32|0x00000023\r
+  gArmPlatformTokenSpaceGuid.PcdSP805WatchdogClockFrequencyInHz|32000|UINT32|0x00000021\r
+\r
+  ## PL011 UART\r
+  gArmPlatformTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0x00000000|UINT32|0x0000001F\r
+  gArmPlatformTokenSpaceGuid.PcdUartDefaultTimeout|0x00000000|UINT32|0x00000020\r
+\r
+  ## PL031 RealTimeClock\r
+  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0|UINT32|0x00000024\r
+  gArmPlatformTokenSpaceGuid.PcdPL031RtcPpmAccuracy|300000000|UINT32|0x00000022\r
+\r
+  ## PL061 GPIO\r
+  gArmPlatformTokenSpaceGuid.PcdPL061GpioBase|0x0|UINT32|0x00000025\r
+  \r
+  ## PL111 Lcd\r
+  gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x0|UINT32|0x00000026\r
+  gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase|0x0|UINT32|0x00000027\r
+  \r
+  ## PL180 MCI\r
+  gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x00000000|UINT32|0x00000028\r
+  gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x00000000|UINT32|0x00000029\r
+\r
+  #\r
+  # BDS - Boot Manager\r
+  #\r
+  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Platform"|VOID*|0x00000019\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Default Boot Device"|VOID*|0x0000000C\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L""|VOID*|0x0000000D\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootInitrdPath|L""|VOID*|0x0000000E\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|""|VOID*|0x000000F\r
+  # PcdDefaultBootType define the type of the binary pointed by PcdDefaultBootDevicePath: \r
+  #  - 0 = an EFI application\r
+  #  - 1 = a Linux kernel with ATAG support\r
+  #  - 2 = a Linux kernel with FDT support\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0|UINT32|0x00000010\r
+  gArmPlatformTokenSpaceGuid.PcdFdtDevicePath|L""|VOID*|0x00000011\r
+  \r
+  ## Timeout value for displaying progressing bar in before boot OS.\r
+  #  According to UEFI 2.0 spec, the default TimeOut should be 0xffff.\r
+  gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x0000001A\r
+  \r
+  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L""|VOID*|0x0000001B\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L""|VOID*|0x0000001C\r
+  \r
index 602bf83..5283b45 100644 (file)
-#
-#  Copyright (c) 2011, ARM Limited. All rights reserved.
-#  
-#  This program and the accompanying materials                          
-#  are licensed and made available under the terms and conditions of the BSD License         
-#  which accompanies this distribution.  The full text of the license may be found at        
-#  http://opensource.org/licenses/bsd-license.php                                            
-#
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
-#
-#
-
-################################################################################
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-################################################################################
-[Defines]
-  PLATFORM_NAME                  = ArmRealViewEb-RTSM-A9x2
-  PLATFORM_GUID                  = f6c2f4a0-2027-11e0-a2a1-0002a5d5c51b
-  PLATFORM_VERSION               = 0.1
-  DSC_SPECIFICATION              = 0x00010005
-  OUTPUT_DIRECTORY               = Build/ArmRealViewEb-RTSM-A9x2
-  SUPPORTED_ARCHITECTURES        = ARM
-  BUILD_TARGETS                  = DEBUG|RELEASE
-  SKUID_IDENTIFIER               = DEFAULT
-  FLASH_DEFINITION               = ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-MPCore.fdf
-
-[LibraryClasses.common]
-!if $(TARGET) == RELEASE
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
-#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
-!endif
-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
-
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7MPCoreLib.inf
-  ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf
-  ArmMPCoreMailBoxLib|ArmPkg/Library/ArmMPCoreMailBoxLib/ArmMPCoreMailBoxLib.inf
-  
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
-  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
-
-  EfiResetSystemLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ResetSystemLib/ResetSystemLib.inf
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  
-  EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf
-  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-
-  #
-  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window 
-  # in the debugger will show load and unload commands for symbols. You can cut and paste this
-  # into the command window to load symbols. We should be able to use a script to do this, but
-  # the version of RVD I have does not support scripts accessing system memory.
-  #
-#  PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
-  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
-#  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
-  
-  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
-  DefaultExceptioHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
-  
-  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
-  
-  RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf
-
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
-
-#
-# Assume everything is fixed at build
-#
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-
-  EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
-
-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-
-  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
-  
-  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
-  DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsOnlyLib/DebugAgentSymbolsOnlyLib.inf
-  DebugAgentTimerLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
-
-  SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
-  TimerLib|ArmPlatformPkg/Library/SP804TimerLib/SP804TimerLib.inf  
-  GdbSerialLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/GdbSerialLib/GdbSerialLib.inf
-  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
-  
-  # ARM PL011 UART Driver
-  PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf
-  # ARM PL390 General Interrupt Driver in Secure and Non-secure
-  PL390GicNonSecLib|ArmPkg/Drivers/PL390Gic/PL390GicNonSec.inf
-
-  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
-  
-  ArmPlatformSysConfigLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf
-  NorFlashPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/NorFlashArmRealViewEbLib/NorFlashArmRealViewEbLib.inf
-  LcdPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/PL111LcdArmRealViewEbLib/PL111LcdArmRealViewEbLib.inf
-
-[LibraryClasses.common.SEC]
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7MPCoreLibSec.inf
-  ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbSecLib.inf
-  DebugSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf
-  
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  
-  # 1/123 faster than Stm or Vstm version
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-
-  # Uncomment to turn on GDB stub in SEC. 
-  #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf
-  
-  # L2 Cache Driver
-  L2X0CacheLib|ArmPlatformPkg/Library/L2X0CacheLibNull/L2X0CacheLibNull.inf
-  # ARM PL390 General Interrupt Driver in Secure
-  PL390GicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicSec.inf
-
-!if $(EDK2_SKIP_PEICORE) == 1
-  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
-  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
-  LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
-  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
-  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
-  PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
-  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
-  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
-!endif
-
-[LibraryClasses.common.PEI_CORE]
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  # note: this won't actually work since globals in PEI are not writeable
-  # need to generate an ARM PEI services table pointer implementation
-  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
-  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
-  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
-
-[LibraryClasses.common.PEIM]
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  # note: this won't actually work since globals in PEI are not writeable
-  # need to generate an ARM PEI services table pointer implementation
-  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
-  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
-
-[LibraryClasses.common.DXE_CORE]
-  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
-  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.UEFI_APPLICATION]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
-
-[LibraryClasses.ARM]
-  #
-  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
-  # This library provides the instrinsic functions generate by a given compiler.
-  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
-  #
-  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
-
-[BuildOptions]
-  RVCT:*_*_ARM_ARCHCC_FLAGS  == --cpu Cortex-A9 --thumb --fpu=softvfp -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform
-  RVCT:*_*_ARM_ARCHASM_FLAGS == --cpu Cortex-A9 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform
-  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform
-
-  GCC:*_*_ARM_ARCHCC_FLAGS    == -march=armv7-a -mthumb -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform 
-  GCC:*_*_ARM_ARCHASM_FLAGS   == -march=armv7-a -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform
-  GCC:RELEASE_*_*_CC_FLAGS    = -DMDEPKG_NDEBUG -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform
-
-  XCODE:*_*_ARM_ARCHCC_FLAGS     == -arch armv7 -march=armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform
-  XCODE:*_*_ARM_ARCHASM_FLAGS    == -arch armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform
-  XCODE:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform
-
-
-################################################################################
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
-#
-################################################################################
-
-[PcdsFeatureFlag.common]
-  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
-  
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
-  
-  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
-  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
-  
-  gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE
-
-  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
-
-!if $(EDK2_SKIP_PEICORE) == 1
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE
-  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|TRUE
-!endif
-
-  ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
-  #  It could be set FALSE to save size.
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
-
-[PcdsFixedAtBuild.common]
-  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM RealView Emulation Board"
-  
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmRealViewEb-A9x2"
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
-  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
-  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
-  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
-  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
-
-# DEBUG_ASSERT_ENABLED       0x01
-# DEBUG_PRINT_ENABLED        0x02
-# DEBUG_CODE_ENABLED         0x04
-# CLEAR_MEMORY_ENABLED       0x08
-# ASSERT_BREAKPOINT_ENABLED  0x10
-# ASSERT_DEADLOOP_ENABLED    0x20
-!if $(TARGET) == RELEASE
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
-!else
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
-!endif
-
-#  DEBUG_INIT      0x00000001  // Initialization
-#  DEBUG_WARN      0x00000002  // Warnings
-#  DEBUG_LOAD      0x00000004  // Load events
-#  DEBUG_FS        0x00000008  // EFI File system
-#  DEBUG_POOL      0x00000010  // Alloc & Free's
-#  DEBUG_PAGE      0x00000020  // Alloc & Free's
-#  DEBUG_INFO      0x00000040  // Verbose
-#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers
-#  DEBUG_VARIABLE  0x00000100  // Variable
-#  DEBUG_BM        0x00000400  // Boot Manager
-#  DEBUG_BLKIO     0x00001000  // BlkIo Driver
-#  DEBUG_NET       0x00004000  // SNI Driver
-#  DEBUG_UNDI      0x00010000  // UNDI Driver
-#  DEBUG_LOADFILE  0x00020000  // UNDI Driver
-#  DEBUG_EVENT     0x00080000  // Event messages
-#  DEBUG_ERROR     0x80000000  // Error
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
-
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
-  
-  #
-  # NV Storage PCDs. Use base of 0x43F00000 for NOR0
-  #
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x43F00000
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x000C0000
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x43FC0000
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00020000
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x43FE0000
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00020000
-
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
-  
-#
-# Optional feature to help prevent EFI memory map fragments
-# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
-# Values are in EFI Pages (4K). DXE Core will make sure that 
-# at least this much of each type of memory can be allocated 
-# from a single memory range. This way you only end up with
-# maximum of two fragements for each type in the memory map
-# (the memory used, and the free memory that was prereserved
-# but not used).
-#
-  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x00000000
-  
-  gArmPlatformTokenSpaceGuid.PcdMPCoreSupport|1
-  gArmPlatformTokenSpaceGuid.PcdMPCoreMaxCores|2
-  
-  # Stacks for MPCores in Secure World
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x4B000000     # Top of SEC Stack for Secure World
-  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecStackSize|0x2000                   # Stack for each of the 4 CPU cores
-
-  # Stacks for MPCores in Monitor Mode
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x4A000000  # Top of SEC Stack for Monitor World
-  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x2000              # Stack for each of the 4 CPU cores
-
-  # Stacks for MPCores in Normal World
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase|0x48000000     # Top of SEC Stack for Normal World
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize|0x20000        # Stack for each of the 4 CPU cores
-
-  # System Memory (256MB) 
-  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x70000000
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x10000000
-  
-  # Size of the region used by UEFI in permanent memory (Reserved 64MB)
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
-    
-  #
-  # ARM Pcds
-  #
-  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
-  
-  #
-  # ARM EB PCDS
-  #
-  gArmRealViewEbPkgTokenSpaceGuid.PcdGdbUartBase|0x1000a000
-  
-  #
-  # ARM PrimeCells
-  #
-  
-  ## SP804 Timer
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|1000000
-  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000        # expressed in 100ns units, 100,000 x 100 ns = 10,000,000 ns = 10 ms
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicInterruptNum|33
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x10011000
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0x10012020
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0x10012000
-  
-  ## PL031 RealTimeClock
-  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x10017000
-  
-  #
-  # ARM PL011 - Serial Terminal
-  #
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x10009000
-  
-  #
-  # ARM PL390 General Interrupt Controller
-  #
-  gArmTokenSpaceGuid.PcdGicDistributorBase|0x1F001000
-  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x1F000100
-  gArmTokenSpaceGuid.PcdGicNumInterrupts|96
-
-  #
-  # ARM OS Loader
-  #
-  gArmTokenSpaceGuid.PcdArmMachineType|827
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"SemiHosting"
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/zImage"
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|""
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1
-  
-  # Use the Serial console (ConIn & ConOut) and the Graphic driver (ConOut)
-  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"
-  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"
-  gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10
-  
-  #
-  # ARM L2x0 PCDs
-  #
-  gArmTokenSpaceGuid.PcdL2x0ControllerBase|0x1F002000
-  #
-  # ARM VE MP Core Mailbox
-  #
-  gArmTokenSpaceGuid.PcdMPCoreMailboxSetAddress|0x10000030
-  gArmTokenSpaceGuid.PcdMPCoreMailboxGetAddress|0x10000030
-  gArmTokenSpaceGuid.PcdMPCoreMailboxClearAddress|0x10000034
-  gArmTokenSpaceGuid.PcdMPCoreMailboxClearValue|0xFFFFFFFF
-
-
-################################################################################
-#
-# Components Section - list of all EDK II Modules needed by this Platform
-#
-################################################################################
-[Components.common]
-  
-#
-# SEC
-#
-  ArmPlatformPkg/Sec/Sec.inf
-  
-#
-# PEI Phase modules
-#
-!if $(EDK2_SKIP_PEICORE) == 1
-  ArmPlatformPkg/PrePi/PeiMPCore.inf {
-    <LibraryClasses>
-      ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7MPCoreLib.inf
-      ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf
-  }
-!else
-  ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf {
-    <LibraryClasses>
-      PL390GicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicNonSec.inf
-  }
-  MdeModulePkg/Core/Pei/PeiMain.inf
-  MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {
-    <LibraryClasses>
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  }
-  ArmPlatformPkg/PlatformPei/PlatformPeim.inf
-  ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
-  Nt32Pkg/BootModePei/BootModePei.inf
-  MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
-  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
-    <LibraryClasses>
-      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
-  }
-!endif
-
-#
-# DXE
-#
-  MdeModulePkg/Core/Dxe/DxeMain.inf {
-    <LibraryClasses>
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
-  }
-
-  #
-  # Architectural Protocols
-  #
-  ArmPkg/Drivers/CpuDxe/CpuDxe.inf  
-  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
-  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
-  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
-  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
-  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf  
-  
-  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
-  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
-  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
-
-  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
-  ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
-
-  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
-  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
-  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-  EmbeddedPkg/SerialDxe/SerialDxe.inf
-
-  ArmPkg/Drivers/PL390Gic/PL390GicDxe.inf
-  ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf
-  
-  ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
-
-  #
-  # Semi-hosting filesystem
-  #
-  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
-  
-  #
-  # FAT filesystem + GPT/MBR partitioning
-  #
-  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-  FatPkg/EnhancedFatDxe/Fat.inf
-  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-  
-  
-  #
-  # Application
-  #  
-  EmbeddedPkg/Ebl/Ebl.inf
-
-  #
-  # Bds
-  #
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
-  ArmPlatformPkg/Bds/Bds.inf
+#\r
+#  Copyright (c) 2011, ARM Limited. All rights reserved.\r
+#  \r
+#  This program and the accompanying materials                          \r
+#  are licensed and made available under the terms and conditions of the BSD License         \r
+#  which accompanies this distribution.  The full text of the license may be found at        \r
+#  http://opensource.org/licenses/bsd-license.php                                            \r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+#\r
+#\r
+\r
+################################################################################\r
+#\r
+# Defines Section - statements that will be processed to create a Makefile.\r
+#\r
+################################################################################\r
+[Defines]\r
+  PLATFORM_NAME                  = ArmRealViewEb-RTSM-A9x2\r
+  PLATFORM_GUID                  = f6c2f4a0-2027-11e0-a2a1-0002a5d5c51b\r
+  PLATFORM_VERSION               = 0.1\r
+  DSC_SPECIFICATION              = 0x00010005\r
+  OUTPUT_DIRECTORY               = Build/ArmRealViewEb-RTSM-A9x2\r
+  SUPPORTED_ARCHITECTURES        = ARM\r
+  BUILD_TARGETS                  = DEBUG|RELEASE\r
+  SKUID_IDENTIFIER               = DEFAULT\r
+  FLASH_DEFINITION               = ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-MPCore.fdf\r
+\r
+[LibraryClasses.common]\r
+!if $(TARGET) == RELEASE\r
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
+!else\r
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
+#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf\r
+!endif\r
+  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
+\r
+  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7MPCoreLib.inf\r
+  ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf\r
+  ArmMPCoreMailBoxLib|ArmPkg/Library/ArmMPCoreMailBoxLib/ArmMPCoreMailBoxLib.inf\r
+  \r
+  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
+  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf\r
+  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
+\r
+  EfiResetSystemLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
+  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
+  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
+  \r
+  EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf\r
+  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf\r
+  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
+  \r
+  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
+  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
+\r
+  #\r
+  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window \r
+  # in the debugger will show load and unload commands for symbols. You can cut and paste this\r
+  # into the command window to load symbols. We should be able to use a script to do this, but\r
+  # the version of RVD I have does not support scripts accessing system memory.\r
+  #\r
+#  PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf\r
+  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf\r
+#  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
+  \r
+  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
+  DefaultExceptioHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf\r
+  \r
+  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf\r
+  \r
+  RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf\r
+\r
+  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+  \r
+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
+  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  \r
+  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
+  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
+  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
+\r
+  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
+  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
+  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
+\r
+#\r
+# Assume everything is fixed at build\r
+#\r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+\r
+  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
+\r
+  EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf\r
+\r
+  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
+  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
+\r
+  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf\r
+  \r
+  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf\r
+  DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsOnlyLib/DebugAgentSymbolsOnlyLib.inf\r
+  DebugAgentTimerLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf\r
+\r
+  SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf\r
+  TimerLib|ArmPlatformPkg/Library/SP804TimerLib/SP804TimerLib.inf  \r
+  GdbSerialLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/GdbSerialLib/GdbSerialLib.inf\r
+  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf\r
+  \r
+  # ARM PL011 UART Driver\r
+  PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf\r
+  # ARM PL390 General Interrupt Driver in Secure and Non-secure\r
+  PL390GicNonSecLib|ArmPkg/Drivers/PL390Gic/PL390GicNonSec.inf\r
+\r
+  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf\r
+  \r
+  ArmPlatformSysConfigLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf\r
+  NorFlashPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/NorFlashArmRealViewEbLib/NorFlashArmRealViewEbLib.inf\r
+  LcdPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/PL111LcdArmRealViewEbLib/PL111LcdArmRealViewEbLib.inf\r
+\r
+[LibraryClasses.common.SEC]\r
+  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7MPCoreLibSec.inf\r
+  ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbSecLib.inf\r
+  DebugSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf\r
+  \r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  \r
+  # 1/123 faster than Stm or Vstm version\r
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+\r
+  # Uncomment to turn on GDB stub in SEC. \r
+  #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf\r
+  \r
+  # L2 Cache Driver\r
+  L2X0CacheLib|ArmPlatformPkg/Library/L2X0CacheLibNull/L2X0CacheLibNull.inf\r
+  # ARM PL390 General Interrupt Driver in Secure\r
+  PL390GicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicSec.inf\r
+\r
+!if $(EDK2_SKIP_PEICORE) == 1\r
+  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
+  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
+  LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf\r
+  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
+  PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
+  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf\r
+  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
+!endif\r
+\r
+[LibraryClasses.common.PEI_CORE]\r
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
+  # note: this won't actually work since globals in PEI are not writeable\r
+  # need to generate an ARM PEI services table pointer implementation\r
+  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
+  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
+  PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf\r
+  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
+  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
+  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
+  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
+  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
+\r
+[LibraryClasses.common.PEIM]\r
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
+  # note: this won't actually work since globals in PEI are not writeable\r
+  # need to generate an ARM PEI services table pointer implementation\r
+  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
+  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
+  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
+  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
+  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
+  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
+  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
+  PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf\r
+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
+  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
+\r
+[LibraryClasses.common.DXE_CORE]\r
+  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
+  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf\r
+\r
+[LibraryClasses.common.DXE_DRIVER]\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
+  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+\r
+[LibraryClasses.common.UEFI_APPLICATION]\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+\r
+[LibraryClasses.common.UEFI_DRIVER]\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
+  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+\r
+[LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
+\r
+[LibraryClasses.ARM]\r
+  #\r
+  # It is not possible to prevent the ARM compiler for generic intrinsic functions.\r
+  # This library provides the instrinsic functions generate by a given compiler.\r
+  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.\r
+  #\r
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+\r
+[BuildOptions]\r
+  RVCT:*_*_ARM_ARCHCC_FLAGS  == --cpu Cortex-A9 --thumb --fpu=softvfp -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+  RVCT:*_*_ARM_ARCHASM_FLAGS == --cpu Cortex-A9 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+\r
+  GCC:*_*_ARM_ARCHCC_FLAGS    == -march=armv7-a -mthumb -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform \r
+  GCC:*_*_ARM_ARCHASM_FLAGS   == -march=armv7-a -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+  GCC:RELEASE_*_*_CC_FLAGS    = -DMDEPKG_NDEBUG -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+\r
+  XCODE:*_*_ARM_ARCHCC_FLAGS     == -arch armv7 -march=armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+  XCODE:*_*_ARM_ARCHASM_FLAGS    == -arch armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+  XCODE:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+\r
+\r
+################################################################################\r
+#\r
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
+#\r
+################################################################################\r
+\r
+[PcdsFeatureFlag.common]\r
+  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE\r
+  \r
+  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress\r
+  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE\r
+  \r
+  gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE\r
+\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
+\r
+!if $(EDK2_SKIP_PEICORE) == 1\r
+  gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE\r
+  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|TRUE\r
+!endif\r
+\r
+  ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.\r
+  #  It could be set FALSE to save size.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
+\r
+[PcdsFixedAtBuild.common]\r
+  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM RealView Emulation Board"\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmRealViewEb-A9x2"\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF\r
+  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1\r
+  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0\r
+  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320\r
+\r
+# DEBUG_ASSERT_ENABLED       0x01\r
+# DEBUG_PRINT_ENABLED        0x02\r
+# DEBUG_CODE_ENABLED         0x04\r
+# CLEAR_MEMORY_ENABLED       0x08\r
+# ASSERT_BREAKPOINT_ENABLED  0x10\r
+# ASSERT_DEADLOOP_ENABLED    0x20\r
+!if $(TARGET) == RELEASE\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21\r
+!else\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f\r
+!endif\r
+\r
+#  DEBUG_INIT      0x00000001  // Initialization\r
+#  DEBUG_WARN      0x00000002  // Warnings\r
+#  DEBUG_LOAD      0x00000004  // Load events\r
+#  DEBUG_FS        0x00000008  // EFI File system\r
+#  DEBUG_POOL      0x00000010  // Alloc & Free's\r
+#  DEBUG_PAGE      0x00000020  // Alloc & Free's\r
+#  DEBUG_INFO      0x00000040  // Verbose\r
+#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers\r
+#  DEBUG_VARIABLE  0x00000100  // Variable\r
+#  DEBUG_BM        0x00000400  // Boot Manager\r
+#  DEBUG_BLKIO     0x00001000  // BlkIo Driver\r
+#  DEBUG_NET       0x00004000  // SNI Driver\r
+#  DEBUG_UNDI      0x00010000  // UNDI Driver\r
+#  DEBUG_LOADFILE  0x00020000  // UNDI Driver\r
+#  DEBUG_EVENT     0x00080000  // Event messages\r
+#  DEBUG_ERROR     0x80000000  // Error\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F\r
+\r
+  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
+  \r
+  #\r
+  # NV Storage PCDs. Use base of 0x43F00000 for NOR0\r
+  #\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x43F00000\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x000C0000\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x43FC0000\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00020000\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x43FE0000\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00020000\r
+\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000\r
+  \r
+#\r
+# Optional feature to help prevent EFI memory map fragments\r
+# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob\r
+# Values are in EFI Pages (4K). DXE Core will make sure that \r
+# at least this much of each type of memory can be allocated \r
+# from a single memory range. This way you only end up with\r
+# maximum of two fragements for each type in the memory map\r
+# (the memory used, and the free memory that was prereserved\r
+# but not used).\r
+#\r
+  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x00000000\r
+  \r
+  gArmPlatformTokenSpaceGuid.PcdMPCoreSupport|1\r
+  gArmPlatformTokenSpaceGuid.PcdMPCoreMaxCores|2\r
+  \r
+  # Stacks for MPCores in Secure World\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x4B000000     # Top of SEC Stack for Secure World\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecStackSize|0x2000                   # Stack for each of the 4 CPU cores\r
+\r
+  # Stacks for MPCores in Monitor Mode\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x4A000000  # Top of SEC Stack for Monitor World\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x2000              # Stack for each of the 4 CPU cores\r
+\r
+  # Stacks for MPCores in Normal World\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase|0x48000000     # Top of SEC Stack for Normal World\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize|0x20000        # Stack for each of the 4 CPU cores\r
+\r
+  # System Memory (256MB) \r
+  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x70000000\r
+  gArmTokenSpaceGuid.PcdSystemMemorySize|0x10000000\r
+  \r
+  # Size of the region used by UEFI in permanent memory (Reserved 64MB)\r
+  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000\r
+    \r
+  #\r
+  # ARM Pcds\r
+  #\r
+  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000\r
+  \r
+  #\r
+  # ARM EB PCDS\r
+  #\r
+  gArmRealViewEbPkgTokenSpaceGuid.PcdGdbUartBase|0x1000a000\r
+  \r
+  #\r
+  # ARM PrimeCells\r
+  #\r
+  \r
+  ## SP804 Timer\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|1000000\r
+  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000        # expressed in 100ns units, 100,000 x 100 ns = 10,000,000 ns = 10 ms\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicInterruptNum|33\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x10011000\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0x10012020\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0x10012000\r
+  \r
+  ## PL031 RealTimeClock\r
+  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x10017000\r
+  \r
+  #\r
+  # ARM PL011 - Serial Terminal\r
+  #\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x10009000\r
+  \r
+  #\r
+  # ARM PL390 General Interrupt Controller\r
+  #\r
+  gArmTokenSpaceGuid.PcdGicDistributorBase|0x1F001000\r
+  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x1F000100\r
+  gArmTokenSpaceGuid.PcdGicNumInterrupts|96\r
+\r
+  #\r
+  # ARM OS Loader\r
+  #\r
+  gArmTokenSpaceGuid.PcdArmMachineType|827\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"SemiHosting"\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/zImage"\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|""\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1\r
+  \r
+  # Use the Serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"\r
+  gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10\r
+  \r
+  #\r
+  # ARM L2x0 PCDs\r
+  #\r
+  gArmTokenSpaceGuid.PcdL2x0ControllerBase|0x1F002000\r
\r
+  #\r
+  # ARM VE MP Core Mailbox\r
+  #\r
+  gArmTokenSpaceGuid.PcdMPCoreMailboxSetAddress|0x10000030\r
+  gArmTokenSpaceGuid.PcdMPCoreMailboxGetAddress|0x10000030\r
+  gArmTokenSpaceGuid.PcdMPCoreMailboxClearAddress|0x10000034\r
+  gArmTokenSpaceGuid.PcdMPCoreMailboxClearValue|0xFFFFFFFF\r
+\r
+\r
+################################################################################\r
+#\r
+# Components Section - list of all EDK II Modules needed by this Platform\r
+#\r
+################################################################################\r
+[Components.common]\r
+  \r
+#\r
+# SEC\r
+#\r
+  ArmPlatformPkg/Sec/Sec.inf\r
+  \r
+#\r
+# PEI Phase modules\r
+#\r
+!if $(EDK2_SKIP_PEICORE) == 1\r
+  ArmPlatformPkg/PrePi/PeiMPCore.inf {\r
+    <LibraryClasses>\r
+      ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7MPCoreLib.inf\r
+      ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf\r
+  }\r
+!else\r
+  ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf {\r
+    <LibraryClasses>\r
+      PL390GicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicNonSec.inf\r
+  }\r
+  MdeModulePkg/Core/Pei/PeiMain.inf\r
+  MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  }\r
+  ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
+  ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf\r
+  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
+  Nt32Pkg/BootModePei/BootModePei.inf\r
+  MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
+  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
+    <LibraryClasses>\r
+      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+  }\r
+!endif\r
+\r
+#\r
+# DXE\r
+#\r
+  MdeModulePkg/Core/Dxe/DxeMain.inf {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
+  }\r
+\r
+  #\r
+  # Architectural Protocols\r
+  #\r
+  ArmPkg/Drivers/CpuDxe/CpuDxe.inf  \r
+  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
+  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
+  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
+  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
+  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
+  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
+  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf  \r
+  \r
+  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
+  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
+  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
+\r
+  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
+  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
+  ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
+\r
+  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
+  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
+  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
+  EmbeddedPkg/SerialDxe/SerialDxe.inf\r
+\r
+  ArmPkg/Drivers/PL390Gic/PL390GicDxe.inf\r
+  ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf\r
+  \r
+  ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
+\r
+  #\r
+  # Semi-hosting filesystem\r
+  #\r
+  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
+  \r
+  #\r
+  # FAT filesystem + GPT/MBR partitioning\r
+  #\r
+  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
+  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
+  FatPkg/EnhancedFatDxe/Fat.inf\r
+  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
+  \r
+  \r
+  #\r
+  # Application\r
+  #  \r
+  EmbeddedPkg/Ebl/Ebl.inf\r
+\r
+  #\r
+  # Bds\r
+  #\r
+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
+  ArmPlatformPkg/Bds/Bds.inf\r
index 0cd0c8e..3682f6b 100644 (file)
@@ -1,41 +1,41 @@
-#/* @file
-#  Copyright (c) 2011, ARM Limited. All rights reserved.
-#  
-#  This program and the accompanying materials                          
-#  are licensed and made available under the terms and conditions of the BSD License         
-#  which accompanies this distribution.  The full text of the license may be found at        
-#  http://opensource.org/licenses/bsd-license.php                                            
-#
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
-#
-#*/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = ArmRealViewEbLib
-  FILE_GUID                      = 736343a0-1d96-11e0-aaaa-0002a5d5c51b
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = ArmPlatformLib
-
-[Packages]
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  ArmPkg/ArmPkg.dec
-  ArmPlatformPkg/ArmPlatformPkg.dec
-
-[LibraryClasses]
-  IoLib
-  ArmLib
-  MemoryAllocationLib
-
-[Sources.common]
-  ArmRealViewEb.c
-  ArmRealViewEbMem.c
-  ArmRealViewEbHelper.asm   | RVCT
-  ArmRealViewEbHelper.S     | GCC
-
-[FeaturePcd]
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable
+#/* @file\r
+#  Copyright (c) 2011, ARM Limited. All rights reserved.\r
+#  \r
+#  This program and the accompanying materials                          \r
+#  are licensed and made available under the terms and conditions of the BSD License         \r
+#  which accompanies this distribution.  The full text of the license may be found at        \r
+#  http://opensource.org/licenses/bsd-license.php                                            \r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+#\r
+#*/\r
+\r
+[Defines]\r
+  INF_VERSION                    = 0x00010005\r
+  BASE_NAME                      = ArmRealViewEbLib\r
+  FILE_GUID                      = 736343a0-1d96-11e0-aaaa-0002a5d5c51b\r
+  MODULE_TYPE                    = BASE\r
+  VERSION_STRING                 = 1.0\r
+  LIBRARY_CLASS                  = ArmPlatformLib\r
+\r
+[Packages]\r
+  MdePkg/MdePkg.dec\r
+  MdeModulePkg/MdeModulePkg.dec\r
+  EmbeddedPkg/EmbeddedPkg.dec\r
+  ArmPkg/ArmPkg.dec\r
+  ArmPlatformPkg/ArmPlatformPkg.dec\r
+\r
+[LibraryClasses]\r
+  IoLib\r
+  ArmLib\r
+  MemoryAllocationLib\r
+\r
+[Sources.common]\r
+  ArmRealViewEb.c\r
+  ArmRealViewEbMem.c\r
+  ArmRealViewEbHelper.asm   | RVCT\r
+  ArmRealViewEbHelper.S     | GCC\r
+\r
+[FeaturePcd]\r
+  gEmbeddedTokenSpaceGuid.PcdCacheEnable\r
index 8198dfd..686e0e1 100644 (file)
@@ -142,6 +142,8 @@ LcdPlatformGetVram (
   EFI_STATUS              Status;\r
   EFI_CPU_ARCH_PROTOCOL  *Cpu;\r
 \r
+  Status = EFI_SUCCESS;\r
+\r
   // Is it on the motherboard or on the daughterboard?\r
   switch(PL111_CLCD_SITE) {\r
 \r
index bd162fa..0bcb72e 100644 (file)
@@ -45,6 +45,7 @@
   UefiDriverEntryPoint
   DebugLib
   PrintLib
+  BaseLib
   
 [Guids]
   gEfiFileSystemInfoGuid
index 7bbe8b8..bdfaafa 100644 (file)
@@ -239,7 +239,7 @@ GenerateDeviceDescriptionName (
     //TODO: Fixme. we must find the best langague
     Status = ComponentName2Protocol->GetDriverName (ComponentName2Protocol,"en",&DriverName);
     if (!EFI_ERROR(Status)) {
-      StrnCpy (Description,DriverName,BOOT_DEVICE_DESCRIPTION_MAX);
+      StrnCpy (Description, DriverName, BOOT_DEVICE_DESCRIPTION_MAX);
     }
   }
 
@@ -254,7 +254,7 @@ GenerateDeviceDescriptionName (
     DevicePathNode = GetLastDevicePathNode (DevicePathProtocol);
     Status = gBS->LocateProtocol (&gEfiDevicePathToTextProtocolGuid, NULL, (VOID **)&DevicePathToTextProtocol);
     ASSERT_EFI_ERROR(Status);
-    DevicePathTxt = DevicePathToTextProtocol->ConvertDevicePathToText(DevicePathNode,TRUE,TRUE);
+    DevicePathTxt = DevicePathToTextProtocol->ConvertDevicePathToText (DevicePathNode, TRUE, TRUE);
     StrnCpy (Description, DevicePathTxt, BOOT_DEVICE_DESCRIPTION_MAX);
     FreePool (DevicePathTxt);
   }
index 3f2d1a6..fd49d9e 100644 (file)
@@ -42,6 +42,9 @@
 \r
 #define IS_ARM_BDS_BOOTENTRY(ptr)  (ReadUnaligned32 ((CONST UINT32*)&((ARM_BDS_LOADER_OPTIONAL_DATA*)((ptr)->OptionalData))->Header.Signature) == ARM_BDS_OPTIONAL_DATA_SIGNATURE)\r
 \r
+#define UPDATE_BOOT_ENTRY L"Update entry: "\r
+#define DELETE_BOOT_ENTRY L"Delete entry: "\r
+\r
 typedef enum {\r
     BDS_LOADER_EFI_APPLICATION = 0,\r
     BDS_LOADER_KERNEL_LINUX_ATAG,\r
index 94be464..543958b 100644 (file)
@@ -315,7 +315,7 @@ BootMenuRemoveBootOption (
   EFI_STATUS                    Status;\r
   BDS_LOAD_OPTION_ENTRY*        BootOptionEntry;\r
 \r
-  Status = BootMenuSelectBootOption (BootOptionsList, L"Delete entry: ", FALSE, &BootOptionEntry);\r
+  Status = BootMenuSelectBootOption (BootOptionsList, DELETE_BOOT_ENTRY, FALSE, &BootOptionEntry);\r
   if (EFI_ERROR(Status)) {\r
     return Status;\r
   }\r
@@ -352,7 +352,7 @@ BootMenuUpdateBootOption (
   UINTN                         InitrdSize;\r
   UINTN                         CmdLineSize;\r
 \r
-  Status = BootMenuSelectBootOption (BootOptionsList, L"Update entry: ", TRUE, &BootOptionEntry);\r
+  Status = BootMenuSelectBootOption (BootOptionsList, UPDATE_BOOT_ENTRY, TRUE, &BootOptionEntry);\r
   if (EFI_ERROR(Status)) {\r
     return Status;\r
   }\r
@@ -476,8 +476,7 @@ BootMenuManager (
       BootManagerEntries[OptionSelected-1].Callback (BootOptionsList);\r
     }\r
   }\r
-\r
-  return EFI_SUCCESS;\r
+  // Should never go here\r
 }\r
 \r
 EFI_STATUS\r
@@ -619,6 +618,5 @@ BootMenuMain (
       Status = BootOptionStart (BootOption);\r
     }\r
   }\r
-\r
-  return Status;\r
+  // Should never go here\r
 }\r
index 4c37c9d..fb383b6 100644 (file)
@@ -209,7 +209,7 @@ BootDeviceGetDeviceSupport (
 \r
   // Find which supported device is the most appropriate\r
   for (Index = 0; Index < BDS_DEVICE_MAX; Index++) {\r
-    if (BdsLoadOptionSupportList[Index].IsSupported(BootOption)) {\r
+    if (BdsLoadOptionSupportList[Index].IsSupported (BootOption)) {\r
       *DeviceSupport = &BdsLoadOptionSupportList[Index];\r
       return EFI_SUCCESS;\r
     }\r
index 159e925..aa4c4d6 100644 (file)
 
 #include <Drivers/SP804Timer.h>
 
-#define SP804_TIMER_PERIODIC_BASE     (UINTN)PcdGet32 (PcdSP804TimerPeriodicBase)
-#define SP804_TIMER_METRONOME_BASE    (UINTN)PcdGet32 (PcdSP804TimerMetronomeBase)
-#define SP804_TIMER_PERFORMANCE_BASE  (UINTN)PcdGet32 (PcdSP804TimerPerformanceBase)
+#define SP804_TIMER_PERIODIC_BASE     ((UINTN)PcdGet32 (PcdSP804TimerPeriodicBase))
+#define SP804_TIMER_METRONOME_BASE    ((UINTN)PcdGet32 (PcdSP804TimerMetronomeBase))
+#define SP804_TIMER_PERFORMANCE_BASE  ((UINTN)PcdGet32 (PcdSP804TimerPerformanceBase))
 
 // The notification function to call on every timer interrupt.
-volatile EFI_TIMER_NOTIFY      mTimerNotifyFunction   = (EFI_TIMER_NOTIFY)NULL;
-EFI_EVENT                       EfiExitBootServicesEvent        = (EFI_EVENT)NULL;
+EFI_TIMER_NOTIFY      mTimerNotifyFunction     = (EFI_TIMER_NOTIFY)NULL;
+EFI_EVENT             EfiExitBootServicesEvent = (EFI_EVENT)NULL;
 
 // The current period of the timer interrupt
-volatile UINT64 mTimerPeriod = 0;
+UINT64 mTimerPeriod = 0;
 
 // Cached copy of the Hardware Interrupt protocol instance
 EFI_HARDWARE_INTERRUPT_PROTOCOL *gInterrupt = NULL;
@@ -78,10 +78,10 @@ TimerInterruptHandler (
 
   // If the interrupt is shared then we must check if this interrupt source is the one associated to this Timer
   if (MmioRead32 (SP804_TIMER_PERIODIC_BASE + SP804_TIMER_MSK_INT_STS_REG) != 0) {
-    // clear the periodic interrupt
+    // Clear the periodic interrupt
     MmioWrite32 (SP804_TIMER_PERIODIC_BASE + SP804_TIMER_INT_CLR_REG, 0);
 
-    // signal end of interrupt early to help avoid losing subsequent ticks from long duration handlers
+    // Signal end of interrupt early to help avoid losing subsequent ticks from long duration handlers
     gInterrupt->EndOfInterrupt (gInterrupt, Source);
 
     if (mTimerNotifyFunction) {
@@ -213,15 +213,13 @@ TimerDriverSetTimerPeriod (
     // Disable timer 0/1 interrupt for a TimerPeriod of 0
     Status = gInterrupt->DisableInterruptSource (gInterrupt, gVector);    
   } else {  
-    // Convert TimerPeriod into 1MHz clock counts (us units = 100ns units / 10)
+    // Convert TimerPeriod into 1MHz clock counts (us units = 100ns units * 10)
     TimerTicks = DivU64x32 (TimerPeriod, 10);
     TimerTicks = MultU64x32 (TimerTicks, PcdGet32(PcdSP804TimerFrequencyInMHz));
 
     // if it's larger than 32-bits, pin to highest value
     if (TimerTicks > 0xffffffff) {
-
       TimerTicks = 0xffffffff;
-
     }
 
     // Program the SP804 timer with the new count value
index f8c5f65..49174cc 100644 (file)
@@ -1,69 +1,69 @@
-//
-//  Copyright (c) 2011, ARM Limited. All rights reserved.
-//  
-//  This program and the accompanying materials                          
-//  are licensed and made available under the terms and conditions of the BSD License         
-//  which accompanies this distribution.  The full text of the license may be found at        
-//  http://opensource.org/licenses/bsd-license.php                                            
-//
-//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
-//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
-//
-//
-
-#include <AsmMacroIoLib.h>
-#include <Base.h>
-#include <Library/PcdLib.h>
-#include <AutoGen.h>
-
-.text
-.align 3
-
-#global symbols referenced by this module
-GCC_ASM_IMPORT(CEntryPoint)
-
-StartupAddr: .word    CEntryPoint
-
-#make _ModuleEntryPoint as global
-GCC_ASM_EXPORT(_ModuleEntryPoint)
-
-
-ASM_PFX(_ModuleEntryPoint):
-  # Identify CPU ID
-  mrc   p15, 0, r0, c0, c0, 5
-  and   r0, #0xf
-
-_SetupStack:
-  # Setup Stack for the 4 CPU cores
-  LoadConstantToReg (FixedPcdGet32(PcdCPUCoresNonSecStackBase), r1)
-  LoadConstantToReg (FixedPcdGet32(PcdCPUCoresNonSecStackSize), r2)
-  
-  mov     r3,r0         @ r3 = core_id
-  mul     r3,r3,r2      @ r3 = core_id * stack_size = offset from the stack base
-  add     r3,r3,r1      @ r3 = stack_base + offset
-  add     r3,r3,r2,LSR #1   @ r3 = stack_offset + (stack_size/2)   <-- the top half is for the heap
-  mov     sp, r3
-
-  # Only allocate memory in top of the primary core stack
-  cmp   r0, #0
-  bne   _PrepareArguments
-
-_AllocateGlobalPeiVariables:
-  # Reserve top of the stack for Global PEI Variables (eg: PeiServicesTablePointer)
-  LoadConstantToReg (FixedPcdGet32(PcdPeiGlobalVariableSize), r1)
-  sub   sp, sp, r1
-
-_PrepareArguments:
-  # The PEI Core Entry Point has been computed by GenFV and stored in the second entry of the Reset Vector
-  LoadConstantToReg (FixedPcdGet32(PcdNormalFvBaseAddress), r2)
-  add   r2, r2, #4
-  ldr   r1, [r2]
-
-  # move sec startup address into a data register
-  # ensure we're jumping to FV version of the code (not boot remapped alias)
-  ldr   r2, StartupAddr
-
-  # jump to PrePeiCore C code
-  #    r0 = core_id
-  #    r1 = pei_core_address
-  blx   r2
+//\r
+//  Copyright (c) 2011, ARM Limited. All rights reserved.\r
+//  \r
+//  This program and the accompanying materials                          \r
+//  are licensed and made available under the terms and conditions of the BSD License         \r
+//  which accompanies this distribution.  The full text of the license may be found at        \r
+//  http://opensource.org/licenses/bsd-license.php                                            \r
+//\r
+//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+//\r
+//\r
+\r
+#include <AsmMacroIoLib.h>\r
+#include <Base.h>\r
+#include <Library/PcdLib.h>\r
+#include <AutoGen.h>\r
+\r
+.text\r
+.align 3\r
+\r
+#global symbols referenced by this module\r
+GCC_ASM_IMPORT(CEntryPoint)\r
+\r
+StartupAddr: .word    CEntryPoint\r
+\r
+#make _ModuleEntryPoint as global\r
+GCC_ASM_EXPORT(_ModuleEntryPoint)\r
+\r
+\r
+ASM_PFX(_ModuleEntryPoint):\r
+  # Identify CPU ID\r
+  mrc   p15, 0, r0, c0, c0, 5\r
+  and   r0, #0xf\r
+\r
+_SetupStack:\r
+  # Setup Stack for the 4 CPU cores\r
+  LoadConstantToReg (FixedPcdGet32(PcdCPUCoresNonSecStackBase), r1)\r
+  LoadConstantToReg (FixedPcdGet32(PcdCPUCoresNonSecStackSize), r2)\r
+  \r
+  mov     r3,r0         @ r3 = core_id\r
+  mul     r3,r3,r2      @ r3 = core_id * stack_size = offset from the stack base\r
+  add     r3,r3,r1      @ r3 = stack_base + offset\r
+  add     r3,r3,r2,LSR #1   @ r3 = stack_offset + (stack_size/2)   <-- the top half is for the heap\r
+  mov     sp, r3\r
+\r
+  # Only allocate memory in top of the primary core stack\r
+  cmp   r0, #0\r
+  bne   _PrepareArguments\r
+\r
+_AllocateGlobalPeiVariables:\r
+  # Reserve top of the stack for Global PEI Variables (eg: PeiServicesTablePointer)\r
+  LoadConstantToReg (FixedPcdGet32(PcdPeiGlobalVariableSize), r1)\r
+  sub   sp, sp, r1\r
+\r
+_PrepareArguments:\r
+  # The PEI Core Entry Point has been computed by GenFV and stored in the second entry of the Reset Vector\r
+  LoadConstantToReg (FixedPcdGet32(PcdNormalFvBaseAddress), r2)\r
+  add   r2, r2, #4\r
+  ldr   r1, [r2]\r
+\r
+  # move sec startup address into a data register\r
+  # ensure we're jumping to FV version of the code (not boot remapped alias)\r
+  ldr   r2, StartupAddr\r
+\r
+  # jump to PrePeiCore C code\r
+  #    r0 = core_id\r
+  #    r1 = pei_core_address\r
+  blx   r2\r
index f37bcb0..be846c5 100644 (file)
@@ -44,6 +44,7 @@
   DebugAgentLib\r
   IoLib\r
   PrintLib\r
+  SerialPortLib\r
 \r
 [Ppis]\r
   gEfiTemporaryRamSupportPpiGuid\r
@@ -62,6 +63,3 @@
   \r
   gArmTokenSpaceGuid.PcdGicDistributorBase\r
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase\r
-\r
-  gArmTokenSpaceGuid.PcdNormalFvBaseAddress\r
-  gArmTokenSpaceGuid.PcdNormalFvSize\r
index d441407..3978118 100755 (executable)
@@ -1,99 +1,99 @@
-#/** @file
-#  
-#  Copyright (c) 2011, ARM Ltd. All rights reserved.<BR>
-#  This program and the accompanying materials
-#  are licensed and made available under the terms and conditions of the BSD License
-#  which accompanies this distribution.  The full text of the license may be found at
-#  http://opensource.org/licenses/bsd-license.php
-#  
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#  
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = ArmPlatformPrePiMPCore
-  FILE_GUID                      = d959e387-7b91-452c-90e0-a1dbac90ddb8
-  MODULE_TYPE                    = SEC
-  VERSION_STRING                 = 1.0
-
-[Sources.ARM]
-  PrePi.c
-  ModuleEntryPoint.S   | GCC
-  ModuleEntryPoint.asm | RVCT
-  Exception.S | GCC
-  Exception.asm | RVCT
-  MainMPCore.c
-  
-[Packages]
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  ArmPkg/ArmPkg.dec
-  ArmPlatformPkg/ArmPlatformPkg.dec
-  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
-
-[LibraryClasses]
-  BaseLib
-  DebugLib
-  DebugAgentLib
-  ArmLib
-  ArmMPCoreMailBoxLib
-  PL390GicNonSecLib
-  IoLib
-  TimerLib
-  SerialPortLib
-  ExtractGuidedSectionLib
-  LzmaDecompressLib
-  PeCoffGetEntryPointLib
-  DebugAgentLib
-  PrePiLib
-  ArmPlatformLib
-  MemoryAllocationLib
-  HobLib
-  PrePiHobListPointerLib
-  PlatformPeiLib
-  MemoryInitPeiLib
-
-[FeaturePcd]  
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable
-  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob
-  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores
-
-[FixedPcd]
-  gArmTokenSpaceGuid.PcdVFPEnabled
-
-  gArmTokenSpaceGuid.PcdNormalFdBaseAddress
-  gArmTokenSpaceGuid.PcdNormalFdSize
-
-  gArmTokenSpaceGuid.PcdNormalFvBaseAddress
-  gArmTokenSpaceGuid.PcdNormalFvSize
-
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize
-
-  gArmPlatformTokenSpaceGuid.PcdPeiGlobalVariableSize
-  gArmPlatformTokenSpaceGuid.PcdHobListPtrGlobalOffset
-
-  gArmTokenSpaceGuid.PcdGicDistributorBase
-  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
-
-  gArmTokenSpaceGuid.PcdSystemMemoryBase
-  gArmTokenSpaceGuid.PcdSystemMemorySize
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize
-  
-  gArmPlatformTokenSpaceGuid.PcdMPCoreMaxCores
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize
-
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData
-
+#/** @file\r
+#  \r
+#  Copyright (c) 2011, ARM Ltd. All rights reserved.<BR>\r
+#  This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#  \r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#  \r
+#**/\r
+\r
+[Defines]\r
+  INF_VERSION                    = 0x00010005\r
+  BASE_NAME                      = ArmPlatformPrePiMPCore\r
+  FILE_GUID                      = d959e387-7b91-452c-90e0-a1dbac90ddb8\r
+  MODULE_TYPE                    = SEC\r
+  VERSION_STRING                 = 1.0\r
+\r
+[Sources.ARM]\r
+  PrePi.c\r
+  ModuleEntryPoint.S   | GCC\r
+  ModuleEntryPoint.asm | RVCT\r
+  Exception.S | GCC\r
+  Exception.asm | RVCT\r
+  MainMPCore.c\r
+  \r
+[Packages]\r
+  MdePkg/MdePkg.dec\r
+  MdeModulePkg/MdeModulePkg.dec\r
+  EmbeddedPkg/EmbeddedPkg.dec\r
+  ArmPkg/ArmPkg.dec\r
+  ArmPlatformPkg/ArmPlatformPkg.dec\r
+  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
+\r
+[LibraryClasses]\r
+  BaseLib\r
+  DebugLib\r
+  DebugAgentLib\r
+  ArmLib\r
+  ArmMPCoreMailBoxLib\r
+  PL390GicNonSecLib\r
+  IoLib\r
+  TimerLib\r
+  SerialPortLib\r
+  ExtractGuidedSectionLib\r
+  LzmaDecompressLib\r
+  PeCoffGetEntryPointLib\r
+  DebugAgentLib\r
+  PrePiLib\r
+  ArmPlatformLib\r
+  MemoryAllocationLib\r
+  HobLib\r
+  PrePiHobListPointerLib\r
+  PlatformPeiLib\r
+  MemoryInitPeiLib\r
+\r
+[FeaturePcd]  \r
+  gEmbeddedTokenSpaceGuid.PcdCacheEnable\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob\r
+  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores\r
+\r
+[FixedPcd]\r
+  gArmTokenSpaceGuid.PcdVFPEnabled\r
+\r
+  gArmTokenSpaceGuid.PcdNormalFdBaseAddress\r
+  gArmTokenSpaceGuid.PcdNormalFdSize\r
+\r
+  gArmTokenSpaceGuid.PcdNormalFvBaseAddress\r
+  gArmTokenSpaceGuid.PcdNormalFvSize\r
+\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize\r
+\r
+  gArmPlatformTokenSpaceGuid.PcdPeiGlobalVariableSize\r
+  gArmPlatformTokenSpaceGuid.PcdHobListPtrGlobalOffset\r
+\r
+  gArmTokenSpaceGuid.PcdGicDistributorBase\r
+  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase\r
+\r
+  gArmTokenSpaceGuid.PcdSystemMemoryBase\r
+  gArmTokenSpaceGuid.PcdSystemMemorySize\r
+  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize\r
+  \r
+  gArmPlatformTokenSpaceGuid.PcdMPCoreMaxCores\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize\r
+\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData\r
+\r
index 7fe6fc3..c4060d9 100755 (executable)
@@ -15,6 +15,7 @@
 #include <PiPei.h>\r
 \r
 #include <Library/DebugAgentLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
 #include <Library/PrePiLib.h>\r
 #include <Library/IoLib.h>\r
 #include <Library/PrintLib.h>\r
index 9a4a66b..8e5ea31 100644 (file)
-#------------------------------------------------------------------------------ 
-#
-# ARM VE Entry point. Reset vector in FV header will brach to
-# _ModuleEntryPoint. 
-#
-#  Copyright (c) 2011, ARM Limited. All rights reserved.
-#  
-#  This program and the accompanying materials                          
-#  are licensed and made available under the terms and conditions of the BSD License         
-#  which accompanies this distribution.  The full text of the license may be found at        
-#  http://opensource.org/licenses/bsd-license.php                                            
-#
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
-#
-#------------------------------------------------------------------------------
-
-#include <AsmMacroIoLib.h>
-#include <Base.h>
-#include <Library/PcdLib.h>
-#include <Library/ArmPlatformLib.h>
-#include <AutoGen.h>
-
-#Start of Code section
-.text
-.align 3
-
-#make _ModuleEntryPoint as global
-GCC_ASM_EXPORT(_ModuleEntryPoint)
-
-#global functions referenced by this module
-GCC_ASM_IMPORT(CEntryPoint)
-GCC_ASM_IMPORT(ArmPlatformIsMemoryInitialized)
-GCC_ASM_IMPORT(ArmPlatformInitializeBootMemory)
-GCC_ASM_IMPORT(ArmDisableInterrupts)
-GCC_ASM_IMPORT(ArmDisableCachesAndMmu)
-GCC_ASM_IMPORT(ArmWriteVBar)
-GCC_ASM_IMPORT(SecVectorTable)
-
-#if (FixedPcdGet32(PcdMPCoreSupport))
-GCC_ASM_IMPORT(ArmIsScuEnable)
-#endif
-
-StartupAddr:        .word   ASM_PFX(CEntryPoint)
-SecVectorTableAddr: .word              ASM_PFX(SecVectorTable)
-
-ASM_PFX(_ModuleEntryPoint):
- #Set VBAR to the start of the exception vectors in Secure Mode
-  ldr   r0, SecVectorTableAddr
-  bl   ASM_PFX(ArmWriteVBar)
-
-  # First ensure all interrupts are disabled
-  bl   ASM_PFX(ArmDisableInterrupts)
-
-  # Ensure that the MMU and caches are off
-  bl  ASM_PFX(ArmDisableCachesAndMmu)
-
-_IdentifyCpu: 
-  # Identify CPU ID
-  bl    ASM_PFX(ArmReadMpidr)
-  and   r5, r0, #0xf
-  
-  #get ID of this CPU in Multicore system
-  cmp   r5, #0
-  # Only the primary core initialize the memory (SMC)
-  beq   _InitMem
-  
-#if (FixedPcdGet32(PcdMPCoreSupport))
-  # ... The secondary cores wait for SCU to be enabled
-_WaitForEnabledScu:
-  bl    ASM_PFX(ArmIsScuEnable)
-  tst   r1, #1
-  beq   _WaitForEnabledScu
-  b     _SetupStack
-#endif
-  
-_InitMem:
-  bl    ASM_PFX(ArmPlatformIsMemoryInitialized)
-  bne   _SetupStack
-  
-  # Initialize Init Memory
-  bl    ASM_PFX(ArmPlatformInitializeBootMemory)
-
-  # Only Primary CPU could run this line (the secondary cores have jumped from _IdentifyCpu to _SetupStack)
-  mov   r5, #0
-_SetupStack:
-  # Setup Stack for the 4 CPU cores
-  #Read Stack Base address from PCD
-  LoadConstantToReg (FixedPcdGet32(PcdCPUCoresSecStackBase), r1)
-
-  #read Stack size from PCD
-  LoadConstantToReg (FixedPcdGet32(PcdCPUCoreSecStackSize), r2)
-
-  #calcuate Stack Pointer reg value using Stack size and CPU ID.
-  mov     r3,r5         @ r3 = core_id
-  mul     r3,r3,r2      @ r3 = core_id * stack_size = offset from the stack base
-  add     r3,r3,r1      @ r3 ldr= stack_base + offset
-  mov     sp, r3
-  
-  # move sec startup address into a data register
-  # ensure we're jumping to FV version of the code (not boot remapped alias)
-  ldr   r3, StartupAddr
-  
-  # Move the CoreId in r0 to be the first argument of the SEC Entry Point
-  mov   r0, r5
-
-  # jump to SEC C code
-  #    r0 = core_id
-  blx  r3
-
-
+#------------------------------------------------------------------------------ \r
+#\r
+# ARM VE Entry point. Reset vector in FV header will brach to\r
+# _ModuleEntryPoint. \r
+#\r
+#  Copyright (c) 2011, ARM Limited. All rights reserved.\r
+#  \r
+#  This program and the accompanying materials                          \r
+#  are licensed and made available under the terms and conditions of the BSD License         \r
+#  which accompanies this distribution.  The full text of the license may be found at        \r
+#  http://opensource.org/licenses/bsd-license.php                                            \r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+#include <AsmMacroIoLib.h>\r
+#include <Base.h>\r
+#include <Library/PcdLib.h>\r
+#include <Library/ArmPlatformLib.h>\r
+#include <AutoGen.h>\r
+\r
+#Start of Code section\r
+.text\r
+.align 3\r
+\r
+#make _ModuleEntryPoint as global\r
+GCC_ASM_EXPORT(_ModuleEntryPoint)\r
+\r
+#global functions referenced by this module\r
+GCC_ASM_IMPORT(CEntryPoint)\r
+GCC_ASM_IMPORT(ArmPlatformIsMemoryInitialized)\r
+GCC_ASM_IMPORT(ArmPlatformInitializeBootMemory)\r
+GCC_ASM_IMPORT(ArmDisableInterrupts)\r
+GCC_ASM_IMPORT(ArmDisableCachesAndMmu)\r
+GCC_ASM_IMPORT(ArmWriteVBar)\r
+GCC_ASM_IMPORT(SecVectorTable)\r
+\r
+#if (FixedPcdGet32(PcdMPCoreSupport))\r
+GCC_ASM_IMPORT(ArmIsScuEnable)\r
+#endif\r
+\r
+StartupAddr:        .word   ASM_PFX(CEntryPoint)\r
+SecVectorTableAddr: .word              ASM_PFX(SecVectorTable)\r
+\r
+ASM_PFX(_ModuleEntryPoint):\r
+ #Set VBAR to the start of the exception vectors in Secure Mode\r
+  ldr   r0, SecVectorTableAddr\r
+  bl   ASM_PFX(ArmWriteVBar)\r
+\r
+  # First ensure all interrupts are disabled\r
+  bl   ASM_PFX(ArmDisableInterrupts)\r
+\r
+  # Ensure that the MMU and caches are off\r
+  bl  ASM_PFX(ArmDisableCachesAndMmu)\r
+\r
+_IdentifyCpu: \r
+  # Identify CPU ID\r
+  bl    ASM_PFX(ArmReadMpidr)\r
+  and   r5, r0, #0xf\r
+  \r
+  #get ID of this CPU in Multicore system\r
+  cmp   r5, #0\r
+  # Only the primary core initialize the memory (SMC)\r
+  beq   _InitMem\r
+  \r
+#if (FixedPcdGet32(PcdMPCoreSupport))\r
+  # ... The secondary cores wait for SCU to be enabled\r
+_WaitForEnabledScu:\r
+  bl    ASM_PFX(ArmIsScuEnable)\r
+  tst   r1, #1\r
+  beq   _WaitForEnabledScu\r
+  b     _SetupStack\r
+#endif\r
+  \r
+_InitMem:\r
+  bl    ASM_PFX(ArmPlatformIsMemoryInitialized)\r
+  bne   _SetupStack\r
+  \r
+  # Initialize Init Memory\r
+  bl    ASM_PFX(ArmPlatformInitializeBootMemory)\r
+\r
+  # Only Primary CPU could run this line (the secondary cores have jumped from _IdentifyCpu to _SetupStack)\r
+  mov   r5, #0\r
\r
+_SetupStack:\r
+  # Setup Stack for the 4 CPU cores\r
+  #Read Stack Base address from PCD\r
+  LoadConstantToReg (FixedPcdGet32(PcdCPUCoresSecStackBase), r1)\r
+\r
+  #read Stack size from PCD\r
+  LoadConstantToReg (FixedPcdGet32(PcdCPUCoreSecStackSize), r2)\r
+\r
+  #calcuate Stack Pointer reg value using Stack size and CPU ID.\r
+  mov     r3,r5         @ r3 = core_id\r
+  mul     r3,r3,r2      @ r3 = core_id * stack_size = offset from the stack base\r
+  add     r3,r3,r1      @ r3 ldr= stack_base + offset\r
+  mov     sp, r3\r
+  \r
+  # move sec startup address into a data register\r
+  # ensure we're jumping to FV version of the code (not boot remapped alias)\r
+  ldr   r3, StartupAddr\r
+  \r
+  # Move the CoreId in r0 to be the first argument of the SEC Entry Point\r
+  mov   r0, r5\r
+\r
+  # jump to SEC C code\r
+  #    r0 = core_id\r
+  blx  r3\r
+\r
+\r
index 29b462a..65974d8 100755 (executable)
-#/** @file
-# Beagle board package.
-#
-# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>
-#
-#    This program and the accompanying materials
-#    are licensed and made available under the terms and conditions of the BSD License
-#    which accompanies this distribution. The full text of the license may be found at
-#    http://opensource.org/licenses/bsd-license.php
-#
-#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
-################################################################################
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-################################################################################
-[Defines]
-  PLATFORM_NAME                  = BeagleBoardPkg
-  PLATFORM_GUID                  = 91fa6c28-33df-46ac-aee6-292d6811ea31
-  PLATFORM_VERSION               = 0.1
-  DSC_SPECIFICATION              = 0x00010005
-  OUTPUT_DIRECTORY               = Build/BeagleBoard
-  SUPPORTED_ARCHITECTURES        = ARM
-  BUILD_TARGETS                  = DEBUG|RELEASE
-  SKUID_IDENTIFIER               = DEFAULT
-  FLASH_DEFINITION               = BeagleBoardPkg/BeagleBoardPkg-next.fdf
-
-
-[LibraryClasses.common]
-  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-
-!if $(TARGET) == RELEASE
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
-#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
-!endif
-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
-
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
-  ArmPlatformLib|BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
-
-  EfiResetSystemLib|BeagleBoardPkg/Library/ResetSystemLib/ResetSystemLib.inf
-  
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  
-  EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf
-  
-  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
-  
-  
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  
-  #
-  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window 
-  # in the debugger will show load and unload commands for symbols. You can cut and paste this
-  # into the command window to load symbols. We should be able to use a script to do this, but
-  # the version of RVD I have does not support scipts accessing system memory.
-  #
-#  PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
-  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
-#  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
-
-  
-  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
-  DefaultExceptioHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
-  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
-  
-  SerialPortLib|Omap35xxPkg/Library/SerialPortLib/SerialPortLib.inf
-  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
-  
-  RealTimeClockLib|Omap35xxPkg/Library/RealTimeClockLib/RealTimeClockLib.inf
-
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
-
-#
-# Assume everything is fixed at build
-#
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-  
-  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
-  EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
-  
-
-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
-
-  TimerLib|Omap35xxPkg/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf  
-  OmapLib|Omap35xxPkg/Library/OmapLib/OmapLib.inf
-  OmapDmaLib|Omap35xxPkg/Library/OmapDmaLib/OmapDmaLib.inf
-  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
+#/** @file\r
+# Beagle board package.\r
+#\r
+# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>\r
+#\r
+#    This program and the accompanying materials\r
+#    are licensed and made available under the terms and conditions of the BSD License\r
+#    which accompanies this distribution. The full text of the license may be found at\r
+#    http://opensource.org/licenses/bsd-license.php\r
+#\r
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+#**/\r
+\r
+################################################################################\r
+#\r
+# Defines Section - statements that will be processed to create a Makefile.\r
+#\r
+################################################################################\r
+[Defines]\r
+  PLATFORM_NAME                  = BeagleBoardPkg\r
+  PLATFORM_GUID                  = 91fa6c28-33df-46ac-aee6-292d6811ea31\r
+  PLATFORM_VERSION               = 0.1\r
+  DSC_SPECIFICATION              = 0x00010005\r
+  OUTPUT_DIRECTORY               = Build/BeagleBoard\r
+  SUPPORTED_ARCHITECTURES        = ARM\r
+  BUILD_TARGETS                  = DEBUG|RELEASE\r
+  SKUID_IDENTIFIER               = DEFAULT\r
+  FLASH_DEFINITION               = BeagleBoardPkg/BeagleBoardPkg-next.fdf\r
+\r
+\r
+[LibraryClasses.common]\r
+  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf\r
+  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
+  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
+\r
+!if $(TARGET) == RELEASE\r
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
+!else\r
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
+#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf\r
+!endif\r
+  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
+\r
+  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
+  ArmPlatformLib|BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+  \r
+  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
+  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf\r
+\r
+  EfiResetSystemLib|BeagleBoardPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
+  \r
+  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
+  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
+  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
+  \r
+  EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf\r
+  \r
+  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf\r
+  \r
+  \r
+  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
+  \r
+  #\r
+  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window \r
+  # in the debugger will show load and unload commands for symbols. You can cut and paste this\r
+  # into the command window to load symbols. We should be able to use a script to do this, but\r
+  # the version of RVD I have does not support scipts accessing system memory.\r
+  #\r
+#  PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf\r
+  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf\r
+#  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
+\r
+  \r
+  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
+  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf\r
+  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
+  \r
+  SerialPortLib|Omap35xxPkg/Library/SerialPortLib/SerialPortLib.inf\r
+  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf\r
+  \r
+  RealTimeClockLib|Omap35xxPkg/Library/RealTimeClockLib/RealTimeClockLib.inf\r
+\r
+  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+  \r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
+  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
+  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
+\r
+  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
+  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
+  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
+\r
+#\r
+# Assume everything is fixed at build\r
+#\r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+\r
+  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
+  \r
+  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
+  EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf\r
+  \r
+\r
+  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
+\r
+  TimerLib|Omap35xxPkg/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf  \r
+  OmapLib|Omap35xxPkg/Library/OmapLib/OmapLib.inf\r
+  OmapDmaLib|Omap35xxPkg/Library/OmapDmaLib/OmapDmaLib.inf\r
+  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf\r
   DebugAgentTimerLib|Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf\r
-
-  GdbSerialLib|Omap35xxPkg/Library/GdbSerialLib/GdbSerialLib.inf
-  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
-  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
-  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
-
-[LibraryClasses.common.SEC]
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
-  LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
-
-  # Temp work around for Movt relocation issue. 
-  #PeCoffLib|ArmPkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  
-  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
-  PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
-  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
-  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
-  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
-  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
-  
-  # 1/123 faster than Stm or Vstm version
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-
+\r
+  GdbSerialLib|Omap35xxPkg/Library/GdbSerialLib/GdbSerialLib.inf\r
+  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf\r
+  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
+  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf\r
+\r
+[LibraryClasses.common.SEC]\r
+  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf\r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
+  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
+  LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+\r
+  # Temp work around for Movt relocation issue. \r
+  #PeCoffLib|ArmPkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  \r
+  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
+  PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
+  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
+  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf\r
+  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
+  \r
+  # 1/123 faster than Stm or Vstm version\r
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+\r
   # Uncomment to turn on GDB stub in SEC. \r
   #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf\r
-
-[LibraryClasses.common.PEI_CORE]
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
-
-[LibraryClasses.common.DXE_CORE]
-  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
-  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
-
-  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
-  
-
-[LibraryClasses.common.DXE_DRIVER]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-
-
-[LibraryClasses.common.UEFI_APPLICATION]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
-#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
-
-
-[LibraryClasses.ARM]
-  #
-  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
-  # This library provides the instrinsic functions generate by a given compiler.
-  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
-  #
-  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
-
-
-[BuildOptions]
-  XCODE:*_*_ARM_ARCHCC_FLAGS     == -arch armv7 -march=armv7
-  XCODE:*_*_ARM_ARCHASM_FLAGS    == -arch armv7
-  XCODE:*_*_ARM_ARCHDLINK_FLAGS  == -arch armv7
-  XCODE:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG 
-
-  GCC:*_*_ARM_ARCHCC_FLAGS     == -march=armv7-a -mthumb
-  GCC:*_*_ARM_ARCHASM_FLAGS    == -march=armv7-a
-  GCC:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG 
-
-  RVCT:*_*_ARM_ARCHCC_FLAGS  == --cpu Cortex-A8 --thumb
-  RVCT:*_*_ARM_ARCHASM_FLAGS == --cpu Cortex-A8 
-  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG 
-
-################################################################################
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
-#
-################################################################################
-
-[PcdsFeatureFlag.common]
-  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
-  
-  #
-  # Control what commands are supported from the UI
-  # Turn these on and off to add features or save size
-  #  
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
-
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
-  
-  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
-  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
-  
-  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
-  gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE
-
-  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
-  
-[PcdsFixedAtBuild.common]
-  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"Beagle Board"
-  
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"BeagleEdk2"
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
-  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
-  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
-  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
-  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
-
-# DEBUG_ASSERT_ENABLED       0x01
-# DEBUG_PRINT_ENABLED        0x02
-# DEBUG_CODE_ENABLED         0x04
-# CLEAR_MEMORY_ENABLED       0x08
-# ASSERT_BREAKPOINT_ENABLED  0x10
-# ASSERT_DEADLOOP_ENABLED    0x20
-!if $(TARGET) == RELEASE
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
-!else
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
-!endif
-
-#  DEBUG_INIT      0x00000001  // Initialization
-#  DEBUG_WARN      0x00000002  // Warnings
-#  DEBUG_LOAD      0x00000004  // Load events
-#  DEBUG_FS        0x00000008  // EFI File system
-#  DEBUG_POOL      0x00000010  // Alloc & Free's
-#  DEBUG_PAGE      0x00000020  // Alloc & Free's
-#  DEBUG_INFO      0x00000040  // Verbose
-#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers
-#  DEBUG_VARIABLE  0x00000100  // Variable
-#  DEBUG_BM        0x00000400  // Boot Manager
-#  DEBUG_BLKIO     0x00001000  // BlkIo Driver
-#  DEBUG_NET       0x00004000  // SNI Driver
-#  DEBUG_UNDI      0x00010000  // UNDI Driver
-#  DEBUG_LOADFILE  0x00020000  // UNDI Driver
-#  DEBUG_EVENT     0x00080000  // Event messages
-#  DEBUG_ERROR     0x80000000  // Error
-
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
-
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
-
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
-  
-  gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|0
-  gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize|0
-
-#
-# Optional feature to help prevent EFI memory map fragments
-# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
-# Values are in EFI Pages (4K). DXE Core will make sure that 
-# at least this much of each type of memory can be allocated 
-# from a single memory range. This way you only end up with
-# maximum of two fragements for each type in the memory map
-# (the memory used, and the free memory that was prereserved
-# but not used).
-#
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|40
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|3000
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|10
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
-
-
-#
-# Beagle board Specific PCDs
-#
-  gArmTokenSpaceGuid.PcdVFPEnabled|1
-  
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase|0x87FE0000 # stack at top of memory
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize|0x20000  # 128K stack
-
-  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x08000000
-
-  # Size of the region used by UEFI in permanent memory (Reserved 16MB)
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x01000000
-  
-  # Size of the region reserved for fixed address allocations (Reserved 32MB)
-  gArmTokenSpaceGuid.PcdArmLinuxKernelMaxOffset|0x02000000
-
-  # Reserved to store the HobBase address (top of UEFI Memory Region)
-  #  = (PcdSystemMemoryBase + PcdSystemMemorySize) - sizeof(UINT32)
-  gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x87FFFFFC
-
-  #gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x80001000
-  gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0x87FE0000 # stack at top of memory
-  gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0x20000  # 128K stack
-  
-  gEmbeddedTokenSpaceGuid.PcdMemoryBase|0x80000000
-  gEmbeddedTokenSpaceGuid.PcdMemorySize|0x10000000
-
-
-  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80008000
-  gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
-  
-  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
-  
-  #
-  # ARM Pcds
-  #
-  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
-
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SD"
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/zImage"
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1
-  gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10
-  gArmPlatformTokenSpaceGuid.PcdFdtDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/omap3-beagle.dtb"
-
-  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(6696936D-3637-467C-87CB-14EA8248948C)/Uart(115200,8,N,1)/VenPcAnsi()"
-  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(6696936D-3637-467C-87CB-14EA8248948C)/Uart(115200,8,N,1)/VenPcAnsi()"
-
-  #
-  # ARM OS Loader
-  #
-  # BeagleBoard machine type (OMAP3_BEAGLE = 1546) required for ARM Linux: 
-  gArmTokenSpaceGuid.PcdArmMachineType|1546 
-
-################################################################################
-#
-# Components Section - list of all EDK II Modules needed by this Platform
-#
-################################################################################
-[Components.common]
-
-#
-# SEC
-#
-  ArmPlatformPkg/PrePi/PeiUniCore.inf
-  
-#
-# DXE
-#
-  MdeModulePkg/Core/Dxe/DxeMain.inf {
-    <LibraryClasses>
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
-#      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
-      NULL|EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf    
-  }
-
-  ArmPkg/Drivers/CpuDxe/CpuDxe.inf
-  
-  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
-  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
-  MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
-  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
-  
-  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf 
-#
-# This version uses semi-hosting console  
-#  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf {
-#    <LibraryClasses>
-#      SerialPortLib|ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf
-#  }
-  
-  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
-  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
-  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
-
-  #
-  # Semi-hosting filesystem
-  #
-  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
-  
-  #
-  # FAT filesystem + GPT/MBR partitioning
-  #
-  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-  FatPkg/EnhancedFatDxe/Fat.inf
-  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-
-  #
-  # USB
-  #
-  Omap35xxPkg/PciEmulation/PciEmulation.inf
-
-  #NOTE: Open source EHCI stack doesn't work on Beagleboard.
-  #NOTE: UsbBus and UsbMassStorage don't work using iPhone SDK tool chain.
-  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf {
-    <PcdsFixedAtBuild>
-      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800fffff
-  }
-
-  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
-  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
-  #
-  # Nand Flash
-  #
-  Omap35xxPkg/Flash/Flash.inf
-
-  #
-  # MMC/SD
-  #
-  EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
-  Omap35xxPkg/MmcHostDxe/MmcHostDxe.inf
-  
-  #
-  # I2C
-  #
-  Omap35xxPkg/SmbusDxe/Smbus.inf
-  
-  #
-  # SoC Drivers
-  #
-  Omap35xxPkg/Gpio/Gpio.inf
-  Omap35xxPkg/InterruptDxe/InterruptDxe.inf
-  Omap35xxPkg/TimerDxe/TimerDxe.inf 
-  
-  #
-  # Power IC
-  #
-  Omap35xxPkg/TPS65950Dxe/TPS65950.inf
-  
-  #
-  # Application
-  #  
-  EmbeddedPkg/Ebl/Ebl.inf
-  
-  #
-  # Bds
-  #
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
-  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-  ArmPlatformPkg/Bds/Bds.inf 
-
-  #
-  # Example Application
-  #  
-  MdeModulePkg/Application/HelloWorld/HelloWorld.inf
-
+\r
+[LibraryClasses.common.PEI_CORE]\r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+\r
+[LibraryClasses.common.DXE_CORE]\r
+  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
+  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
+#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf\r
+\r
+  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf\r
+  \r
+\r
+[LibraryClasses.common.DXE_DRIVER]\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
+  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
+\r
+\r
+[LibraryClasses.common.UEFI_APPLICATION]\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
+  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
+\r
+[LibraryClasses.common.UEFI_DRIVER]\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
+  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
+\r
+[LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
+#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf\r
+\r
+\r
+[LibraryClasses.ARM]\r
+  #\r
+  # It is not possible to prevent the ARM compiler for generic intrinsic functions.\r
+  # This library provides the instrinsic functions generate by a given compiler.\r
+  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.\r
+  #\r
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+\r
+\r
+[BuildOptions]\r
+  XCODE:*_*_ARM_ARCHCC_FLAGS     == -arch armv7 -march=armv7\r
+  XCODE:*_*_ARM_ARCHASM_FLAGS    == -arch armv7\r
+  XCODE:*_*_ARM_ARCHDLINK_FLAGS  == -arch armv7\r
+  XCODE:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG \r
+\r
+  GCC:*_*_ARM_ARCHCC_FLAGS     == -march=armv7-a -mthumb\r
+  GCC:*_*_ARM_ARCHASM_FLAGS    == -march=armv7-a\r
+  GCC:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG \r
+\r
+  RVCT:*_*_ARM_ARCHCC_FLAGS  == --cpu Cortex-A8 --thumb\r
+  RVCT:*_*_ARM_ARCHASM_FLAGS == --cpu Cortex-A8 \r
+  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG \r
+\r
+################################################################################\r
+#\r
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
+#\r
+################################################################################\r
+\r
+[PcdsFeatureFlag.common]\r
+  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE\r
+  \r
+  #\r
+  # Control what commands are supported from the UI\r
+  # Turn these on and off to add features or save size\r
+  #  \r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE\r
+\r
+  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE\r
+  \r
+  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress\r
+  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE\r
+  gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE\r
+\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
+  \r
+[PcdsFixedAtBuild.common]\r
+  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"Beagle Board"\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"BeagleEdk2"\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF\r
+  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1\r
+  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0\r
+  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320\r
+\r
+# DEBUG_ASSERT_ENABLED       0x01\r
+# DEBUG_PRINT_ENABLED        0x02\r
+# DEBUG_CODE_ENABLED         0x04\r
+# CLEAR_MEMORY_ENABLED       0x08\r
+# ASSERT_BREAKPOINT_ENABLED  0x10\r
+# ASSERT_DEADLOOP_ENABLED    0x20\r
+!if $(TARGET) == RELEASE\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21\r
+!else\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f\r
+!endif\r
+\r
+#  DEBUG_INIT      0x00000001  // Initialization\r
+#  DEBUG_WARN      0x00000002  // Warnings\r
+#  DEBUG_LOAD      0x00000004  // Load events\r
+#  DEBUG_FS        0x00000008  // EFI File system\r
+#  DEBUG_POOL      0x00000010  // Alloc & Free's\r
+#  DEBUG_PAGE      0x00000020  // Alloc & Free's\r
+#  DEBUG_INFO      0x00000040  // Verbose\r
+#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers\r
+#  DEBUG_VARIABLE  0x00000100  // Variable\r
+#  DEBUG_BM        0x00000400  // Boot Manager\r
+#  DEBUG_BLKIO     0x00001000  // BlkIo Driver\r
+#  DEBUG_NET       0x00004000  // SNI Driver\r
+#  DEBUG_UNDI      0x00010000  // UNDI Driver\r
+#  DEBUG_LOADFILE  0x00020000  // UNDI Driver\r
+#  DEBUG_EVENT     0x00080000  // Event messages\r
+#  DEBUG_ERROR     0x80000000  // Error\r
+\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F\r
+\r
+  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
+\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|0\r
+  gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize|0\r
+\r
+#\r
+# Optional feature to help prevent EFI memory map fragments\r
+# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob\r
+# Values are in EFI Pages (4K). DXE Core will make sure that \r
+# at least this much of each type of memory can be allocated \r
+# from a single memory range. This way you only end up with\r
+# maximum of two fragements for each type in the memory map\r
+# (the memory used, and the free memory that was prereserved\r
+# but not used).\r
+#\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|40\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|3000\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|10\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0\r
+\r
+\r
+#\r
+# Beagle board Specific PCDs\r
+#\r
+  gArmTokenSpaceGuid.PcdVFPEnabled|1\r
+  \r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase|0x87FE0000 # stack at top of memory\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize|0x20000  # 128K stack\r
+\r
+  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000\r
+  gArmTokenSpaceGuid.PcdSystemMemorySize|0x08000000\r
+\r
+  # Size of the region used by UEFI in permanent memory (Reserved 16MB)\r
+  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x01000000\r
+  \r
+  # Size of the region reserved for fixed address allocations (Reserved 32MB)\r
+  gArmTokenSpaceGuid.PcdArmLinuxKernelMaxOffset|0x02000000\r
+\r
+  # Reserved to store the HobBase address (top of UEFI Memory Region)\r
+  #  = (PcdSystemMemoryBase + PcdSystemMemorySize) - sizeof(UINT32)\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x87FFFFFC\r
+\r
+  #gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x80001000\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0x87FE0000 # stack at top of memory\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0x20000  # 128K stack\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdMemoryBase|0x80000000\r
+  gEmbeddedTokenSpaceGuid.PcdMemorySize|0x10000000\r
+\r
+\r
+  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80008000\r
+  gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000\r
+  \r
+  #\r
+  # ARM Pcds\r
+  #\r
+  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000\r
+\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SD"\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/zImage"\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1\r
+  gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10\r
+  gArmPlatformTokenSpaceGuid.PcdFdtDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/omap3-beagle.dtb"\r
+\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(6696936D-3637-467C-87CB-14EA8248948C)/Uart(115200,8,N,1)/VenPcAnsi()"\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(6696936D-3637-467C-87CB-14EA8248948C)/Uart(115200,8,N,1)/VenPcAnsi()"\r
+\r
+  #\r
+  # ARM OS Loader\r
+  #\r
+  # BeagleBoard machine type (OMAP3_BEAGLE = 1546) required for ARM Linux: \r
+  gArmTokenSpaceGuid.PcdArmMachineType|1546 \r
+\r
+################################################################################\r
+#\r
+# Components Section - list of all EDK II Modules needed by this Platform\r
+#\r
+################################################################################\r
+[Components.common]\r
+\r
+#\r
+# SEC\r
+#\r
+  ArmPlatformPkg/PrePi/PeiUniCore.inf\r
+  \r
+#\r
+# DXE\r
+#\r
+  MdeModulePkg/Core/Dxe/DxeMain.inf {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
+#      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+      NULL|EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf    \r
+  }\r
+\r
+  ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
+  \r
+  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
+  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
+  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
+  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
+  MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf\r
+  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf\r
+  \r
+  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf \r
+#\r
+# This version uses semi-hosting console  \r
+#  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf {\r
+#    <LibraryClasses>\r
+#      SerialPortLib|ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf\r
+#  }\r
+  \r
+  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
+  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
+  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
+\r
+  #\r
+  # Semi-hosting filesystem\r
+  #\r
+  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
+  \r
+  #\r
+  # FAT filesystem + GPT/MBR partitioning\r
+  #\r
+  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
+  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
+  FatPkg/EnhancedFatDxe/Fat.inf\r
+  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
+\r
+  #\r
+  # USB\r
+  #\r
+  Omap35xxPkg/PciEmulation/PciEmulation.inf\r
+\r
+  #NOTE: Open source EHCI stack doesn't work on Beagleboard.\r
+  #NOTE: UsbBus and UsbMassStorage don't work using iPhone SDK tool chain.\r
+  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf {\r
+    <PcdsFixedAtBuild>\r
+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800fffff\r
+  }\r
+\r
+  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
+  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
+\r
+  #\r
+  # Nand Flash\r
+  #\r
+  Omap35xxPkg/Flash/Flash.inf\r
+\r
+  #\r
+  # MMC/SD\r
+  #\r
+  EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
+  Omap35xxPkg/MmcHostDxe/MmcHostDxe.inf\r
+  \r
+  #\r
+  # I2C\r
+  #\r
+  Omap35xxPkg/SmbusDxe/Smbus.inf\r
+  \r
+  #\r
+  # SoC Drivers\r
+  #\r
+  Omap35xxPkg/Gpio/Gpio.inf\r
+  Omap35xxPkg/InterruptDxe/InterruptDxe.inf\r
+  Omap35xxPkg/TimerDxe/TimerDxe.inf \r
+  \r
+  #\r
+  # Power IC\r
+  #\r
+  Omap35xxPkg/TPS65950Dxe/TPS65950.inf\r
+  \r
+  #\r
+  # Application\r
+  #  \r
+  EmbeddedPkg/Ebl/Ebl.inf\r
+  \r
+  #\r
+  # Bds\r
+  #\r
+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
+  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
+  ArmPlatformPkg/Bds/Bds.inf \r
+\r
+  #\r
+  # Example Application\r
+  #  \r
+  MdeModulePkg/Application/HelloWorld/HelloWorld.inf\r
+\r
index 8df6a0e..6a05041 100644 (file)
-#/** @file
-# Beagle board package.
-#
-# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>
-#
-#    This program and the accompanying materials
-#    are licensed and made available under the terms and conditions of the BSD License
-#    which accompanies this distribution. The full text of the license may be found at
-#    http://opensource.org/licenses/bsd-license.php
-#
-#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
-################################################################################
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-################################################################################
-[Defines]
-  PLATFORM_NAME                  = BeagleBoardPkg
-  PLATFORM_GUID                  = 91fa6c28-33df-46ac-aee6-292d6811ea31
-  PLATFORM_VERSION               = 0.1
-  DSC_SPECIFICATION              = 0x00010005
-  OUTPUT_DIRECTORY               = Build/BeagleBoard
-  SUPPORTED_ARCHITECTURES        = ARM
-  BUILD_TARGETS                  = DEBUG|RELEASE
-  SKUID_IDENTIFIER               = DEFAULT
-  FLASH_DEFINITION               = BeagleBoardPkg/BeagleBoardPkg.fdf
-
-
-[LibraryClasses.common]
-  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-
-!if $(TARGET) == RELEASE
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
-#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
-!endif
-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
-
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PrePiHobListPointerLib|EmbeddedPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
-  
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
-
-  EfiResetSystemLib|BeagleBoardPkg/Library/ResetSystemLib/ResetSystemLib.inf
-  
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  
-  EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf
-  
-  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
-  
-  
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  
-  #
-  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window 
-  # in the debugger will show load and unload commands for symbols. You can cut and paste this
-  # into the command window to load symbols. We should be able to use a script to do this, but
-  # the version of RVD I have does not support scipts accessing system memory.
-  #
-#  PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
-  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
-#  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
-
-  
-  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
-  DefaultExceptioHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
-  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
-  
-  SerialPortLib|Omap35xxPkg/Library/SerialPortLib/SerialPortLib.inf
-  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
-  
-  RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
-
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
-
-#
-# Assume everything is fixed at build
-#
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-  
-  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
-  EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
-  
-
-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
-
-  TimerLib|Omap35xxPkg/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf  
-  OmapLib|Omap35xxPkg/Library/OmapLib/OmapLib.inf
-  OmapDmaLib|Omap35xxPkg/Library/OmapDmaLib/OmapDmaLib.inf
-  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
-  DebugAgentTimerLib|Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
-
-  GdbSerialLib|Omap35xxPkg/Library/GdbSerialLib/GdbSerialLib.inf
-  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
-  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
-  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
-
-[LibraryClasses.common.SEC]
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
-  LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
-
-# Temp work around for Movt relocation issue. 
-  PeCoffLib|ArmPkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  
-  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
-  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
-  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
-  
-  # 1/123 faster than Stm or Vstm version
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-
-  # Uncomment to turn on GDB stub in SEC. 
-  #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf
-
-[LibraryClasses.common.PEI_CORE]
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
-
-[LibraryClasses.common.DXE_CORE]
-  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
-  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
-
-  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
-  
-
-[LibraryClasses.common.DXE_DRIVER]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-
-
-[LibraryClasses.common.UEFI_APPLICATION]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
-#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
-
-
-[LibraryClasses.ARM]
-  #
-  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
-  # This library provides the instrinsic functions generate by a given compiler.
-  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
-  #
-  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
-
-
-[BuildOptions]
-  XCODE:*_*_ARM_ARCHCC_FLAGS     == -arch armv7 -march=armv7
-  XCODE:*_*_ARM_ARCHASM_FLAGS    == -arch armv7
-  XCODE:*_*_ARM_ARCHDLINK_FLAGS  == -arch armv7
-  XCODE:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG 
-
-  GCC:*_*_ARM_ARCHCC_FLAGS     == -march=armv7-a -mthumb
-  GCC:*_*_ARM_ARCHASM_FLAGS    == -march=armv7-a
-  GCC:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG 
-
-  RVCT:*_*_ARM_ARCHCC_FLAGS  == --cpu Cortex-A8 --thumb
-  RVCT:*_*_ARM_ARCHASM_FLAGS == --cpu Cortex-A8 
-  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG 
-
-################################################################################
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
-#
-################################################################################
-
-[PcdsFeatureFlag.common]
-  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
-  
-  #
-  # Control what commands are supported from the UI
-  # Turn these on and off to add features or save size
-  #  
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
-
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
-  
-  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
-  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
-  
-  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
-  gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE
-
-  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
-  
-[PcdsFixedAtBuild.common]
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"BeagleEdk2"
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
-  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
-  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
-  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
-  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
-
-# DEBUG_ASSERT_ENABLED       0x01
-# DEBUG_PRINT_ENABLED        0x02
-# DEBUG_CODE_ENABLED         0x04
-# CLEAR_MEMORY_ENABLED       0x08
-# ASSERT_BREAKPOINT_ENABLED  0x10
-# ASSERT_DEADLOOP_ENABLED    0x20
-!if $(TARGET) == RELEASE
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
-!else
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
-!endif
-
-#  DEBUG_INIT      0x00000001  // Initialization
-#  DEBUG_WARN      0x00000002  // Warnings
-#  DEBUG_LOAD      0x00000004  // Load events
-#  DEBUG_FS        0x00000008  // EFI File system
-#  DEBUG_POOL      0x00000010  // Alloc & Free's
-#  DEBUG_PAGE      0x00000020  // Alloc & Free's
-#  DEBUG_INFO      0x00000040  // Verbose
-#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers
-#  DEBUG_VARIABLE  0x00000100  // Variable
-#  DEBUG_BM        0x00000400  // Boot Manager
-#  DEBUG_BLKIO     0x00001000  // BlkIo Driver
-#  DEBUG_NET       0x00004000  // SNI Driver
-#  DEBUG_UNDI      0x00010000  // UNDI Driver
-#  DEBUG_LOADFILE  0x00020000  // UNDI Driver
-#  DEBUG_EVENT     0x00080000  // Event messages
-#  DEBUG_ERROR     0x80000000  // Error
-
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
-
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
-
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
-  
-  gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|0
-  gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize|0
-
-#
-# Optional feature to help prevent EFI memory map fragments
-# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
-# Values are in EFI Pages (4K). DXE Core will make sure that 
-# at least this much of each type of memory can be allocated 
-# from a single memory range. This way you only end up with
-# maximum of two fragements for each type in the memory map
-# (the memory used, and the free memory that was prereserved
-# but not used).
-#
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|40
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|3000
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|10
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
-
-
-#
-# Beagle board Specific PCDs
-#
-  gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x80001000
-  gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0x87FE0000 # stack at top of memory
-  gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0x20000  # 128K stack
-  
-  gEmbeddedTokenSpaceGuid.PcdMemoryBase|0x80000000
-  gEmbeddedTokenSpaceGuid.PcdMemorySize|0x10000000
-
-  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x10000000
-
-  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80000000
-  gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
-  
-  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
-  
-  #
-  # ARM Pcds
-  #
-  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
-
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SD"
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/zImage"
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1
-  gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10
-  gArmPlatformTokenSpaceGuid.PcdFdtDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/omap3-beagle.dtb"
-
-  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(6696936D-3637-467C-87CB-14EA8248948C)/Uart(115200,8,N,1)/VenPcAnsi()"
-  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(6696936D-3637-467C-87CB-14EA8248948C)/Uart(115200,8,N,1)/VenPcAnsi()"
-
-  #
-  # ARM OS Loader
-  #
-  # BeagleBoard machine type (OMAP3_BEAGLE = 1546) required for ARM Linux: 
-  gArmTokenSpaceGuid.PcdArmMachineType|1546 
-
-################################################################################
-#
-# Components Section - list of all EDK II Modules needed by this Platform
-#
-################################################################################
-[Components.common]
-
-#
-# SEC
-#
-  BeagleBoardPkg/Sec/Sec.inf
-  
-#
-# DXE
-#
-  MdeModulePkg/Core/Dxe/DxeMain.inf {
-    <LibraryClasses>
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
-#      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
-      NULL|EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf    
-  }
-
-  ArmPkg/Drivers/CpuDxe/CpuDxe.inf
-  
-  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
-  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
-  MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
-  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
-  
-  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf 
-#
-# This version uses semi-hosting console  
-#  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf {
-#    <LibraryClasses>
-#      SerialPortLib|ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf
-#  }
-  
-  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
-  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
-  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
-
-  #
-  # Semi-hosting filesystem
-  #
-  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
-  
-  #
-  # FAT filesystem + GPT/MBR partitioning
-  #
-  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-  FatPkg/EnhancedFatDxe/Fat.inf
-  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-
-  #
-  # USB
-  #
-  Omap35xxPkg/PciEmulation/PciEmulation.inf
-
-  #NOTE: Open source EHCI stack doesn't work on Beagleboard.
-  #NOTE: UsbBus and UsbMassStorage don't work using iPhone SDK tool chain.
-  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf {
-    <PcdsFixedAtBuild>
-      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800fffff
-  }
-
-  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
-  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
-  #
-  # Nand Flash
-  #
-  Omap35xxPkg/Flash/Flash.inf
-
-  #
-  # MMC/SD
-  #
-  Omap35xxPkg/MMCHSDxe/MMCHS.inf {
-    <PcdsFixedAtBuild>
-      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800fffff
-  }
-  
-  #
-  # I2C
-  #
-  Omap35xxPkg/SmbusDxe/Smbus.inf
-  
-  #
-  # SoC Drivers
-  #
-  Omap35xxPkg/Gpio/Gpio.inf
-  Omap35xxPkg/InterruptDxe/InterruptDxe.inf
-  Omap35xxPkg/TimerDxe/TimerDxe.inf 
-  
-  #
-  # Power IC
-  #
-  Omap35xxPkg/TPS65950Dxe/TPS65950.inf
-  
-  #
-  # Application
-  #  
-  EmbeddedPkg/Ebl/Ebl.inf
-  
-  #
-  # Bds
-  #
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
-  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-  ArmPlatformPkg/Bds/Bds.inf 
-
-  #
-  # Example Application
-  #  
-  MdeModulePkg/Application/HelloWorld/HelloWorld.inf
-
+#/** @file\r
+# Beagle board package.\r
+#\r
+# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>\r
+#\r
+#    This program and the accompanying materials\r
+#    are licensed and made available under the terms and conditions of the BSD License\r
+#    which accompanies this distribution. The full text of the license may be found at\r
+#    http://opensource.org/licenses/bsd-license.php\r
+#\r
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+#**/\r
+\r
+################################################################################\r
+#\r
+# Defines Section - statements that will be processed to create a Makefile.\r
+#\r
+################################################################################\r
+[Defines]\r
+  PLATFORM_NAME                  = BeagleBoardPkg\r
+  PLATFORM_GUID                  = 91fa6c28-33df-46ac-aee6-292d6811ea31\r
+  PLATFORM_VERSION               = 0.1\r
+  DSC_SPECIFICATION              = 0x00010005\r
+  OUTPUT_DIRECTORY               = Build/BeagleBoard\r
+  SUPPORTED_ARCHITECTURES        = ARM\r
+  BUILD_TARGETS                  = DEBUG|RELEASE\r
+  SKUID_IDENTIFIER               = DEFAULT\r
+  FLASH_DEFINITION               = BeagleBoardPkg/BeagleBoardPkg.fdf\r
+\r
+\r
+[LibraryClasses.common]\r
+  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf\r
+  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
+  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
+\r
+!if $(TARGET) == RELEASE\r
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
+!else\r
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
+#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf\r
+!endif\r
+  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
+\r
+  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+  PrePiHobListPointerLib|EmbeddedPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
+  \r
+  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
+  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf\r
+\r
+  EfiResetSystemLib|BeagleBoardPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
+  \r
+  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
+  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
+  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
+  \r
+  EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf\r
+  \r
+  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf\r
+  \r
+  \r
+  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
+  \r
+  #\r
+  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window \r
+  # in the debugger will show load and unload commands for symbols. You can cut and paste this\r
+  # into the command window to load symbols. We should be able to use a script to do this, but\r
+  # the version of RVD I have does not support scipts accessing system memory.\r
+  #\r
+#  PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf\r
+  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf\r
+#  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
+\r
+  \r
+  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
+  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf\r
+  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
+  \r
+  SerialPortLib|Omap35xxPkg/Library/SerialPortLib/SerialPortLib.inf\r
+  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf\r
+  \r
+  RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf\r
+\r
+  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+  \r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
+  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
+  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
+\r
+  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
+  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
+  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
+\r
+#\r
+# Assume everything is fixed at build\r
+#\r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+\r
+  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
+  \r
+  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
+  EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf\r
+  \r
+\r
+  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
+\r
+  TimerLib|Omap35xxPkg/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf  \r
+  OmapLib|Omap35xxPkg/Library/OmapLib/OmapLib.inf\r
+  OmapDmaLib|Omap35xxPkg/Library/OmapDmaLib/OmapDmaLib.inf\r
+  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf\r
+  DebugAgentTimerLib|Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf\r
+\r
+  GdbSerialLib|Omap35xxPkg/Library/GdbSerialLib/GdbSerialLib.inf\r
+  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf\r
+  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
+  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf\r
+\r
+[LibraryClasses.common.SEC]\r
+  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf\r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
+  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
+  LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+\r
+# Temp work around for Movt relocation issue. \r
+  PeCoffLib|ArmPkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  \r
+  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
+  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
+  \r
+  # 1/123 faster than Stm or Vstm version\r
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+\r
+  # Uncomment to turn on GDB stub in SEC. \r
+  #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf\r
+\r
+[LibraryClasses.common.PEI_CORE]\r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+\r
+[LibraryClasses.common.DXE_CORE]\r
+  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
+  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
+#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf\r
+\r
+  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf\r
+  \r
+\r
+[LibraryClasses.common.DXE_DRIVER]\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
+  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
+\r
+\r
+[LibraryClasses.common.UEFI_APPLICATION]\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
+  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
+\r
+[LibraryClasses.common.UEFI_DRIVER]\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
+  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
+  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
+\r
+[LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
+#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf\r
+\r
+\r
+[LibraryClasses.ARM]\r
+  #\r
+  # It is not possible to prevent the ARM compiler for generic intrinsic functions.\r
+  # This library provides the instrinsic functions generate by a given compiler.\r
+  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.\r
+  #\r
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+\r
+\r
+[BuildOptions]\r
+  XCODE:*_*_ARM_ARCHCC_FLAGS     == -arch armv7 -march=armv7\r
+  XCODE:*_*_ARM_ARCHASM_FLAGS    == -arch armv7\r
+  XCODE:*_*_ARM_ARCHDLINK_FLAGS  == -arch armv7\r
+  XCODE:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG \r
+\r
+  GCC:*_*_ARM_ARCHCC_FLAGS     == -march=armv7-a -mthumb\r
+  GCC:*_*_ARM_ARCHASM_FLAGS    == -march=armv7-a\r
+  GCC:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG \r
+\r
+  RVCT:*_*_ARM_ARCHCC_FLAGS  == --cpu Cortex-A8 --thumb\r
+  RVCT:*_*_ARM_ARCHASM_FLAGS == --cpu Cortex-A8 \r
+  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG \r
+\r
+################################################################################\r
+#\r
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
+#\r
+################################################################################\r
+\r
+[PcdsFeatureFlag.common]\r
+  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE\r
+  \r
+  #\r
+  # Control what commands are supported from the UI\r
+  # Turn these on and off to add features or save size\r
+  #  \r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE\r
+\r
+  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE\r
+  \r
+  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress\r
+  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE\r
+  gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE\r
+\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
+  \r
+[PcdsFixedAtBuild.common]\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"BeagleEdk2"\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF\r
+  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1\r
+  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0\r
+  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320\r
+\r
+# DEBUG_ASSERT_ENABLED       0x01\r
+# DEBUG_PRINT_ENABLED        0x02\r
+# DEBUG_CODE_ENABLED         0x04\r
+# CLEAR_MEMORY_ENABLED       0x08\r
+# ASSERT_BREAKPOINT_ENABLED  0x10\r
+# ASSERT_DEADLOOP_ENABLED    0x20\r
+!if $(TARGET) == RELEASE\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21\r
+!else\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f\r
+!endif\r
+\r
+#  DEBUG_INIT      0x00000001  // Initialization\r
+#  DEBUG_WARN      0x00000002  // Warnings\r
+#  DEBUG_LOAD      0x00000004  // Load events\r
+#  DEBUG_FS        0x00000008  // EFI File system\r
+#  DEBUG_POOL      0x00000010  // Alloc & Free's\r
+#  DEBUG_PAGE      0x00000020  // Alloc & Free's\r
+#  DEBUG_INFO      0x00000040  // Verbose\r
+#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers\r
+#  DEBUG_VARIABLE  0x00000100  // Variable\r
+#  DEBUG_BM        0x00000400  // Boot Manager\r
+#  DEBUG_BLKIO     0x00001000  // BlkIo Driver\r
+#  DEBUG_NET       0x00004000  // SNI Driver\r
+#  DEBUG_UNDI      0x00010000  // UNDI Driver\r
+#  DEBUG_LOADFILE  0x00020000  // UNDI Driver\r
+#  DEBUG_EVENT     0x00080000  // Event messages\r
+#  DEBUG_ERROR     0x80000000  // Error\r
+\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000\r
+\r
+  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
+\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|0\r
+  gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize|0\r
+\r
+#\r
+# Optional feature to help prevent EFI memory map fragments\r
+# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob\r
+# Values are in EFI Pages (4K). DXE Core will make sure that \r
+# at least this much of each type of memory can be allocated \r
+# from a single memory range. This way you only end up with\r
+# maximum of two fragements for each type in the memory map\r
+# (the memory used, and the free memory that was prereserved\r
+# but not used).\r
+#\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|40\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|3000\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|10\r
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0\r
+\r
+\r
+#\r
+# Beagle board Specific PCDs\r
+#\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x80001000\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0x87FE0000 # stack at top of memory\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0x20000  # 128K stack\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdMemoryBase|0x80000000\r
+  gEmbeddedTokenSpaceGuid.PcdMemorySize|0x10000000\r
+\r
+  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000\r
+  gArmTokenSpaceGuid.PcdSystemMemorySize|0x10000000\r
+\r
+  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80000000\r
+  gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000\r
+  \r
+  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77\r
+  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000\r
+  \r
+  #\r
+  # ARM Pcds\r
+  #\r
+  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000\r
+\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SD"\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/zImage"\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1\r
+  gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10\r
+  gArmPlatformTokenSpaceGuid.PcdFdtDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/omap3-beagle.dtb"\r
+\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(6696936D-3637-467C-87CB-14EA8248948C)/Uart(115200,8,N,1)/VenPcAnsi()"\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(6696936D-3637-467C-87CB-14EA8248948C)/Uart(115200,8,N,1)/VenPcAnsi()"\r
+\r
+  #\r
+  # ARM OS Loader\r
+  #\r
+  # BeagleBoard machine type (OMAP3_BEAGLE = 1546) required for ARM Linux: \r
+  gArmTokenSpaceGuid.PcdArmMachineType|1546 \r
+\r
+################################################################################\r
+#\r
+# Components Section - list of all EDK II Modules needed by this Platform\r
+#\r
+################################################################################\r
+[Components.common]\r
+\r
+#\r
+# SEC\r
+#\r
+  BeagleBoardPkg/Sec/Sec.inf\r
+  \r
+#\r
+# DXE\r
+#\r
+  MdeModulePkg/Core/Dxe/DxeMain.inf {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
+#      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+      NULL|EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf    \r
+  }\r
+\r
+  ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
+  \r
+  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
+  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
+  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
+  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
+  MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf\r
+  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf\r
+  \r
+  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf \r
+#\r
+# This version uses semi-hosting console  \r
+#  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf {\r
+#    <LibraryClasses>\r
+#      SerialPortLib|ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf\r
+#  }\r
+  \r
+  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
+  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
+  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
+\r
+  #\r
+  # Semi-hosting filesystem\r
+  #\r
+  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
+  \r
+  #\r
+  # FAT filesystem + GPT/MBR partitioning\r
+  #\r
+  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
+  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
+  FatPkg/EnhancedFatDxe/Fat.inf\r
+  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
+\r
+  #\r
+  # USB\r
+  #\r
+  Omap35xxPkg/PciEmulation/PciEmulation.inf\r
+\r
+  #NOTE: Open source EHCI stack doesn't work on Beagleboard.\r
+  #NOTE: UsbBus and UsbMassStorage don't work using iPhone SDK tool chain.\r
+  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf {\r
+    <PcdsFixedAtBuild>\r
+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800fffff\r
+  }\r
+\r
+  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
+  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
+\r
+  #\r
+  # Nand Flash\r
+  #\r
+  Omap35xxPkg/Flash/Flash.inf\r
+\r
+  #\r
+  # MMC/SD\r
+  #\r
+  Omap35xxPkg/MMCHSDxe/MMCHS.inf {\r
+    <PcdsFixedAtBuild>\r
+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800fffff\r
+  }\r
+  \r
+  #\r
+  # I2C\r
+  #\r
+  Omap35xxPkg/SmbusDxe/Smbus.inf\r
+  \r
+  #\r
+  # SoC Drivers\r
+  #\r
+  Omap35xxPkg/Gpio/Gpio.inf\r
+  Omap35xxPkg/InterruptDxe/InterruptDxe.inf\r
+  Omap35xxPkg/TimerDxe/TimerDxe.inf \r
+  \r
+  #\r
+  # Power IC\r
+  #\r
+  Omap35xxPkg/TPS65950Dxe/TPS65950.inf\r
+  \r
+  #\r
+  # Application\r
+  #  \r
+  EmbeddedPkg/Ebl/Ebl.inf\r
+  \r
+  #\r
+  # Bds\r
+  #\r
+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
+  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
+  ArmPlatformPkg/Bds/Bds.inf \r
+\r
+  #\r
+  # Example Application\r
+  #  \r
+  MdeModulePkg/Application/HelloWorld/HelloWorld.inf\r
+\r
index dca2bc7..4f1a327 100644 (file)
@@ -44,7 +44,7 @@
 \r
   @param  Argc   Number of command arguments in Argv\r
   @param  Argv   Array of strings that represent the parsed command line. \r
-                 Argv[0] is the comamnd name\r
+                 Argv[0] is the command name\r
 \r
   @return EFI_SUCCESS\r
 \r
@@ -122,7 +122,7 @@ EblSymbolTable (
 \r
   @param  Argc   Number of command arguments in Argv\r
   @param  Argv   Array of strings that represent the parsed command line. \r
-                 Argv[0] is the comamnd name\r
+                 Argv[0] is the command name\r
 \r
   @return EFI_SUCCESS\r
 \r
@@ -204,7 +204,7 @@ CHAR8 *mTokenList[] = {
 \r
   @param  Argc   Number of command arguments in Argv\r
   @param  Argv   Array of strings that represent the parsed command line. \r
-                 Argv[0] is the comamnd name\r
+                 Argv[0] is the command name\r
 \r
   @return EFI_SUCCESS\r
 \r
index 2ecf9d6..1b33222 100644 (file)
@@ -24,7 +24,7 @@
 /**\r
   Dump memory\r
 \r
-  Argv[0] - "md"[.#] # is optiona width 1, 2, 4, or 8. Default 1\r
+  Argv[0] - "md"[.#] # is optional width 1, 2, 4, or 8. Default 1\r
   Argv[1] - Hex Address to dump\r
   Argv[2] - Number of hex bytes to dump (0x20 is default)\r
 \r
@@ -34,7 +34,7 @@
 \r
   @param  Argc   Number of command arguments in Argv\r
   @param  Argv   Array of strings that represent the parsed command line. \r
-                 Argv[0] is the comamnd name\r
+                 Argv[0] is the command name\r
 \r
   @return EFI_SUCCESS\r
 \r
index cffd844..87757df 100644 (file)
@@ -17,6 +17,8 @@
 \r
 **/\r
 \r
+#include "Ebl.h"\r
+\r
 #define CMD_SEPARATOR     ';'\r
 #define MAX_ARGS          32\r
 \r
index 9f38c5d..9e75c90 100644 (file)
@@ -23,6 +23,7 @@
 \r
 **/\r
 \r
+#include "Ebl.h"\r
 \r
 /**\r
   Entry point with Argc, Argv. Put your code here.\r
index 0ee7122..8862f3d 100644 (file)
   gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0
   gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0
   gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0
-  gEmbeddedTokenSpaceGuid.PcdPrePiTempMemorySize|0
-  gEmbeddedTokenSpaceGuid.PcdPrePiBfvBaseAddress|0
-  gEmbeddedTokenSpaceGuid.PcdPrePiBfvSize|0
 
 #
 # Optinal feature to help prevent EFI memory map fragments
index 7626f5d..2d33d97 100644 (file)
@@ -195,7 +195,7 @@ BasicReadRegister (
 }\r
 \r
 \r
-/** ‘p n’ \r
+/**\r
  Reads the n-th register's value into an output buffer and sends it as a packet \r
  @param   SystemContext   Register content at time of the exception\r
  @param   InBuffer      Pointer to the input buffer received from gdb server\r
@@ -225,7 +225,7 @@ ReadNthRegister (
 }\r
 \r
 \r
-/** ‘g’ \r
+/**\r
  Reads the general registers into an output buffer  and sends it as a packet \r
  @param   SystemContext     Register content at time of the exception\r
  **/\r
@@ -452,7 +452,7 @@ RemoveSingleStep (
 \r
 \r
 \r
-/** ‘c [addr ]’ \r
+/**\r
  Continue. addr is Address to resume. If addr is omitted, resume at current \r
  Address.\r
  \r
index c2d8be8..742de50 100644 (file)
@@ -132,9 +132,8 @@ GdbStubEntry (
   Status = DebugSupport->GetMaximumProcessorIndex (DebugSupport, &gMaxProcessorIndex);
   ASSERT_EFI_ERROR (Status);
   
-  // Make this an EFI_D_INFO after we get everything debugged.
-  DEBUG ((EFI_D_ERROR, "Debug Support Protocol ISA %x\n", DebugSupport->Isa));
-  DEBUG ((EFI_D_ERROR, "Debug Support Protocol Processor Index %d\n", gMaxProcessorIndex));
+  DEBUG ((EFI_D_INFO, "Debug Support Protocol ISA %x\n", DebugSupport->Isa));
+  DEBUG ((EFI_D_INFO, "Debug Support Protocol Processor Index %d\n", gMaxProcessorIndex));
   
   // Call processor-specific init routine
   InitializeProcessor();
index d3c0504..e6aabf9 100755 (executable)
@@ -210,7 +210,7 @@ BasicReadRegister (
 }\r
 \r
 \r
-/** ‘p n’ \r
+/**\r
  Reads the n-th register's value into an output buffer and sends it as a packet \r
  @param   SystemContext   Register content at time of the exception\r
  @param   InBuffer      Pointer to the input buffer received from gdb server\r
@@ -240,7 +240,7 @@ ReadNthRegister (
 }\r
 \r
 \r
-/** ‘g’ \r
+/**\r
  Reads the general registers into an output buffer  and sends it as a packet \r
  @param   SystemContext     Register content at time of the exception\r
  **/\r
@@ -390,7 +390,7 @@ WriteGeneralRegisters (
 \r
 \r
 \r
-/** ‘c [addr ]’ \r
+/**\r
  Continue. addr is Address to resume. If addr is omitted, resume at current \r
  Address.\r
  \r
index e12a5ac..eb4b66c 100755 (executable)
@@ -678,7 +678,6 @@ GdbFWrite (
 \r
     case 'F':\r
       return;\r
-      break;\r
     }\r
   }\r
 }\r
index a446f6a..9cc2b79 100644 (file)
@@ -37,11 +37,11 @@ SerialPortInitialize (
 /**\r
   Write data to serial device.\r
 \r
-  @param  Buffer           Point of data buffer which need to be writed.\r
+  @param  Buffer           Point of data buffer which need to be written.\r
   @param  NumberOfBytes    Number of output bytes which are cached in Buffer.\r
 \r
   @retval 0                Write data failed.\r
-  @retval !0               Actual number of bytes writed to serial device.\r
+  @retval !0               Actual number of bytes written to serial device.\r
 \r
 **/\r
 UINTN\r
@@ -56,13 +56,13 @@ SerialPortWrite (
 \r
 \r
 /**\r
-  Read data from serial device and save the datas in buffer.\r
+  Read data from serial device and save the data in buffer.\r
 \r
-  @param  Buffer           Point of data buffer which need to be writed.\r
+  @param  Buffer           Point of data buffer which need to be written.\r
   @param  NumberOfBytes    Number of output bytes which are cached in Buffer.\r
 \r
   @retval 0                Read data failed.\r
-  @retval !0               Aactual number of bytes read from serial device.\r
+  @retval !0               Actual number of bytes read from serial device.\r
 \r
 **/\r
 UINTN\r
index a477135..516c832 100644 (file)
 CHAR16* mLogBuffer = NULL;\r
 UINTN   mLogRemainChar = 0;\r
 \r
-CHAR16* DiagnosticInitLog(UINTN MaxBufferChar) {\r
-    mLogRemainChar = MaxBufferChar;\r
-    mLogBuffer = AllocatePool ((UINTN)MaxBufferChar * sizeof(CHAR16));\r
-    return mLogBuffer;\r
+CHAR16*\r
+DiagnosticInitLog (\r
+  UINTN MaxBufferChar\r
+  )\r
+{\r
+  mLogRemainChar = MaxBufferChar;\r
+  mLogBuffer = AllocatePool ((UINTN)MaxBufferChar * sizeof(CHAR16));\r
+  return mLogBuffer;\r
 }\r
 \r
-UINTN DiagnosticLog(CONST CHAR16* Str) {\r
-    UINTN len = StrLen (Str);\r
-    if (len <= mLogRemainChar) {\r
-        mLogRemainChar -= len;\r
-        StrCpy (mLogBuffer, Str);\r
-        mLogBuffer += len;\r
-        return len;\r
-    } else {\r
-        return 0;\r
-    }\r
+UINTN\r
+DiagnosticLog (\r
+  CONST CHAR16* Str\r
+  )\r
+{\r
+  UINTN len = StrLen (Str);\r
+  if (len <= mLogRemainChar) {\r
+    mLogRemainChar -= len;\r
+    StrCpy (mLogBuffer, Str);\r
+    mLogBuffer += len;\r
+    return len;\r
+  } else {\r
+    return 0;\r
+  }\r
 }\r
 \r
-VOID GenerateRandomBuffer(VOID* Buffer, UINTN BufferSize) {\r
-    UINT64 i;\r
-    UINT64* Buffer64 = (UINT64*)Buffer;\r
+VOID\r
+GenerateRandomBuffer (\r
+  VOID* Buffer,\r
+  UINTN BufferSize\r
+  )\r
+{\r
+  UINT64  i;\r
+  UINT64* Buffer64 = (UINT64*)Buffer;\r
 \r
-    for (i = 0; i < (BufferSize >> 3); i++) {\r
-        *Buffer64 = i | (~i << 32);\r
-        Buffer64++;\r
-    }\r
+  for (i = 0; i < (BufferSize >> 3); i++) {\r
+    *Buffer64 = i | (~i << 32);\r
+    Buffer64++;\r
+  }\r
 }\r
 \r
-BOOLEAN CompareBuffer(VOID *BufferA, VOID *BufferB, UINTN BufferSize) {\r
-    UINTN i;\r
-    UINT64* BufferA64 = (UINT64*)BufferA;\r
-    UINT64* BufferB64 = (UINT64*)BufferB;\r
-\r
-    for (i = 0; i < (BufferSize >> 3); i++) {\r
-        if (*BufferA64 != *BufferB64) {\r
-            DEBUG((EFI_D_ERROR, "CompareBuffer: Error at %i", i));\r
-            DEBUG((EFI_D_ERROR, "(0x%lX) != (0x%lX)\n", *BufferA64, *BufferB64));\r
-            return FALSE;\r
-        }\r
-        BufferA64++;\r
-        BufferB64++;\r
+BOOLEAN\r
+CompareBuffer (\r
+  VOID  *BufferA,\r
+  VOID  *BufferB,\r
+  UINTN BufferSize\r
+  )\r
+{\r
+  UINTN i;\r
+  UINT64* BufferA64 = (UINT64*)BufferA;\r
+  UINT64* BufferB64 = (UINT64*)BufferB;\r
+\r
+  for (i = 0; i < (BufferSize >> 3); i++) {\r
+    if (*BufferA64 != *BufferB64) {\r
+      DEBUG((EFI_D_ERROR, "CompareBuffer: Error at %i", i));\r
+      DEBUG((EFI_D_ERROR, "(0x%lX) != (0x%lX)\n", *BufferA64, *BufferB64));\r
+      return FALSE;\r
     }\r
-    return TRUE;\r
+    BufferA64++;\r
+    BufferB64++;\r
+  }\r
+  return TRUE;\r
 }\r
 \r
-EFI_STATUS MmcReadWriteDataTest(MMC_HOST_INSTANCE *MmcHostInstance, EFI_LBA Lba, UINTN BufferSize) {\r
-    VOID                        *BackBuffer;\r
-    VOID                        *WriteBuffer;\r
-    VOID                        *ReadBuffer;\r
-    EFI_STATUS                  Status;\r
-    \r
-    // Check if a Media is Present\r
-    if (!MmcHostInstance->BlockIo.Media->MediaPresent) {\r
-        DiagnosticLog(L"ERROR: No Media Present\n");\r
-        return EFI_NO_MEDIA;\r
-    }\r
-\r
-    if (MmcHostInstance->State != MmcTransferState) {\r
-        DiagnosticLog(L"ERROR: Not ready for Transfer state\n");\r
-        return EFI_NOT_READY;\r
-    }\r
-\r
-    BackBuffer = AllocatePool(BufferSize);\r
-    WriteBuffer = AllocatePool(BufferSize);\r
-    ReadBuffer = AllocatePool(BufferSize);\r
-\r
-    // Read (and save) buffer at a specific location\r
-    Status = MmcReadBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,BackBuffer);\r
-    if (Status != EFI_SUCCESS) {\r
-        DiagnosticLog(L"ERROR: Fail to Read Block (1)\n");\r
-        return Status;\r
-    }\r
-\r
-    // Write buffer at the same location\r
-    GenerateRandomBuffer(WriteBuffer,BufferSize);\r
-    Status = MmcWriteBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,WriteBuffer);\r
-    if (Status != EFI_SUCCESS) {\r
-        DiagnosticLog(L"ERROR: Fail to Write Block (1)\n");\r
-        return Status;\r
-    }\r
-\r
-    // Read the buffer at the same location\r
-    Status = MmcReadBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,ReadBuffer);\r
-    if (Status != EFI_SUCCESS) {\r
-        DiagnosticLog(L"ERROR: Fail to Read Block (2)\n");\r
-        return Status;\r
-    }\r
+EFI_STATUS\r
+MmcReadWriteDataTest (\r
+  MMC_HOST_INSTANCE *MmcHostInstance,\r
+  EFI_LBA           Lba,\r
+  UINTN             BufferSize\r
+  )\r
+{\r
+  VOID                        *BackBuffer;\r
+  VOID                        *WriteBuffer;\r
+  VOID                        *ReadBuffer;\r
+  EFI_STATUS                  Status;\r
+\r
+  // Check if a Media is Present\r
+  if (!MmcHostInstance->BlockIo.Media->MediaPresent) {\r
+    DiagnosticLog (L"ERROR: No Media Present\n");\r
+    return EFI_NO_MEDIA;\r
+  }\r
+\r
+  if (MmcHostInstance->State != MmcTransferState) {\r
+    DiagnosticLog (L"ERROR: Not ready for Transfer state\n");\r
+    return EFI_NOT_READY;\r
+  }\r
+\r
+  BackBuffer = AllocatePool (BufferSize);\r
+  WriteBuffer = AllocatePool (BufferSize);\r
+  ReadBuffer = AllocatePool (BufferSize);\r
+\r
+  // Read (and save) buffer at a specific location\r
+  Status = MmcReadBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,BackBuffer);\r
+  if (Status != EFI_SUCCESS) {\r
+    DiagnosticLog (L"ERROR: Fail to Read Block (1)\n");\r
+    return Status;\r
+  }\r
 \r
-    // Check that is conform\r
-    if (!CompareBuffer(ReadBuffer,WriteBuffer,BufferSize)) {\r
-        DiagnosticLog(L"ERROR: Fail to Read/Write Block (1)\n");\r
-        return EFI_INVALID_PARAMETER;\r
-    }\r
+  // Write buffer at the same location\r
+  GenerateRandomBuffer (WriteBuffer,BufferSize);\r
+  Status = MmcWriteBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,WriteBuffer);\r
+  if (Status != EFI_SUCCESS) {\r
+    DiagnosticLog (L"ERROR: Fail to Write Block (1)\n");\r
+    return Status;\r
+  }\r
 \r
-    // Restore content at the original location\r
-    Status = MmcWriteBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,BackBuffer);\r
-    if (Status != EFI_SUCCESS) {\r
-        DiagnosticLog(L"ERROR: Fail to Write Block (2)\n");\r
-        return Status;\r
-    }\r
+  // Read the buffer at the same location\r
+  Status = MmcReadBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,ReadBuffer);\r
+  if (Status != EFI_SUCCESS) {\r
+    DiagnosticLog (L"ERROR: Fail to Read Block (2)\n");\r
+    return Status;\r
+  }\r
+\r
+  // Check that is conform\r
+  if (!CompareBuffer (ReadBuffer,WriteBuffer,BufferSize)) {\r
+    DiagnosticLog (L"ERROR: Fail to Read/Write Block (1)\n");\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
+  // Restore content at the original location\r
+  Status = MmcWriteBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,BackBuffer);\r
+  if (Status != EFI_SUCCESS) {\r
+    DiagnosticLog (L"ERROR: Fail to Write Block (2)\n");\r
+    return Status;\r
+  }\r
 \r
-    // Read the restored content\r
-    Status = MmcReadBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,ReadBuffer);\r
-    if (Status != EFI_SUCCESS) {\r
-        DiagnosticLog(L"ERROR: Fail to Read Block (3)\n");\r
-        return Status;\r
-    }\r
+  // Read the restored content\r
+  Status = MmcReadBlocks (&(MmcHostInstance->BlockIo), MmcHostInstance->BlockIo.Media->MediaId,Lba,BufferSize,ReadBuffer);\r
+  if (Status != EFI_SUCCESS) {\r
+    DiagnosticLog (L"ERROR: Fail to Read Block (3)\n");\r
+    return Status;\r
+  }\r
 \r
-    // Check the content is correct\r
-    if (!CompareBuffer(ReadBuffer,BackBuffer,BufferSize)) {\r
-        DiagnosticLog(L"ERROR: Fail to Read/Write Block (2)\n");\r
-        return EFI_INVALID_PARAMETER;\r
-    }\r
+  // Check the content is correct\r
+  if (!CompareBuffer (ReadBuffer,BackBuffer,BufferSize)) {\r
+    DiagnosticLog (L"ERROR: Fail to Read/Write Block (2)\n");\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
 \r
-    return EFI_SUCCESS;\r
+  return EFI_SUCCESS;\r
 }\r
 \r
 EFI_STATUS\r
@@ -155,55 +180,55 @@ MmcDriverDiagnosticsRunDiagnostics (
   OUT CHAR16                                        **Buffer\r
   )\r
 {\r
-    LIST_ENTRY          *CurrentLink;\r
-    MMC_HOST_INSTANCE   *MmcHostInstance;\r
-    EFI_STATUS          Status;\r
-\r
-    if (Language         == NULL ||\r
-        ErrorType        == NULL ||\r
-        Buffer           == NULL ||\r
-        ControllerHandle == NULL ||\r
-        BufferSize       == NULL) {\r
-        return EFI_INVALID_PARAMETER;\r
-    }\r
-\r
-    Status = EFI_SUCCESS;\r
-    *ErrorType  = NULL;\r
-    *BufferSize = DIAGNOSTIC_LOGBUFFER_MAXCHAR;\r
-    *Buffer = DiagnosticInitLog(DIAGNOSTIC_LOGBUFFER_MAXCHAR);\r
-\r
-    DiagnosticLog(L"MMC Driver Diagnostics\n");\r
-\r
-    // For each MMC instance\r
-    CurrentLink = mMmcHostPool.ForwardLink;\r
-    while (CurrentLink != NULL && CurrentLink != &mMmcHostPool && (Status == EFI_SUCCESS)) {\r
-        MmcHostInstance = MMC_HOST_INSTANCE_FROM_LINK(CurrentLink);\r
-        ASSERT(MmcHostInstance != NULL);\r
-\r
-        // LBA=1 Size=BlockSize\r
-        DiagnosticLog(L"MMC Driver Diagnostics - Test: First Block\n");\r
-        Status = MmcReadWriteDataTest(MmcHostInstance, 1, MmcHostInstance->BlockIo.Media->BlockSize);\r
-\r
-        // LBA=2 Size=BlockSize\r
-        DiagnosticLog(L"MMC Driver Diagnostics - Test: Second Block\n");\r
-        Status = MmcReadWriteDataTest(MmcHostInstance, 2, MmcHostInstance->BlockIo.Media->BlockSize);\r
-\r
-        // LBA=10 Size=BlockSize\r
-        DiagnosticLog(L"MMC Driver Diagnostics - Test: Any Block\n");\r
-        Status = MmcReadWriteDataTest(MmcHostInstance, MmcHostInstance->BlockIo.Media->LastBlock >> 1, MmcHostInstance->BlockIo.Media->BlockSize);\r
-\r
-        // LBA=LastBlock Size=BlockSize\r
-        DiagnosticLog(L"MMC Driver Diagnostics - Test: Last Block\n");\r
-        Status = MmcReadWriteDataTest(MmcHostInstance, MmcHostInstance->BlockIo.Media->LastBlock, MmcHostInstance->BlockIo.Media->BlockSize);\r
-\r
-        // LBA=1 Size=2*BlockSize\r
-        DiagnosticLog(L"MMC Driver Diagnostics - Test: First Block / 2 BlockSSize\n");\r
-        Status = MmcReadWriteDataTest(MmcHostInstance, 1, 2*MmcHostInstance->BlockIo.Media->BlockSize);\r
-\r
-        CurrentLink = CurrentLink->ForwardLink;\r
-    }\r
-\r
-    return Status;\r
+  LIST_ENTRY              *CurrentLink;\r
+  MMC_HOST_INSTANCE       *MmcHostInstance;\r
+  EFI_STATUS              Status;\r
+\r
+  if ((Language         == NULL) ||\r
+      (ErrorType        == NULL) ||\r
+      (Buffer           == NULL) ||\r
+      (ControllerHandle == NULL) ||\r
+      (BufferSize       == NULL)) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
+  Status = EFI_SUCCESS;\r
+  *ErrorType  = NULL;\r
+  *BufferSize = DIAGNOSTIC_LOGBUFFER_MAXCHAR;\r
+  *Buffer = DiagnosticInitLog (DIAGNOSTIC_LOGBUFFER_MAXCHAR);\r
+\r
+  DiagnosticLog (L"MMC Driver Diagnostics\n");\r
+\r
+  // For each MMC instance\r
+  CurrentLink = mMmcHostPool.ForwardLink;\r
+  while (CurrentLink != NULL && CurrentLink != &mMmcHostPool && (Status == EFI_SUCCESS)) {\r
+    MmcHostInstance = MMC_HOST_INSTANCE_FROM_LINK(CurrentLink);\r
+    ASSERT(MmcHostInstance != NULL);\r
+\r
+    // LBA=1 Size=BlockSize\r
+    DiagnosticLog (L"MMC Driver Diagnostics - Test: First Block\n");\r
+    Status = MmcReadWriteDataTest (MmcHostInstance, 1, MmcHostInstance->BlockIo.Media->BlockSize);\r
+\r
+    // LBA=2 Size=BlockSize\r
+    DiagnosticLog (L"MMC Driver Diagnostics - Test: Second Block\n");\r
+    Status = MmcReadWriteDataTest (MmcHostInstance, 2, MmcHostInstance->BlockIo.Media->BlockSize);\r
+\r
+    // LBA=10 Size=BlockSize\r
+    DiagnosticLog (L"MMC Driver Diagnostics - Test: Any Block\n");\r
+    Status = MmcReadWriteDataTest (MmcHostInstance, MmcHostInstance->BlockIo.Media->LastBlock >> 1, MmcHostInstance->BlockIo.Media->BlockSize);\r
+\r
+    // LBA=LastBlock Size=BlockSize\r
+    DiagnosticLog (L"MMC Driver Diagnostics - Test: Last Block\n");\r
+    Status = MmcReadWriteDataTest (MmcHostInstance, MmcHostInstance->BlockIo.Media->LastBlock, MmcHostInstance->BlockIo.Media->BlockSize);\r
+\r
+    // LBA=1 Size=2*BlockSize\r
+    DiagnosticLog (L"MMC Driver Diagnostics - Test: First Block / 2 BlockSSize\n");\r
+    Status = MmcReadWriteDataTest (MmcHostInstance, 1, 2*MmcHostInstance->BlockIo.Media->BlockSize);\r
+\r
+    CurrentLink = CurrentLink->ForwardLink;\r
+  }\r
+\r
+  return Status;\r
 }\r
 \r
 //\r
index 16caa2e..7ecb32e 100644 (file)
@@ -43,9 +43,6 @@
   IoLib\r
   ArmLib\r
 \r
-[Guids]\r
-  \r
-\r
 [Protocols]\r
   gHardwareInterruptProtocolGuid\r
   gEfiCpuArchProtocolGuid\r
index f314ff4..c59f75b 100644 (file)
@@ -36,7 +36,7 @@
 \r
   @param  Argc   Number of command arguments in Argv\r
   @param  Argv   Array of strings that represent the parsed command line. \r
-                 Argv[0] is the comamnd name\r
+                 Argv[0] is the command name\r
 \r
   @return EFI_SUCCESS\r
 \r