git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			170 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			170 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*++
 | |
| 
 | |
| Copyright (c) 2004, Intel Corporation                                                         
 | |
| All rights reserved. This program and the accompanying materials                          
 | |
| are licensed and made available under the terms and conditions of the BSD License         
 | |
| which accompanies this distribution.  The full text of the license may be found at        
 | |
| http://opensource.org/licenses/bsd-license.php                                            
 | |
|                                                                                           
 | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
 | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
 | |
| 
 | |
| Module Name:
 | |
| 
 | |
|   PeiLib.c
 | |
| 
 | |
| Abstract:
 | |
| 
 | |
|   PEI Library Functions
 | |
|  
 | |
| --*/
 | |
| 
 | |
| #include "TianoCommon.h"
 | |
| #include "PeiHob.h"
 | |
| #include "Pei.h"
 | |
| 
 | |
| VOID
 | |
| PeiCopyMem (
 | |
|   IN VOID   *Destination,
 | |
|   IN VOID   *Source,
 | |
|   IN UINTN  Length
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| ZeroMem (
 | |
|   IN VOID   *Buffer,
 | |
|   IN UINTN  Size
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   Set Buffer to zero for Size bytes.
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   Buffer  - Memory to set.
 | |
| 
 | |
|   Size    - Number of bytes to set
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   None
 | |
| 
 | |
| --*/
 | |
| {
 | |
|   INT8  *Ptr;
 | |
| 
 | |
|   Ptr = Buffer;
 | |
|   while (Size--) {
 | |
|     *(Ptr++) = 0;
 | |
|   }
 | |
| }
 | |
| 
 | |
| VOID
 | |
| PeiCopyMem (
 | |
|   IN VOID   *Destination,
 | |
|   IN VOID   *Source,
 | |
|   IN UINTN  Length
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   Copy Length bytes from Source to Destination.
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   Destination - Target of copy
 | |
| 
 | |
|   Source      - Place to copy from
 | |
| 
 | |
|   Length      - Number of bytes to copy
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   None
 | |
| 
 | |
| --*/
 | |
| {
 | |
|   CHAR8 *Destination8;
 | |
|   CHAR8 *Source8;
 | |
| 
 | |
|   Destination8  = Destination;
 | |
|   Source8       = Source;
 | |
|   while (Length--) {
 | |
|     *(Destination8++) = *(Source8++);
 | |
|   }
 | |
| }
 | |
| 
 | |
| VOID
 | |
| CopyMem (
 | |
|   IN VOID   *Destination,
 | |
|   IN VOID   *Source,
 | |
|   IN UINTN  Length
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   Copy Length bytes from Source to Destination.
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   Destination - Target of copy
 | |
| 
 | |
|   Source      - Place to copy from
 | |
| 
 | |
|   Length      - Number of bytes to copy
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   None
 | |
| 
 | |
| --*/
 | |
| {
 | |
|   CHAR8 *Destination8;
 | |
|   CHAR8 *Source8;
 | |
| 
 | |
|   Destination8  = Destination;
 | |
|   Source8       = Source;
 | |
|   while (Length--) {
 | |
|     *(Destination8++) = *(Source8++);
 | |
|   }
 | |
| }
 | |
| 
 | |
| BOOLEAN
 | |
| CompareGuid (
 | |
|   IN EFI_GUID     *Guid1,
 | |
|   IN EFI_GUID     *Guid2
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   Compares two GUIDs
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   Guid1 - guid to compare
 | |
|   Guid2 - guid to compare
 | |
| 
 | |
| Returns:
 | |
|   = TRUE  if Guid1 == Guid2
 | |
|   = FALSE if Guid1 != Guid2 
 | |
| 
 | |
| --*/
 | |
| {
 | |
|   if ((((INT32 *) Guid1)[0] - ((INT32 *) Guid2)[0]) == 0) {
 | |
|     if ((((INT32 *) Guid1)[1] - ((INT32 *) Guid2)[1]) == 0) {
 | |
|       if ((((INT32 *) Guid1)[2] - ((INT32 *) Guid2)[2]) == 0) {
 | |
|         if ((((INT32 *) Guid1)[3] - ((INT32 *) Guid2)[3]) == 0) {
 | |
|           return TRUE;
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   return FALSE;
 | |
| }
 |