This SmmIoLib is used to check if an IO resource is valid in SMM. Cc: Jeff Fan <jeff.fan@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Jeff Fan <jeff.fan@intel.com>
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Provides services for SMM IO Operation.
 | 
						|
 | 
						|
  The SMM IO Library provides function for checking if IO resource is accessible inside of SMM.
 | 
						|
 | 
						|
  Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
 | 
						|
  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.
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef _SMM_IO_LIB_H_
 | 
						|
#define _SMM_IO_LIB_H_
 | 
						|
 | 
						|
/**
 | 
						|
  This function check if the MMIO resource is valid per processor architecture and
 | 
						|
  valid per platform design.
 | 
						|
 | 
						|
  @param BaseAddress  The MMIO start address to be checked.
 | 
						|
  @param Length       The MMIO length to be checked.
 | 
						|
  @param Owner        A GUID representing the owner of the resource.
 | 
						|
                      This GUID may be used by producer to correlate the device ownership of the resource.
 | 
						|
                      NULL means no specific owner.
 | 
						|
 | 
						|
  @retval TRUE  This MMIO resource is valid per processor architecture and valid per platform design.
 | 
						|
  @retval FALSE This MMIO resource is not valid per processor architecture or valid per platform design.
 | 
						|
**/
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
SmmIsMmioValid (
 | 
						|
  IN EFI_PHYSICAL_ADDRESS  BaseAddress,
 | 
						|
  IN UINT64                Length,
 | 
						|
  IN EFI_GUID              *Owner  OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
#endif
 | 
						|
 |