As of SVN 15115, the PEI core needs a MigratePeiServicesTablePointer function.
Background: The ArmPkg variant of the PeiServicesTablePointerLib implements
the standard PEI Services table retrieval mechanism as defined in the
PI Specification Volume 1 section 5.4.4 using the TPIDRURW registers.
No special action is required on ARM to migrate the PEI Services table
pointer after main memory initialization but a function must be implemented
nonetheless.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen <eugene@hp.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18953
6f19259b-4bc3-4df7-8a09-
765794883524
{\r
return (CONST EFI_PEI_SERVICES **)ArmReadTpidrurw();\r
}\r
+\r
+/**\r
+Perform CPU specific actions required to migrate the PEI Services Table\r
+pointer from temporary RAM to permanent RAM.\r
+\r
+For IA32 CPUs, the PEI Services Table pointer is stored in the 4 bytes\r
+immediately preceding the Interrupt Descriptor Table (IDT) in memory.\r
+For X64 CPUs, the PEI Services Table pointer is stored in the 8 bytes\r
+immediately preceding the Interrupt Descriptor Table (IDT) in memory.\r
+For Itanium and ARM CPUs, a the PEI Services Table Pointer is stored in\r
+a dedicated CPU register. This means that there is no memory storage\r
+associated with storing the PEI Services Table pointer, so no additional\r
+migration actions are required for Itanium or ARM CPUs.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+MigratePeiServicesTablePointer(\r
+VOID\r
+)\r
+{\r
+ return;\r
+}\r