]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Core/DxeIplPeim/Ia32/ImageRead.c
Fix various 'EFIAPI' inconsistencies found while building MdeModulePkg.
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / Ia32 / ImageRead.c
1 /** @file
2 This module loads an image to memory for IA32 Cpu architecture.
3
4 Copyright (c) 2006 - 2009, Intel Corporation. <BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #include "DxeIpl.h"
16
17 /**
18 Support routine for the PE/COFF Loader that reads a buffer from a PE/COFF file
19
20 @param FileHandle The handle to the PE/COFF file
21 @param FileOffset The offset, in bytes, into the file to read
22 @param ReadSize The number of bytes to read from the file starting at
23 FileOffset
24 @param Buffer A pointer to the buffer to read the data into.
25
26 @retval EFI_SUCCESS ReadSize bytes of data were read into Buffer from the
27 PE/COFF file starting at FileOffset
28
29 **/
30 EFI_STATUS
31 EFIAPI
32 PeiImageRead (
33 IN VOID *FileHandle,
34 IN UINTN FileOffset,
35 IN OUT UINTN *ReadSize,
36 OUT VOID *Buffer
37 )
38 {
39 UINT8 *Destination32;
40 UINT8 *Source32;
41 UINTN Length;
42
43
44 Destination32 = Buffer;
45 Source32 = (UINT8 *) ((UINTN) FileHandle + FileOffset);
46
47 //
48 // This function assumes 32-bit alignment to increase performance
49 //
50
51 Length = *ReadSize;
52 while (Length-- != 0) {
53 *(Destination32++) = *(Source32++);
54 }
55
56 return EFI_SUCCESS;
57 }