/** @file | |
Common Unit Test Host functions. | |
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include "UnitTestHost.h" | |
/// | |
/// Module global variable for simple system emulation of interrupt state | |
/// | |
STATIC BOOLEAN mUnitTestHostBaseLibInterruptState; | |
/** | |
Enables CPU interrupts. | |
**/ | |
VOID | |
EFIAPI | |
UnitTestHostBaseLibEnableInterrupts ( | |
VOID | |
) | |
{ | |
mUnitTestHostBaseLibInterruptState = TRUE; | |
} | |
/** | |
Disables CPU interrupts. | |
**/ | |
VOID | |
EFIAPI | |
UnitTestHostBaseLibDisableInterrupts ( | |
VOID | |
) | |
{ | |
mUnitTestHostBaseLibInterruptState = FALSE; | |
} | |
/** | |
Enables CPU interrupts for the smallest window required to capture any | |
pending interrupts. | |
**/ | |
VOID | |
EFIAPI | |
UnitTestHostBaseLibEnableDisableInterrupts ( | |
VOID | |
) | |
{ | |
mUnitTestHostBaseLibInterruptState = FALSE; | |
} | |
/** | |
Set the current CPU interrupt state. | |
Sets the current CPU interrupt state to the state specified by | |
InterruptState. If InterruptState is TRUE, then interrupts are enabled. If | |
InterruptState is FALSE, then interrupts are disabled. InterruptState is | |
returned. | |
@param InterruptState TRUE if interrupts should enabled. FALSE if | |
interrupts should be disabled. | |
@return InterruptState | |
**/ | |
BOOLEAN | |
EFIAPI | |
UnitTestHostBaseLibGetInterruptState ( | |
VOID | |
) | |
{ | |
return mUnitTestHostBaseLibInterruptState; | |
} | |
/** | |
Enables CPU interrupts. | |
**/ | |
VOID | |
EFIAPI | |
EnableInterrupts ( | |
VOID | |
) | |
{ | |
gUnitTestHostBaseLib.Common->EnableInterrupts (); | |
} | |
/** | |
Disables CPU interrupts. | |
**/ | |
VOID | |
EFIAPI | |
DisableInterrupts ( | |
VOID | |
) | |
{ | |
gUnitTestHostBaseLib.Common->DisableInterrupts (); | |
} | |
/** | |
Enables CPU interrupts for the smallest window required to capture any | |
pending interrupts. | |
**/ | |
VOID | |
EFIAPI | |
EnableDisableInterrupts ( | |
VOID | |
) | |
{ | |
gUnitTestHostBaseLib.Common->EnableDisableInterrupts (); | |
} | |
/** | |
Set the current CPU interrupt state. | |
Sets the current CPU interrupt state to the state specified by | |
InterruptState. If InterruptState is TRUE, then interrupts are enabled. If | |
InterruptState is FALSE, then interrupts are disabled. InterruptState is | |
returned. | |
@param InterruptState TRUE if interrupts should enabled. FALSE if | |
interrupts should be disabled. | |
@return InterruptState | |
**/ | |
BOOLEAN | |
EFIAPI | |
GetInterruptState ( | |
VOID | |
) | |
{ | |
return gUnitTestHostBaseLib.Common->GetInterruptState (); | |
} |