123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #include "lib.h"
- #ifndef __GNUC__
- #pragma RUNTIME_CODE(RtAcquireLock)
- #endif
- VOID
- RtAcquireLock (
- IN FLOCK *Lock
- )
- {
- if (BS) {
- if (BS->RaiseTPL != NULL) {
- Lock->OwnerTpl = uefi_call_wrapper(BS->RaiseTPL, 1, Lock->Tpl);
- }
- }
- else {
- if (LibRuntimeRaiseTPL != NULL) {
- Lock->OwnerTpl = LibRuntimeRaiseTPL(Lock->Tpl);
- }
- }
- Lock->Lock += 1;
- ASSERT (Lock->Lock == 1);
- }
- #ifndef __GNUC__
- #pragma RUNTIME_CODE(RtAcquireLock)
- #endif
- VOID
- RtReleaseLock (
- IN FLOCK *Lock
- )
- {
- EFI_TPL Tpl;
- Tpl = Lock->OwnerTpl;
- ASSERT(Lock->Lock == 1);
- Lock->Lock -= 1;
- if (BS) {
- if (BS->RestoreTPL != NULL) {
- uefi_call_wrapper(BS->RestoreTPL, 1, Tpl);
- }
- }
- else {
- if (LibRuntimeRestoreTPL != NULL) {
- LibRuntimeRestoreTPL(Tpl);
- }
- }
- }
|