diff options
author | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-02-01 05:41:42 +0000 |
---|---|---|
committer | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-02-01 05:41:42 +0000 |
commit | 1d5d0ae92d95410f20bc6daab7a47e129fb2547a (patch) | |
tree | 8679c57c5f85cadad47d4604450c1c3702276cf1 /ArmPlatformPkg/Documentation/ArmPlatformPkg.txt | |
parent | fb334ef6c543b1babc9d8a613ad5d1ce6fe536e1 (diff) | |
download | edk2-platforms-1d5d0ae92d95410f20bc6daab7a47e129fb2547a.tar.xz |
Add ArmPlatformPkg from ARM Ltd. patch.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11291 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg/Documentation/ArmPlatformPkg.txt')
-rw-r--r-- | ArmPlatformPkg/Documentation/ArmPlatformPkg.txt | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ArmPlatformPkg/Documentation/ArmPlatformPkg.txt b/ArmPlatformPkg/Documentation/ArmPlatformPkg.txt new file mode 100644 index 0000000000..49152722d4 --- /dev/null +++ b/ArmPlatformPkg/Documentation/ArmPlatformPkg.txt @@ -0,0 +1,41 @@ +Porting UEFI to a ARM platform
+------------------------------
+1. Create the new platform directory under ArmPlatformPkg
+
+2. Create its DSC and FDF files into this new directory. These files can be copied from ArmVExpress-CTA9x4.dsc and ArmVExpress-CTA9x4.fdf; and adapted following the requirement of your platform.
+
+3. Set up the PCDs required by ArmPlatformPkg in your FDF or DSC files
+
+PCD Description
+gArmTokenSpaceGuid.PcdSecureFdBaseAddress : Base address of your Secure Firmware
+gArmTokenSpaceGuid.PcdSecureFdSize : Size in byte of your Secure Firmware gEmbeddedTokenSpaceGuid.
+PcdEmbeddedFdBaseAddress : Base Address of your Non-Secure Firmware gEmbeddedTokenSpaceGuid.
+PcdEmbeddedFdSize : Size in bytes of your Non-Secure Firmware
+gArmTokenSpaceGuid.PcdL2x0ControllerBase : Base Address of your L2x0 controller
+gArmTokenSpaceGuid.PcdGicDistributorBase : Base address of the Distributor of your General Interrupt Controller gArmTokenSpaceGuid.
+PcdGicInterruptInterfaceBase : Base address of the Interface of your General Interrupt Controller gArmVExpressTokenSpaceGuid.
+PcdCPUCoresSecStackBase : Top of Secure Stack for Secure World gArmVExpressTokenSpaceGuid.
+PcdCPUCoreSecStackSize : Size of the stack for each of the 4 CPU cores gArmVExpressTokenSpaceGuid.
+PcdCPUCoresSecMonStackBase : Top of Stack for Monitor World gArmVExpressTokenSpaceGuid.
+PcdCPUCoreSecMonStackSize : Size of the stack for each of the 4 CPU cores gArmVExpressTokenSpaceGuid.
+PcdCPUCoresNonSecStackBase : Top of SEC Stack for Normal World gArmVExpressTokenSpaceGuid.
+PcdCPUCoresNonSecStackSize : Size of the stack for each of the 4 CPU Cores gArmVExpressTokenSpaceGuid.
+PcdPeiServicePtrAddr : Cached value of PeiServicesTable
+
+4. Implement 'ArmPlatformLib' for your platform following the interface defined by ArmPlatformPkg\Include\Library\ArmPlatformLib.h.
+
+Functions to implement:
+
+VOID ArmPlatformIsMemoryInitialized(VOID);
+VOID ArmPlatformInitializeBootMemory(VOID);
+VOID ArmPlatformInitializeSystemMemory(VOID);
+VOID ArmPlatformBootRemapping(VOID);
+UINTN ArmPlatformTrustzoneSupported(VOID);
+VOID ArmPlatformTrustzoneInit(VOID);
+VOID ArmPlatformGetPeiMemory (
+ OUT UINTN* PeiMemoryBase,
+ OUT UINTN* PeiMemorySize);
+VOID ArmPlatformGetVirtualMemoryMap (
+ OUT ARM_MEMORY_REGION_DESCRIPTOR** VirtualMemoryMap);
+VOID ArmPlatformGetEfiMemoryMap (
+ OUT ARM_SYSTEM_MEMORY_REGION_DESCRIPTOR** EfiMemoryMap)
|