CloverBootloader/MdePkg/Library/BaseLib/Ia32/WriteIdtr.c
2019-09-03 12:58:42 +03:00

36 lines
655 B
C

/** @file
AsmWriteIdtr function
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "BaseLibInternals.h"
/**
Writes the current Interrupt Descriptor Table Register(GDTR) descriptor.
Writes the current IDTR descriptor and returns it in Idtr. This function is
only available on IA-32 and x64.
@param Idtr The pointer to a IDTR descriptor.
**/
VOID
EFIAPI
InternalX86WriteIdtr (
IN CONST IA32_DESCRIPTOR *Idtr
)
{
_asm {
mov eax, Idtr
pushfd
cli
lidt fword ptr [eax]
popfd
}
}