+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2004, Intel Corporation. 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
-Module Name:\r
- \r
- MemoryStatusCode.h\r
- \r
-Abstract:\r
-\r
- Lib to provide status code reporting via memory.\r
-\r
---*/\r
-\r
-#ifndef _PEI_MEMORY_STATUS_CODE_H_\r
-#define _PEI_MEMORY_STATUS_CODE_H_\r
-\r
-//\r
-// Statements that include other files\r
-//\r
-#include "Tiano.h"\r
-#include "Pei.h"\r
-#include "SimpleCpuIoLib.h"\r
-#include "EfiCommonLib.h"\r
-\r
-//\r
-// Produced PPI\r
-//\r
-#include EFI_PPI_PRODUCER (StatusCodeMemory)\r
-#include EFI_PPI_PRODUCER (StatusCode)\r
-\r
-//\r
-// Ppi Consumed For Notification\r
-//\r
-#include EFI_PPI_CONSUMER (MemoryDiscovered)\r
-#if (PI_SPECIFICATION_VERSION < 0x00010000)\r
-#include EFI_PPI_CONSUMER (LoadFile)\r
-#endif\r
-//\r
-// Private data\r
-//\r
-//\r
-// Define the amount of heap to use before memory is allocated\r
-//\r
-#define PEI_STATUS_CODE_HEAP_LENGTH 512\r
-#define PEI_STATUS_CODE_MAX_HEAP_ENTRY (PEI_STATUS_CODE_HEAP_LENGTH / sizeof (EFI_STATUS_CODE_ENTRY))\r
-\r
-//\r
-// Define the number of 4K pages of BS memory to allocate (1MB)\r
-//\r
-#define PEI_STATUS_CODE_RT_PAGES (128)\r
-#define PEI_STATUS_CODE_RT_LENGTH (PEI_STATUS_CODE_RT_PAGES * 1024 * 4)\r
-#define PEI_STATUS_CODE_MAX_RT_ENTRY (PEI_STATUS_CODE_RT_LENGTH / sizeof (EFI_STATUS_CODE_ENTRY))\r
-\r
-//\r
-// Define a private data structure\r
-//\r
-#define MEMORY_STATUS_CODE_SIGNATURE EFI_SIGNATURE_32 ('M', 'S', 'C', 'S')\r
-\r
-typedef struct _MEMORY_STATUS_CODE_INSTANCE {\r
- UINT32 Signature;\r
- struct _MEMORY_STATUS_CODE_INSTANCE *This;\r
- EFI_FFS_FILE_HEADER *FfsHeader;\r
- EFI_PEI_PPI_DESCRIPTOR PpiDescriptor;\r
- PEI_STATUS_CODE_MEMORY_PPI StatusCodeMemoryPpi;\r
-#if (PI_SPECIFICATION_VERSION < 0x00010000)\r
- EFI_PEI_NOTIFY_DESCRIPTOR NotifyDescriptor;\r
-#endif\r
-} MEMORY_STATUS_CODE_INSTANCE;\r
-\r
-#define MEMORY_STATUS_CODE_FROM_DESCRIPTOR_THIS(a) \\r
- PEI_CR (a, \\r
- MEMORY_STATUS_CODE_INSTANCE, \\r
- PpiDescriptor, \\r
- MEMORY_STATUS_CODE_SIGNATURE \\r
- )\r
-#define MEMORY_STATUS_CODE_FROM_NOTIFY_THIS(a) \\r
- PEI_CR (a, \\r
- MEMORY_STATUS_CODE_INSTANCE, \\r
- NotifyDescriptor, \\r
- MEMORY_STATUS_CODE_SIGNATURE \\r
- )\r
-\r
-//\r
-// Private function declarations\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-LoadImageCallback (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor,\r
- IN VOID *Ppi\r
- );\r
-\r
-#endif\r