1 /** @file
2   AsmWriteGdtr function
3 
4   Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
5   This program and the accompanying materials
6   are licensed and made available under the terms and conditions of the BSD License
7   which accompanies this distribution.  The full text of the license may be found at
8   http://opensource.org/licenses/bsd-license.php.
9 
10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 
13 **/
14 
15 
16 #include "BaseLibInternals.h"
17 
18 
19 /**
20   Writes the current Global Descriptor Table Register (GDTR) descriptor.
21 
22   Writes and the current GDTR descriptor specified by Gdtr. This function is
23   only available on IA-32 and x64.
24 
25   @param  Gdtr  The pointer to a GDTR descriptor.
26 
27 **/
28 VOID
29 EFIAPI
InternalX86WriteGdtr(IN CONST IA32_DESCRIPTOR * Gdtr)30 InternalX86WriteGdtr (
31   IN      CONST IA32_DESCRIPTOR     *Gdtr
32   )
33 {
34   _asm {
35     mov     eax, Gdtr
36     lgdt    fword ptr [eax]
37   }
38 }
39 
40