blob: 546bdc96b405a8971fcd06d0186cb69ba1673ef0 [file] [log] [blame]
/** @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;
}