/** @file\r
AsmCpuid function.\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Retrieves CPUID information.\r
\r
If Edx is not NULL, then the value of EDX after CPUID is returned in Edx.\r
This function is only available on IA-32 and X64.\r
\r
- @param Index The 32-bit value to load into EAX prior to invoking the CPUID\r
- instruction.\r
- @param Eax Pointer to the 32-bit EAX value returned by the CPUID\r
- instruction. This is an optional parameter that may be NULL.\r
- @param Ebx Pointer to the 32-bit EBX value returned by the CPUID\r
- instruction. This is an optional parameter that may be NULL.\r
- @param Ecx Pointer to the 32-bit ECX value returned by the CPUID\r
- instruction. This is an optional parameter that may be NULL.\r
- @param Edx Pointer to the 32-bit EDX value returned by the CPUID\r
- instruction. This is an optional parameter that may be NULL.\r
+ @param Index The 32-bit value to load into EAX prior to invoking the CPUID\r
+ instruction.\r
+ @param RegisterEax Pointer to the 32-bit EAX value returned by the CPUID\r
+ instruction. This is an optional parameter that may be NULL.\r
+ @param RegisterEbx Pointer to the 32-bit EBX value returned by the CPUID\r
+ instruction. This is an optional parameter that may be NULL.\r
+ @param RegisterEcx Pointer to the 32-bit ECX value returned by the CPUID\r
+ instruction. This is an optional parameter that may be NULL.\r
+ @param RegisterEdx Pointer to the 32-bit EDX value returned by the CPUID\r
+ instruction. This is an optional parameter that may be NULL.\r
\r
@return Index\r
\r
/** @file\r
AsmCpuidEx function.\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Retrieves CPUID information using an extended leaf identifier.\r
\r
If Ecx is not NULL, then the value of ECX after CPUID is returned in Ecx.\r
If Edx is not NULL, then the value of EDX after CPUID is returned in Edx.\r
\r
- @param Index The 32-bit value to load into EAX prior to invoking the\r
- CPUID instruction.\r
- @param SubIndex The 32-bit value to load into ECX prior to invoking the\r
- CPUID instruction.\r
- @param Eax Pointer to the 32-bit EAX value returned by the CPUID\r
- instruction. This is an optional parameter that may be\r
- NULL.\r
- @param Ebx Pointer to the 32-bit EBX value returned by the CPUID\r
- instruction. This is an optional parameter that may be\r
- NULL.\r
- @param Ecx Pointer to the 32-bit ECX value returned by the CPUID\r
- instruction. This is an optional parameter that may be\r
- NULL.\r
- @param Edx Pointer to the 32-bit EDX value returned by the CPUID\r
- instruction. This is an optional parameter that may be\r
- NULL.\r
+ @param Index The 32-bit value to load into EAX prior to invoking the\r
+ CPUID instruction.\r
+ @param SubIndex The 32-bit value to load into ECX prior to invoking the\r
+ CPUID instruction.\r
+ @param RegisterEax Pointer to the 32-bit EAX value returned by the CPUID\r
+ instruction. This is an optional parameter that may be\r
+ NULL.\r
+ @param RegisterEbx Pointer to the 32-bit EBX value returned by the CPUID\r
+ instruction. This is an optional parameter that may be\r
+ NULL.\r
+ @param RegisterEcx Pointer to the 32-bit ECX value returned by the CPUID\r
+ instruction. This is an optional parameter that may be\r
+ NULL.\r
+ @param RegisterEdx Pointer to the 32-bit EDX value returned by the CPUID\r
+ instruction. This is an optional parameter that may be\r
+ NULL.\r
\r
@return Index\r
\r
/** @file\r
AsmMonitor function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Sets up a monitor buffer that is used by AsmMwait().\r
\r
Executes a MONITOR instruction with the register state specified by Eax, Ecx\r
and Edx. Returns Eax. This function is only available on IA-32 and X64.\r
\r
- @param Eax The value to load into EAX or RAX before executing the MONITOR\r
- instruction.\r
- @param Ecx The value to load into ECX or RCX before executing the MONITOR\r
- instruction.\r
- @param Edx The value to load into EDX or RDX before executing the MONITOR\r
- instruction.\r
+ @param RegisterEax The value to load into EAX or RAX before executing the MONITOR\r
+ instruction.\r
+ @param RegisterEcx The value to load into ECX or RCX before executing the MONITOR\r
+ instruction.\r
+ @param RegisterEdx The value to load into EDX or RDX before executing the MONITOR\r
+ instruction.\r
\r
- @return Eax\r
+ @return RegisterEax\r
\r
**/\r
UINTN\r
/** @file\r
AsmMwait function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Executes an MWAIT instruction.\r
\r
Executes an MWAIT instruction with the register state specified by Eax and\r
Ecx. Returns Eax. This function is only available on IA-32 and X64.\r
\r
- @param Eax The value to load into EAX or RAX before executing the MONITOR\r
- instruction.\r
- @param Ecx The value to load into ECX or RCX before executing the MONITOR\r
- instruction.\r
+ @param RegisterEax The value to load into EAX or RAX before executing the MONITOR\r
+ instruction.\r
+ @param RegisterEcx The value to load into ECX or RCX before executing the MONITOR\r
+ instruction.\r
\r
- @return Eax\r
+ @return RegisterEax\r
\r
**/\r
UINTN\r
/** @file\r
AsmReadPmc function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Reads the current value of a Performance Counter (PMC).\r
\r
UINT64\r
EFIAPI\r
AsmReadPmc (\r
- IN UINT32 PmcIndex\r
+ IN UINT32 Index\r
)\r
{\r
_asm {\r
- mov ecx, PmcIndex\r
+ mov ecx, Index\r
rdpmc\r
}\r
}\r
/** @file\r
AsmWriteCr0 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Control Register 0 (CR0).\r
\r
Writes and returns a new value to CR0. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Cr0 The value to write to CR0.\r
+ @param Value The value to write to CR0.\r
\r
@return The value written to CR0.\r
\r
/** @file\r
AsmWriteCr2 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Control Register 2 (CR2).\r
\r
Writes and returns a new value to CR2. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Cr2 The value to write to CR2.\r
+ @param Value The value to write to CR2.\r
\r
@return The value written to CR2.\r
\r
/** @file\r
AsmWriteCr3 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Control Register 3 (CR3).\r
\r
Writes and returns a new value to CR3. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Cr3 The value to write to CR3.\r
+ @param Value The value to write to CR3.\r
\r
@return The value written to CR3.\r
\r
/** @file\r
AsmWriteCr4 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Control Register 4 (CR4).\r
\r
Writes and returns a new value to CR4. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Cr4 The value to write to CR4.\r
+ @param Value The value to write to CR4.\r
\r
@return The value written to CR4.\r
\r
/** @file\r
AsmWriteDr0 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Debug Register 0 (DR0).\r
\r
Writes and returns a new value to DR0. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Dr0 The value to write to Dr0.\r
+ @param Value The value to write to Dr0.\r
\r
@return The value written to Debug Register 0 (DR0).\r
\r
/** @file\r
AsmWriteDr1 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Debug Register 1 (DR1).\r
\r
Writes and returns a new value to DR1. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Dr1 The value to write to Dr1.\r
+ @param Value The value to write to Dr1.\r
\r
@return The value written to Debug Register 1 (DR1).\r
\r
/** @file\r
AsmWriteDr2 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Debug Register 2 (DR2).\r
\r
Writes and returns a new value to DR2. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Dr2 The value to write to Dr2.\r
+ @param Value The value to write to Dr2.\r
\r
@return The value written to Debug Register 2 (DR2).\r
\r
/** @file\r
AsmWriteDr3 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Debug Register 3 (DR3).\r
\r
Writes and returns a new value to DR3. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Dr3 The value to write to Dr3.\r
+ @param Value The value to write to Dr3.\r
\r
@return The value written to Debug Register 3 (DR3).\r
\r
/** @file\r
AsmWriteDr4 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Debug Register 4 (DR4).\r
\r
Writes and returns a new value to DR4. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Dr4 The value to write to Dr4.\r
+ @param Value The value to write to Dr4.\r
\r
@return The value written to Debug Register 4 (DR4).\r
\r
/** @file\r
AsmWriteDr5 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Debug Register 5 (DR5).\r
\r
Writes and returns a new value to DR5. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Dr5 The value to write to Dr5.\r
+ @param Value The value to write to Dr5.\r
\r
@return The value written to Debug Register 5 (DR5).\r
\r
/** @file\r
AsmWriteDr6 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Debug Register 6 (DR6).\r
\r
Writes and returns a new value to DR6. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Dr6 The value to write to Dr6.\r
+ @param Value The value to write to Dr6.\r
\r
@return The value written to Debug Register 6 (DR6).\r
\r
/** @file\r
AsmWriteDr7 function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
**/\r
\r
-\r
-\r
-\r
/**\r
Writes a value to Debug Register 7 (DR7).\r
\r
Writes and returns a new value to DR7. This function is only available on\r
IA-32 and X64. This writes a 32-bit value on IA-32 and a 64-bit value on X64.\r
\r
- @param Dr7 The value to write to Dr7.\r
+ @param Value The value to write to Dr7.\r
\r
@return The value written to Debug Register 7 (DR7).\r
\r
/** @file\r
InterLockedIncrement function\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
/** @file\r
CpuBreakpoint function.\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
/** @file\r
CpuBreakpoint function.\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+ Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r