]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPlatformPkg/Documentation/ArmPlatformPkg.txt
ArmPkg: Minor coding style changes
[mirror_edk2.git] / ArmPlatformPkg / Documentation / ArmPlatformPkg.txt
CommitLineData
1d5d0ae9 1Porting UEFI to a ARM platform\r
2------------------------------\r
31. Create the new platform directory under ArmPlatformPkg\r
4\r
52. 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. \r
6\r
73. Set up the PCDs required by ArmPlatformPkg in your FDF or DSC files \r
8\r
9PCD Description\r
10gArmTokenSpaceGuid.PcdSecureFdBaseAddress : Base address of your Secure Firmware \r
11gArmTokenSpaceGuid.PcdSecureFdSize : Size in byte of your Secure Firmware gEmbeddedTokenSpaceGuid.\r
262a9b04 12gArmTokenSpaceGuid.PcdNormalFdBaseAddress : Base Address of your Non-Secure Firmware gEmbeddedTokenSpaceGuid.\r
13gArmTokenSpaceGuid.PcdNormalFdSize : Size in bytes of your Non-Secure Firmware \r
1d5d0ae9 14gArmTokenSpaceGuid.PcdL2x0ControllerBase : Base Address of your L2x0 controller \r
15gArmTokenSpaceGuid.PcdGicDistributorBase : Base address of the Distributor of your General Interrupt Controller gArmTokenSpaceGuid.\r
16PcdGicInterruptInterfaceBase : Base address of the Interface of your General Interrupt Controller gArmVExpressTokenSpaceGuid.\r
17PcdCPUCoresSecStackBase : Top of Secure Stack for Secure World gArmVExpressTokenSpaceGuid.\r
18PcdCPUCoreSecStackSize : Size of the stack for each of the 4 CPU cores gArmVExpressTokenSpaceGuid.\r
19PcdCPUCoresSecMonStackBase : Top of Stack for Monitor World gArmVExpressTokenSpaceGuid.\r
20PcdCPUCoreSecMonStackSize : Size of the stack for each of the 4 CPU cores gArmVExpressTokenSpaceGuid.\r
21PcdCPUCoresNonSecStackBase : Top of SEC Stack for Normal World gArmVExpressTokenSpaceGuid.\r
22PcdCPUCoresNonSecStackSize : Size of the stack for each of the 4 CPU Cores gArmVExpressTokenSpaceGuid.\r
23PcdPeiServicePtrAddr : Cached value of PeiServicesTable \r
24\r
254. Implement 'ArmPlatformLib' for your platform following the interface defined by ArmPlatformPkg\Include\Library\ArmPlatformLib.h.\r
26\r
27Functions to implement:\r
28\r
29VOID ArmPlatformIsMemoryInitialized(VOID);\r
30VOID ArmPlatformInitializeBootMemory(VOID);\r
31VOID ArmPlatformInitializeSystemMemory(VOID);\r
32VOID ArmPlatformBootRemapping(VOID);\r
33UINTN ArmPlatformTrustzoneSupported(VOID);\r
34VOID ArmPlatformTrustzoneInit(VOID);\r
35VOID ArmPlatformGetPeiMemory (\r
36 OUT UINTN* PeiMemoryBase,\r
37 OUT UINTN* PeiMemorySize);\r
38VOID ArmPlatformGetVirtualMemoryMap (\r
39 OUT ARM_MEMORY_REGION_DESCRIPTOR** VirtualMemoryMap);\r
40VOID ArmPlatformGetEfiMemoryMap (\r
41 OUT ARM_SYSTEM_MEMORY_REGION_DESCRIPTOR** EfiMemoryMap)\r