2010-01-27 23:59:52 +01:00
|
|
|
/** @file
|
|
|
|
Library class name: SmmLib
|
|
|
|
|
2018-06-27 15:11:33 +02:00
|
|
|
SMM Library Services that abstracts both S/W SMI generation and detection.
|
2010-01-27 23:59:52 +01:00
|
|
|
|
2018-06-27 15:11:33 +02:00
|
|
|
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
2019-04-04 01:06:00 +02:00
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
2010-01-27 23:59:52 +01:00
|
|
|
|
|
|
|
**/
|
|
|
|
|
|
|
|
#ifndef __SMM_LIB_H__
|
|
|
|
#define __SMM_LIB_H__
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2018-06-27 15:11:33 +02:00
|
|
|
Triggers an SMI at boot time.
|
2010-01-27 23:59:52 +01:00
|
|
|
|
|
|
|
This function triggers a software SMM interrupt at boot time.
|
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
TriggerBootServiceSoftwareSmi (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2018-06-27 15:11:33 +02:00
|
|
|
Triggers an SMI at run time.
|
2010-01-27 23:59:52 +01:00
|
|
|
|
|
|
|
This function triggers a software SMM interrupt at run time.
|
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
TriggerRuntimeSoftwareSmi (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2018-06-27 15:11:33 +02:00
|
|
|
Test if a boot time software SMI happened.
|
2010-01-27 23:59:52 +01:00
|
|
|
|
|
|
|
This function tests if a software SMM interrupt happened. If a software SMM interrupt happened and
|
|
|
|
it was triggered at boot time, it returns TRUE. Otherwise, it returns FALSE.
|
|
|
|
|
|
|
|
@retval TRUE A software SMI triggered at boot time happened.
|
|
|
|
@retval FLASE No software SMI happened, or the software SMI was triggered at run time.
|
|
|
|
|
|
|
|
**/
|
|
|
|
BOOLEAN
|
|
|
|
EFIAPI
|
|
|
|
IsBootServiceSoftwareSmi (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2018-06-27 15:11:33 +02:00
|
|
|
Test if a run time software SMI happened.
|
2010-01-27 23:59:52 +01:00
|
|
|
|
|
|
|
This function tests if a software SMM interrupt happened. If a software SMM interrupt happened and
|
|
|
|
it was triggered at run time, it returns TRUE. Otherwise, it returns FALSE.
|
|
|
|
|
|
|
|
@retval TRUE A software SMI triggered at run time happened.
|
|
|
|
@retval FLASE No software SMI happened or the software SMI was triggered at boot time.
|
|
|
|
|
|
|
|
**/
|
|
|
|
BOOLEAN
|
|
|
|
EFIAPI
|
|
|
|
IsRuntimeSoftwareSmi (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
/**
|
2018-06-27 15:11:33 +02:00
|
|
|
Clear APM SMI Status Bit; Set the EOS bit.
|
|
|
|
|
2010-01-27 23:59:52 +01:00
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
ClearSmi (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
#endif
|