signed-off-by: rsun3 reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12743 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			80 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Include file for SMM Control2 Protocol on SMM Control Protocol Thunk driver.
 | 
						|
  
 | 
						|
  Copyright (c) 2009 - 2011, 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_CONTROL2_ON_SMM_CONTROL_THUNK_H_
 | 
						|
#define  _SMM_CONTROL2_ON_SMM_CONTROL_THUNK_H_
 | 
						|
 | 
						|
#include <PiDxe.h>
 | 
						|
#include <FrameworkSmm.h>
 | 
						|
 | 
						|
#include <Protocol/SmmControl2.h>
 | 
						|
#include <Protocol/SmmControl.h>
 | 
						|
 | 
						|
#include <Guid/EventGroup.h>
 | 
						|
 | 
						|
#include <Library/DebugLib.h>
 | 
						|
#include <Library/UefiBootServicesTableLib.h>
 | 
						|
#include <Library/UefiDriverEntryPoint.h>
 | 
						|
#include <Library/UefiRuntimeLib.h>
 | 
						|
#include <Library/IoLib.h>
 | 
						|
 | 
						|
/**
 | 
						|
  Invokes SMI activation from either the preboot or runtime environment.
 | 
						|
 | 
						|
  This function generates an SMI.
 | 
						|
 | 
						|
  @param[in]     This                The EFI_SMM_CONTROL2_PROTOCOL instance.
 | 
						|
  @param[in, out] CommandPort         The value written to the command port.
 | 
						|
  @param[in, out] DataPort            The value written to the data port.
 | 
						|
  @param[in]     Periodic            Optional mechanism to engender a periodic stream.
 | 
						|
  @param[in]     ActivationInterval  Optional parameter to repeat at this period one
 | 
						|
                                     time or, if the Periodic Boolean is set, periodically.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS            The SMI/PMI has been engendered.
 | 
						|
  @retval EFI_DEVICE_ERROR       The timing is unsupported.
 | 
						|
  @retval EFI_INVALID_PARAMETER  The activation period is unsupported.
 | 
						|
  @retval EFI_INVALID_PARAMETER  The last periodic activation has not been cleared. 
 | 
						|
  @retval EFI_NOT_STARTED        The SMM base service has not been initialized.
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
SmmControl2Trigger (
 | 
						|
  IN CONST EFI_SMM_CONTROL2_PROTOCOL  *This,
 | 
						|
  IN OUT UINT8                        *CommandPort       OPTIONAL,
 | 
						|
  IN OUT UINT8                        *DataPort          OPTIONAL,
 | 
						|
  IN BOOLEAN                          Periodic           OPTIONAL,
 | 
						|
  IN UINTN                            ActivationInterval OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Clears any system state that was created in response to the Trigger() call.
 | 
						|
 | 
						|
  This function acknowledges and causes the deassertion of the SMI activation source.
 | 
						|
 | 
						|
  @param[in] This                The EFI_SMM_CONTROL2_PROTOCOL instance.
 | 
						|
  @param[in] Periodic            Optional parameter to repeat at this period one time
 | 
						|
 | 
						|
  @retval EFI_SUCCESS            The SMI/PMI has been engendered.
 | 
						|
  @retval EFI_DEVICE_ERROR       The source could not be cleared.
 | 
						|
  @retval EFI_INVALID_PARAMETER  The service did not support the Periodic input argument.
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
SmmControl2Clear (
 | 
						|
  IN CONST EFI_SMM_CONTROL2_PROTOCOL  *This,
 | 
						|
  IN BOOLEAN                          Periodic OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
#endif  
 |