From b7c51c9cf4864df6aabb99a1ae843becd577237c Mon Sep 17 00:00:00 2001 From: raywu Date: Fri, 15 Jun 2018 00:00:50 +0800 Subject: init. 1AQQW051 --- Core/CPU/x64/x64AsmLib/ReadMsr.asm | 85 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 Core/CPU/x64/x64AsmLib/ReadMsr.asm (limited to 'Core/CPU/x64/x64AsmLib/ReadMsr.asm') diff --git a/Core/CPU/x64/x64AsmLib/ReadMsr.asm b/Core/CPU/x64/x64AsmLib/ReadMsr.asm new file mode 100644 index 0000000..3fbeff6 --- /dev/null +++ b/Core/CPU/x64/x64AsmLib/ReadMsr.asm @@ -0,0 +1,85 @@ +;************************************************************************* +;************************************************************************* +;** ** +;** (C)Copyright 1985-2009, American Megatrends, Inc. ** +;** ** +;** All Rights Reserved. ** +;** ** +;** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +;** ** +;** Phone: (770)-246-8600 ** +;** ** +;************************************************************************* +;************************************************************************* + +;************************************************************************* +; $Header: /Alaska/SOURCE/Core/Modules/x64Core/x64AsmLib/ReadMsr.asm 1 10/01/10 5:08p Felixp $ +; +; $Revision: 1 $ +; +; $Date: 10/01/10 5:08p $ +;************************************************************************* +; Revision History +; ---------------- +; $Log: /Alaska/SOURCE/Core/Modules/x64Core/x64AsmLib/ReadMsr.asm $ +; +; 1 10/01/10 5:08p Felixp +; +; 1 8/24/06 12:57p Felixp +; +;************************************************************************* +; +; +; Name: +; +; Description: +; +; +;************************************************************************* +.code + +;************************************************************************* +; +; +; Name: ReadMsr +; +; Description: +; UINT64 ReadMsr(UINT32 Msr) reads the CPU MSR index defined by Msr and +; returns the value. +; +; Input: +; IN UINT32 Msr +; 32-bit MSR index to be read. +; +; Output: +; UINT64 MSR value at MSR index, Msr. +; +; Modified: +; +; Referrals: +; +; Notes: +; +; +;************************************************************************* +ReadMsr Proc ;(UINT32 Msr) + rdmsr ;rcx = MSR + and rax, 0ffffffffh + shl rdx, 32 + or rax, rdx ;rax = (rdx << 32) | eax + ret +ReadMsr endp + +END +;************************************************************************* +;************************************************************************* +;** ** +;** (C)Copyright 1985-2009, American Megatrends, Inc. ** +;** ** +;** All Rights Reserved. ** +;** ** +;** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +;** ** +;** Phone: (770)-246-8600 ** +;** ** +;************************************************************************* -- cgit v1.2.3