diff options
Diffstat (limited to 'MdePkg/Library/BaseLib/Ipf/AccessMsrDb.s')
-rw-r--r-- | MdePkg/Library/BaseLib/Ipf/AccessMsrDb.s | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/MdePkg/Library/BaseLib/Ipf/AccessMsrDb.s b/MdePkg/Library/BaseLib/Ipf/AccessMsrDb.s deleted file mode 100644 index 4392e4299bfe..000000000000 --- a/MdePkg/Library/BaseLib/Ipf/AccessMsrDb.s +++ /dev/null @@ -1,121 +0,0 @@ -/// @file -/// IPF specific Machine Specific Registers accessing functions. -/// This implementation uses raw data to prepresent the assembly instruction of -/// mov msr[]= and mov =msr[]. -/// -/// Copyright (c) 2008, Intel Corporation. All rights reserved.<BR> -/// This program and the accompanying materials -/// are licensed and made available under the terms and conditions of the BSD License -/// which accompanies this distribution. The full text of the license may be found at -/// http://opensource.org/licenses/bsd-license.php. -/// -/// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -/// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -/// -/// -/// - - -//--------------------------------------------------------------------------------- -//++ -// AsmReadMsr -// -// Reads the current value of a Machine Specific Register (MSR). -// -// Reads and returns the current value of the Machine Specific Register specified by Index. No -// parameter checking is performed on Index, and if the Index value is beyond the implemented MSR -// register range, a Reserved Register/Field fault may occur. The caller must either guarantee that -// Index is valid, or the caller must set up fault handlers to catch the faults. This function is -// only available on IPF. -// -// Arguments : -// -// On Entry : The 8-bit Machine Specific Register index to read. -// -// Return Value: The current value of the Machine Specific Register specified by Index. -// -//-- -//---------------------------------------------------------------------------------- -.text -.type AsmReadMsr, @function -.proc AsmReadMsr -.regstk 1, 0, 0, 0 - -AsmReadMsr:: -// -// The follow 16 bytes stand for the bundle of -// mov r8=msr[in0];; -// since MSFT tool chain does not support mov =msr[] instruction -// - data1 0x0D - data1 0x40 - data1 0x00 - data1 0x40 - data1 0x16 - data1 0x04 - data1 0x00 - data1 0x00 - data1 0x00 - data1 0x02 - data1 0x00 - data1 0x00 - data1 0x00 - data1 0x00 - data1 0x04 - data1 0x00 - br.ret.sptk b0;; -.endp AsmReadMsr - -//--------------------------------------------------------------------------------- -//++ -// AsmWriteMsr -// -// Writes the current value of a Machine Specific Register (MSR). -// -// Writes Value to the Machine Specific Register specified by Index. Value is returned. No -// parameter checking is performed on Index, and if the Index value is beyond the implemented MSR -// register range, a Reserved Register/Field fault may occur. The caller must either guarantee that -// Index is valid, or the caller must set up fault handlers to catch the faults. This function is -// only available on IPF. -// -// Arguments : -// -// On Entry : The 8-bit Machine Specific Register index to write. -// The 64-bit value to write to the Machine Specific Register. -// -// Return Value: The 64-bit value to write to the Machine Specific Register. -// -//-- -//---------------------------------------------------------------------------------- -.text -.type AsmWriteMsr, @function -.proc AsmWriteMsr -.regstk 2, 0, 0, 0 - -AsmWriteMsr:: -// -// The follow 16 bytes stand for the bundle of -// mov msr[in0] = in1 -// mov r8 = in1;; -// since MSFT tool chain does not support mov msr[]= instruction -// - data1 0x0D - data1 0x00 - data1 0x84 - data1 0x40 - data1 0x06 - data1 0x04 - data1 0x00 - data1 0x00 - data1 0x00 - data1 0x02 - data1 0x00 - data1 0x00 - data1 0x01 - data1 0x08 - data1 0x01 - data1 0x84 - srlz.d;; - br.ret.sptk b0;; -.endp AsmWriteMsr - |