--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation \r
+All rights reserved. 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
+ DxeLoadFunc.c\r
+\r
+Abstract:\r
+\r
+ Ia32-specifc functionality for DxeLoad.\r
+\r
+--*/\r
+\r
+#include <DxeIpl.h>\r
+\r
+EFI_STATUS\r
+CreateArchSpecificHobs (\r
+ OUT EFI_PHYSICAL_ADDRESS *BspStore\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Creates architecture-specific HOBs.\r
+\r
+ Note: New parameters should NOT be added for any HOBs that are added to this\r
+ function. BspStore is a special case because it is required for the\r
+ call to SwitchStacks() in DxeLoad().\r
+\r
+Arguments:\r
+\r
+ BspStore - The address of the BSP Store for those architectures that need\r
+ it. Otherwise 0.\r
+\r
+Returns:\r
+\r
+ EFI_SUCCESS - The HOBs were created successfully.\r
+\r
+--*/\r
+{\r
+ *BspStore = 0;\r
+ return EFI_SUCCESS;\r
+}\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation \r
+All rights reserved. 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
+ ImageRead.c\r
+\r
+Abstract:\r
+\r
+--*/\r
+\r
+#include <DxeIpl.h>\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+PeiImageRead (\r
+ IN VOID *FileHandle,\r
+ IN UINTN FileOffset,\r
+ IN OUT UINTN *ReadSize,\r
+ OUT VOID *Buffer\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Support routine for the PE/COFF Loader that reads a buffer from a PE/COFF file\r
+\r
+Arguments:\r
+\r
+ FileHandle - The handle to the PE/COFF file\r
+\r
+ FileOffset - The offset, in bytes, into the file to read\r
+\r
+ ReadSize - The number of bytes to read from the file starting at FileOffset\r
+\r
+ Buffer - A pointer to the buffer to read the data into.\r
+\r
+Returns:\r
+\r
+ EFI_SUCCESS - ReadSize bytes of data were read into Buffer from the PE/COFF file starting at FileOffset\r
+\r
+--*/\r
+{\r
+ UINT8 *Destination32;\r
+ UINT8 *Source32;\r
+ UINTN Length;\r
+\r
+ \r
+ Destination32 = Buffer;\r
+ Source32 = (UINT8 *) ((UINTN) FileHandle + FileOffset);\r
+\r
+ //\r
+ // This function assumes 32-bit alignment to increase performance\r
+ //\r
+// ASSERT (ALIGN_POINTER (Destination32, sizeof (UINT32)) == Destination32);\r
+// ASSERT (ALIGN_POINTER (Source32, sizeof (UINT32)) == Source32);\r
+\r
+ Length = *ReadSize;\r
+ while (Length--) {\r
+ *(Destination32++) = *(Source32++);\r
+ }\r
+\r
+ return EFI_SUCCESS;\r
+}\r
+\r
+EFI_STATUS\r
+GetImageReadFunction (\r
+ IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+ Support routine to return the PE32 Image Reader.\r
+ If the PeiImageRead() function is less than a page\r
+ in legnth. If the function is more than a page the DXE IPL will crash!!!!\r
+\r
+Arguments:\r
+ ImageContext - The context of the image being loaded\r
+\r
+Returns:\r
+ EFI_SUCCESS - If Image function location is found\r
+\r
+--*/\r
+{\r
+ VOID *MemoryBuffer;\r
+\r
+ if (gInMemory) {\r
+ ImageContext->ImageRead = PeiImageRead;\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ //\r
+ // BugBug; This code assumes PeiImageRead() is less than a page in size!\r
+ // Allocate a page so we can shaddow the read function from FLASH into \r
+ // memory to increase performance. \r
+ //\r
+ \r
+ MemoryBuffer = AllocateCopyPool (0x400, (VOID *)(UINTN) PeiImageRead);\r
+ ASSERT (MemoryBuffer != NULL);\r
+\r
+ ImageContext->ImageRead = (PE_COFF_LOADER_READ_FILE) (UINTN) MemoryBuffer;\r
+\r
+ return EFI_SUCCESS;\r
+}\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. 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
- DxeLoadFunc.c\r
-\r
-Abstract:\r
-\r
- Ia32-specifc functionality for DxeLoad.\r
-\r
---*/\r
-\r
-#include <DxeIpl.h>\r
-\r
-EFI_STATUS\r
-CreateArchSpecificHobs (\r
- OUT EFI_PHYSICAL_ADDRESS *BspStore\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Creates architecture-specific HOBs.\r
-\r
- Note: New parameters should NOT be added for any HOBs that are added to this\r
- function. BspStore is a special case because it is required for the\r
- call to SwitchStacks() in DxeLoad().\r
-\r
-Arguments:\r
-\r
- BspStore - The address of the BSP Store for those architectures that need\r
- it. Otherwise 0.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - The HOBs were created successfully.\r
-\r
---*/\r
-{\r
- *BspStore = 0;\r
- return EFI_SUCCESS;\r
-}\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. 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
- ImageRead.c\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#include <DxeIpl.h>\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-PeiImageRead (\r
- IN VOID *FileHandle,\r
- IN UINTN FileOffset,\r
- IN OUT UINTN *ReadSize,\r
- OUT VOID *Buffer\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Support routine for the PE/COFF Loader that reads a buffer from a PE/COFF file\r
-\r
-Arguments:\r
-\r
- FileHandle - The handle to the PE/COFF file\r
-\r
- FileOffset - The offset, in bytes, into the file to read\r
-\r
- ReadSize - The number of bytes to read from the file starting at FileOffset\r
-\r
- Buffer - A pointer to the buffer to read the data into.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - ReadSize bytes of data were read into Buffer from the PE/COFF file starting at FileOffset\r
-\r
---*/\r
-{\r
- UINT8 *Destination32;\r
- UINT8 *Source32;\r
- UINTN Length;\r
-\r
- \r
- Destination32 = Buffer;\r
- Source32 = (UINT8 *) ((UINTN) FileHandle + FileOffset);\r
-\r
- //\r
- // This function assumes 32-bit alignment to increase performance\r
- //\r
-// ASSERT (ALIGN_POINTER (Destination32, sizeof (UINT32)) == Destination32);\r
-// ASSERT (ALIGN_POINTER (Source32, sizeof (UINT32)) == Source32);\r
-\r
- Length = *ReadSize;\r
- while (Length--) {\r
- *(Destination32++) = *(Source32++);\r
- }\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-GetImageReadFunction (\r
- IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext\r
- )\r
-/*++\r
-\r
-Routine Description:\r
- Support routine to return the PE32 Image Reader.\r
- If the PeiImageRead() function is less than a page\r
- in legnth. If the function is more than a page the DXE IPL will crash!!!!\r
-\r
-Arguments:\r
- ImageContext - The context of the image being loaded\r
-\r
-Returns:\r
- EFI_SUCCESS - If Image function location is found\r
-\r
---*/\r
-{\r
- VOID *MemoryBuffer;\r
-\r
- if (gInMemory) {\r
- ImageContext->ImageRead = PeiImageRead;\r
- return EFI_SUCCESS;\r
- }\r
-\r
- //\r
- // BugBug; This code assumes PeiImageRead() is less than a page in size!\r
- // Allocate a page so we can shaddow the read function from FLASH into \r
- // memory to increase performance. \r
- //\r
- \r
- MemoryBuffer = AllocateCopyPool (0x400, (VOID *)(UINTN) PeiImageRead);\r
- ASSERT (MemoryBuffer != NULL);\r
-\r
- ImageContext->ImageRead = (PE_COFF_LOADER_READ_FILE) (UINTN) MemoryBuffer;\r
-\r
- return EFI_SUCCESS;\r
-}\r