--*/\r
\r
#include <PiPei.h>\r
+#include <Library/BaseMemoryLib.h>\r
+#include <Library/SecDispatchTableLib.h>\r
+\r
\r
/**\r
- Allow an override of the Sec PPI Dispatch Table. This table contains PPIs passed\r
- up from SEC to PEI. This function is responcible for allocating space for the \r
- overridden table.\r
+ Return the number of bytes that OverrideDispatchTable() will append to\r
+ the dispatch table.\r
\r
+ @return Size of table in bytes OverrideDispatchTable() will return\r
\r
- @param OriginalTable SECs default PPI dispatch table\r
+**/\r
+UINTN\r
+EFIAPI\r
+OverrideDispatchTableExtraSize (\r
+ )\r
+{\r
+ return 0;\r
+}\r
\r
- @return OriginalTable or override of the table\r
+\r
+/**\r
+ Allow an override of the Sec PPI Dispatch Table. This table contains PPIs passed\r
+ up from SEC to PEI. \r
+\r
+ @param OriginalTable SECs default PPI dispatch table\r
+ @param OriginalTableSize Size of SECs default PPI dispatch table\r
+ @param NewTable New dispatch table\r
+ @param NewTableSize Size of of the NewTable in bytes\r
+\r
+ @return EFI_SUCCESS table was copied\r
\r
**/\r
-EFI_PEI_PPI_DESCRIPTOR *\r
+EFI_STATUS\r
EFIAPI\r
OverrideDispatchTable (\r
- IN CONST EFI_PEI_PPI_DESCRIPTOR *OriginalTable\r
+ IN CONST EFI_PEI_PPI_DESCRIPTOR *OriginalTable,\r
+ IN UINTN OriginalTableSize,\r
+ IN OUT EFI_PEI_PPI_DESCRIPTOR *NewTable,\r
+ IN UINTN NewTableSize\r
)\r
{\r
- return (EFI_PEI_PPI_DESCRIPTOR *)OriginalTable;\r
+ CopyMem (NewTable, OriginalTable, OriginalTableSize);\r
+\r
+ return EFI_SUCCESS;\r
}\r