Home | History | Annotate | Download | only in Library
      1 /** @file
      2   Provides a service to publish discovered system resources.
      3 
      4 Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
      5 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 #ifndef __RESOURCE_PUBLICATION_LIB__
     16 #define __RESOURCE_PUBLICATION_LIB__
     17 
     18 /**
     19   Declares the presence of permanent system memory in the platform.
     20 
     21   Declares that the system memory buffer specified by MemoryBegin and MemoryLength
     22   as permanent memory that may be used for general purpose use by software.
     23   The amount of memory available to software may be less than MemoryLength
     24   if published memory has alignment restrictions.
     25   If MemoryLength is 0, then ASSERT().
     26   If MemoryLength is greater than (MAX_ADDRESS - MemoryBegin + 1), then ASSERT().
     27 
     28   @param  MemoryBegin               The start address of the memory being declared.
     29   @param  MemoryLength              The number of bytes of memory being declared.
     30 
     31   @retval  RETURN_SUCCESS           The memory buffer was published.
     32   @retval  RETURN_OUT_OF_RESOURCES  There are not enough resources to publish the memory buffer
     33 
     34 **/
     35 RETURN_STATUS
     36 EFIAPI
     37 PublishSystemMemory (
     38   IN PHYSICAL_ADDRESS       MemoryBegin,
     39   IN UINT64                 MemoryLength
     40   );
     41 
     42 #endif
     43