/** @file Common Unit Test Host functions. Copyright (c) 2020, Intel Corporation. All rights reserved.
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 (); }