27#define MSR_ACCESS_MICROCODE_SIGNATURE_PRM_HANDLER_GUID {0x2120cd3c, 0x848b, 0x4d8f, {0xab, 0xbb, 0x4b, 0x74, 0xce, 0x64, 0xac, 0x89}}
30#define MSR_ACCESS_MTRR_DUMP_PRM_HANDLER_GUID {0xea0935a7, 0x506b, 0x4159, {0xbb, 0xbb, 0x48, 0xde, 0xee, 0xcb, 0x6f, 0x58}}
33#define MMIO_ACCESS_HPET_PRM_HANDLER_GUID {0x1bd1bda9, 0x909a, 0x4614, {0x96, 0x99, 0x25, 0xec, 0x0c, 0x27, 0x83, 0xf7}}
38extern CONST CHAR8 *mMtrrMemoryCacheTypeShortName[];
51 OUT UINT64 *MtrrValidBitsMask,
52 OUT UINT64 *MtrrValidAddressMask
73 IN UINT64 MtrrValidBitsMask,
74 IN UINT64 MtrrValidAddressMask,
113 IN UINT32 VariableMtrrCount,
136 UINT64 MtrrValidBitsMask;
137 UINT64 MtrrValidAddressMask;
138 UINT32 VariableMtrrCount;
141 MTRR_NUMBER_OF_FIXED_MTRR *
sizeof (UINT64) + 2 *
ARRAY_SIZE (Mtrrs->Variables.Mtrr) + 1
155 Ranges[0].BaseAddress = 0;
156 Ranges[0].Length = MtrrValidBitsMask + 1;
164 MtrrValidAddressMask,
202 Address = HPET_BASE_ADDRESS + Offset;
204 if ((Address & 7) == 0) {
209 Value = *(
volatile UINT64 *)Address;
226 HpetRead (HPET_GENERAL_CONFIGURATION_OFFSET);
261 UINT32 MicrocodeSignature;
263 MicrocodeSignature = 0;
266 if (MicrocodeSignature == 0) {
267 return EFI_NOT_FOUND;
VOID EFIAPI MemoryFence(VOID)
UINT64 EFIAPI AsmReadMsr64(IN UINT32 Index)
UINT64 EFIAPI AsmWriteMsr64(IN UINT32 Index, IN UINT64 Value)
#define ARRAY_SIZE(Array)
#define MSR_IA32_BIOS_SIGN_ID
#define CPUID_VERSION_INFO
UINT32 EFIAPI AsmCpuid(IN UINT32 Index, OUT UINT32 *RegisterEax OPTIONAL, OUT UINT32 *RegisterEbx OPTIONAL, OUT UINT32 *RegisterEcx OPTIONAL, OUT UINT32 *RegisterEdx OPTIONAL)
UINT32 EFIAPI GetVariableMtrrCount(VOID)
BOOLEAN EFIAPI IsMtrrSupported(VOID)
MTRR_MEMORY_CACHE_TYPE EFIAPI MtrrGetDefaultMemoryType(VOID)
MTRR_SETTINGS *EFIAPI MtrrGetAllMtrrs(OUT MTRR_SETTINGS *MtrrSetting)
#define HPET_GENERAL_CAPABILITIES_ID_OFFSET
#define PRM_MODULE_EXPORT(...)
#define PRM_HANDLER_EXPORT_ENTRY(Guid, Name)
#define PRM_HANDLER_EXPORT(Name)
RETURN_STATUS MtrrLibApplyFixedMtrrs(IN MTRR_FIXED_SETTINGS *Fixed, IN OUT MTRR_MEMORY_RANGE *Ranges, IN UINTN RangeCapacity, IN OUT UINTN *RangeCount)
VOID MtrrLibInitializeMtrrMask(OUT UINT64 *MtrrValidBitsMask, OUT UINT64 *MtrrValidAddressMask)
RETURN_STATUS MtrrLibApplyVariableMtrrs(IN CONST MTRR_MEMORY_RANGE *VariableMtrr, IN UINT32 VariableMtrrCount, IN OUT MTRR_MEMORY_RANGE *Ranges, IN UINTN RangeCapacity, IN OUT UINTN *RangeCount)
VOID EFIAPI AccessHpetConfiguration(VOID)
UINT32 MtrrLibGetRawVariableRanges(IN MTRR_VARIABLE_SETTINGS *VariableSettings, IN UINTN VariableMtrrCount, IN UINT64 MtrrValidBitsMask, IN UINT64 MtrrValidAddressMask, OUT MTRR_MEMORY_RANGE *VariableMtrr)
UINT64 EFIAPI HpetRead(IN UINTN Offset)
EFI_STATUS EFIAPI PrmSampleHardwareAccessModuleInit(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
VOID EFIAPI AccessAllMtrrs(VOID)
UINT32 GetMicrocodeSignature(VOID)
struct MSR_IA32_BIOS_SIGN_ID_REGISTER::@629 Bits
UINT32 MicrocodeUpdateSignature