OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
OcCpuInternals.h
Go to the documentation of this file.
1
15#ifndef OC_CPU_INTERNALS_H
16#define OC_CPU_INTERNALS_H
17
18#include <Library/OcCpuLib.h>
19
20//
21// Tolerance within which we consider two frequency values to be roughly
22// equivalent.
23//
24#define OC_CPU_FREQUENCY_TOLERANCE 50000000LL// 50 Mhz
25
29typedef struct {
30 UINT64 Tsc;
31 volatile UINT32 CurrentCount;
34
40UINT32
41EFIAPI
43 VOID
44 );
45
54VOID
55EFIAPI
57 IN UINT32 AcpiTicksDuration,
58 IN UINT16 TimerAddr,
59 OUT UINT32 *AcpiTicksDelta,
60 OUT UINT64 *TscTicksDelta
61 );
62
70UINT8
72 IN CONST CHAR8 *BrandString
73 );
74
86UINT16
88 IN UINT8 Model,
89 IN UINT8 Stepping,
90 IN UINT8 AppleMajorType,
91 IN UINT16 CoreCount,
92 IN BOOLEAN Is64Bit
93 );
94
104 IN OC_CPU_INFO *CpuInfo
105 );
106
114UINTN
116 OUT CONST CHAR8 **Type OPTIONAL
117 );
118
126UINT64
128 IN BOOLEAN Recalculate
129 );
130
139UINT64
141 OUT UINT64 *FSBFrequency OPTIONAL,
142 IN BOOLEAN Recalculate
143 );
144
154UINT64
156 OUT UINT64 *CPUFrequency,
157 OUT UINT64 *TscAdjustPtr OPTIONAL,
158 IN BOOLEAN Recalculate
159 );
160
169UINT64
171 OUT UINT64 *FSBFrequency OPTIONAL,
172 OUT BOOLEAN *UnderHypervisor OPTIONAL
173 );
174
182UINT64
184 IN UINT64 FSBFrequency
185 );
186
196UINT32
197EFIAPI
199 IN volatile UINT32 *Value
200 );
201
202#endif // OC_CPU_INTERNALS_H
UINTN InternalGetPmTimerAddr(OUT CONST CHAR8 **Type OPTIONAL)
UINT16 InternalDetectAppleProcessorType(IN UINT8 Model, IN UINT8 Stepping, IN UINT8 AppleMajorType, IN UINT16 CoreCount, IN BOOLEAN Is64Bit)
OC_CPU_GENERATION InternalDetectIntelProcessorGeneration(IN OC_CPU_INFO *CpuInfo)
Definition OcCpuLib.c:1396
UINT32 EFIAPI AsmReadIntelMicrocodeRevision(VOID)
Definition UserMisc.c:187
UINT8 InternalDetectAppleMajorType(IN CONST CHAR8 *BrandString)
VOID EFIAPI AsmMeasureTicks(IN UINT32 AcpiTicksDuration, IN UINT16 TimerAddr, OUT UINT32 *AcpiTicksDelta, OUT UINT64 *TscTicksDelta)
UINT64 InternalCalculateVMTFrequency(OUT UINT64 *FSBFrequency OPTIONAL, OUT BOOLEAN *UnderHypervisor OPTIONAL)
UINT32 EFIAPI AsmIncrementUint32(IN volatile UINT32 *Value)
Definition UserMisc.c:176
UINT64 InternalConvertAppleFSBToTSCFrequency(IN UINT64 FSBFrequency)
Definition OcCpuLib.c:383
UINT64 InternalCalculateARTFrequencyIntel(OUT UINT64 *CPUFrequency, OUT UINT64 *TscAdjustPtr OPTIONAL, IN BOOLEAN Recalculate)
UINT64 InternalCalculateTSCFromApplePlatformInfo(OUT UINT64 *FSBFrequency OPTIONAL, IN BOOLEAN Recalculate)
UINT64 InternalCalculateTSCFromPMTimer(IN BOOLEAN Recalculate)
OC_CPU_GENERATION
Definition OcCpuLib.h:35
volatile UINT32 CurrentCount