| /** @file | |
| CpuBreakpoint function. | |
| Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| /** | |
| Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics. | |
| **/ | |
| #include <Library/RegisterFilterLib.h> | |
| unsigned __int64 | |
| __readmsr ( | |
| int register | |
| ); | |
| #pragma intrinsic(__readmsr) | |
| /** | |
| Read data to MSR. | |
| @param Index Register index of MSR. | |
| @return Value read from MSR. | |
| **/ | |
| UINT64 | |
| EFIAPI | |
| AsmReadMsr64 ( | |
| IN UINT32 Index | |
| ) | |
| { | |
| UINT64 Value; | |
| BOOLEAN Flag; | |
| Flag = FilterBeforeMsrRead (Index, &Value); | |
| if (Flag) { | |
| Value = __readmsr (Index); | |
| } | |
| FilterAfterMsrRead (Index, &Value); | |
| return Value; | |
| } |