/** @file\r
IA-32/x64 MSR functions.\r
\r
- Copyright (c) 2006, 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
- Zero-extend a 32-bit value and writes it to a Machine Specific Register(MSR).\r
+ Writes a 32-bit value to a Machine Specific Register(MSR), and returns the value.\r
+ The upper 32-bits of the MSR are set to zero.\r
\r
Writes the 32-bit value specified by Value to the MSR specified by Index. The\r
upper 32-bits of the MSR write are set to zero. The 32-bit value written to\r
/**\r
Writes a bit field to an MSR.\r
\r
- Writes Value to a bit field in the lower 32-bits of a 64-bit MSR. The bit\r
+ Writes Value to a bit field in the lower 32-bits of a 64-bit MSR. The bit\r
field is specified by the StartBit and the EndBit. All other bits in the\r
destination MSR are preserved. The lower 32-bits of the MSR written is\r
returned. The caller must either guarantee that Index and the data written \r
@param EndBit The ordinal of the most significant bit in the bit field.\r
Range 0..63.\r
\r
- @return The value written back to the MSR.\r
+ @return The value read from the MSR.\r
\r
**/\r
UINT64\r