1e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff/** @file 2e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff IA-32/x64 AsmReadGdtr() 3e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 4bb817c56c51fabe92915fe30b168b4833cb2aed9hhtian Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> 5bb817c56c51fabe92915fe30b168b4833cb2aed9hhtian This program and the accompanying materials 6e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff are licensed and made available under the terms and conditions of the BSD License 7e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff which accompanies this distribution. The full text of the license may be found at 8127010dd965de70796f468fc0e2ab5510732048amyronporter http://opensource.org/licenses/bsd-license.php. 9e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 10e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 13e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff**/ 14e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 151efcc4ae46f52e3845923ffbab68426e068709d2vanjeff 16f734a10ab104f1072f94cab66a5489e0fd8fce8aAJFISH 17e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 18e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff#include "BaseLibInternals.h" 19e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 20e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff/** 21e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff Reads the current Global Descriptor Table Register(GDTR) descriptor. 22e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 23e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff Reads and returns the current GDTR descriptor and returns it in Gdtr. This 24030cd1a2e95018683638462e9fcfa2d204aaff33qhuang function is only available on IA-32 and x64. 25e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 26e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff If Gdtr is NULL, then ASSERT(). 27e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 282fc59a003ed9104f9feebe0e418f2a04a50f3284myronporter @param Gdtr The pointer to a GDTR descriptor. 29e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 30e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff**/ 31e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeffVOID 32e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeffEFIAPI 33e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeffAsmReadGdtr ( 34e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff OUT IA32_DESCRIPTOR *Gdtr 35e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff ) 36e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff{ 37e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff ASSERT (Gdtr != NULL); 38e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff InternalX86ReadGdtr (Gdtr); 39e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff} 40