ReactOS 0.4.15-dev-8096-ga0eec98
apicp.h File Reference
#include <pshpack1.h>
#include <poppack.h>
Include dependency graph for apicp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  _APIC_BASE_ADDRESS_REGISTER
 
union  _APIC_SPURIOUS_INERRUPT_REGISTER
 
union  _APIC_VERSION_REGISTER
 
union  _APIC_EXTENDED_CONTROL_REGISTER
 
union  _APIC_INTERRUPT_COMMAND_REGISTER
 
union  _LVT_REGISTER
 
union  _IOAPIC_REDIRECTION_REGISTER
 

Macros

#define LOCAL_APIC_BASE   0xFFFE0000
 
#define IOAPIC_BASE   0xFFFE1000
 
#define APIC_SPURIOUS_VECTOR   0x1f
 
#define APC_VECTOR   0x3D
 
#define DISPATCH_VECTOR   0x41
 
#define APIC_GENERIC_VECTOR   0xC1
 
#define APIC_CLOCK_VECTOR   0xD1
 
#define APIC_SYNCH_VECTOR   0xD1
 
#define CLOCK_IPI_VECTOR   0xD2
 
#define APIC_IPI_VECTOR   0xE1
 
#define APIC_ERROR_VECTOR   0xE3
 
#define POWERFAIL_VECTOR   0xEF
 
#define APIC_PROFILE_VECTOR   0xFD
 
#define APIC_PERF_VECTOR   0xFE
 
#define APIC_NMI_VECTOR   0xFF
 
#define IrqlToTpr(Irql)   (HalpIRQLtoTPR[Irql])
 
#define IrqlToSoftVector(Irql)   IrqlToTpr(Irql)
 
#define TprToIrql(Tpr)   (HalVectorToIRQL[Tpr >> 4])
 
#define APIC_MAX_IRQ   24
 
#define APIC_FREE_VECTOR   0xFF
 
#define APIC_RESERVED_VECTOR   0xFE
 
#define IMCR_ADDRESS_PORT   (PUCHAR)0x0022
 
#define IMCR_DATA_PORT   (PUCHAR)0x0023
 
#define IMCR_SELECT   0x70
 
#define IMCR_PIC_DIRECT   0x00
 
#define IMCR_PIC_VIA_APIC   0x01
 
#define MSR_APIC_BASE   0x0000001B
 
#define IOAPIC_PHYS_BASE   0xFEC00000
 
#define APIC_CLOCK_INDEX   8
 
#define ApicLogicalId(Cpu)   ((UCHAR)(1<< Cpu))
 
#define IOAPIC_IOREGSEL   0x00
 
#define IOAPIC_IOWIN   0x10
 
#define IOAPIC_ID   0x00
 
#define IOAPIC_VER   0x01
 
#define IOAPIC_ARB   0x02
 
#define IOAPIC_REDTBL   0x10
 

Typedefs

typedef enum _APIC_REGISTER APIC_REGISTER
 
typedef enum _APIC_MT APIC_MT
 
typedef enum _APIC_TGM APIC_TGM
 
typedef enum _APIC_DM APIC_DM
 
typedef enum _APIC_DSH APIC_DSH
 
typedef enum _APIC_DF APIC_DF
 
typedef enum _APIC_RRS APIC_RRS
 
typedef enum _TIMER_DV TIMER_DV
 
typedef union _APIC_BASE_ADDRESS_REGISTER APIC_BASE_ADDRESS_REGISTER
 
typedef union _APIC_SPURIOUS_INERRUPT_REGISTER APIC_SPURIOUS_INERRUPT_REGISTER
 
typedef union _APIC_VERSION_REGISTER APIC_VERSION_REGISTER
 
typedef union _APIC_EXTENDED_CONTROL_REGISTER APIC_EXTENDED_CONTROL_REGISTER
 
typedef union _APIC_INTERRUPT_COMMAND_REGISTER APIC_INTERRUPT_COMMAND_REGISTER
 
typedef union _LVT_REGISTER LVT_REGISTER
 
typedef union _IOAPIC_REDIRECTION_REGISTER IOAPIC_REDIRECTION_REGISTER
 

Enumerations

enum  _APIC_REGISTER {
  APIC_ID = 0x0020 , APIC_VER = 0x0030 , APIC_TPR = 0x0080 , APIC_APR = 0x0090 ,
  APIC_PPR = 0x00A0 , APIC_EOI = 0x00B0 , APIC_RRR = 0x00C0 , APIC_LDR = 0x00D0 ,
  APIC_DFR = 0x00E0 , APIC_SIVR = 0x00F0 , APIC_ISR = 0x0100 , APIC_TMR = 0x0180 ,
  APIC_IRR = 0x0200 , APIC_ESR = 0x0280 , APIC_ICR0 = 0x0300 , APIC_ICR1 = 0x0310 ,
  APIC_TMRLVTR = 0x0320 , APIC_THRMLVTR = 0x0330 , APIC_PCLVTR = 0x0340 , APIC_LINT0 = 0x0350 ,
  APIC_LINT1 = 0x0360 , APIC_ERRLVTR = 0x0370 , APIC_TICR = 0x0380 , APIC_TCCR = 0x0390 ,
  APIC_TDCR = 0x03E0 , APIC_EAFR = 0x0400 , APIC_EACR = 0x0410 , APIC_SEOI = 0x0420 ,
  APIC_EXT0LVTR = 0x0500 , APIC_EXT1LVTR = 0x0510 , APIC_EXT2LVTR = 0x0520 , APIC_EXT3LVTR = 0x0530
}
 
enum  _APIC_MT {
  APIC_MT_Fixed = 0 , APIC_MT_LowestPriority = 1 , APIC_MT_SMI = 2 , APIC_MT_RemoteRead = 3 ,
  APIC_MT_NMI = 4 , APIC_MT_INIT = 5 , APIC_MT_Startup = 6 , APIC_MT_ExtInt = 7
}
 
enum  _APIC_TGM { APIC_TGM_Edge , APIC_TGM_Level }
 
enum  _APIC_DM { APIC_DM_Physical , APIC_DM_Logical }
 
enum  _APIC_DSH { APIC_DSH_Destination , APIC_DSH_Self , APIC_DSH_AllIncludingSelf , APIC_DSH_AllExcludingSelf }
 
enum  _APIC_DF { APIC_DF_Flat = 0xFFFFFFFF , APIC_DF_Cluster = 0x0FFFFFFF }
 
enum  _APIC_RRS { APIC_RRS_Invalid = 0 , APIC_RRS_Pending = 1 , APIC_RRS_Done = 2 }
 
enum  _TIMER_DV {
  TIMER_DV_DivideBy2 = 0 , TIMER_DV_DivideBy4 = 1 , TIMER_DV_DivideBy8 = 2 , TIMER_DV_DivideBy16 = 3 ,
  TIMER_DV_DivideBy32 = 8 , TIMER_DV_DivideBy64 = 9 , TIMER_DV_DivideBy128 = 10 , TIMER_DV_DivideBy1 = 11
}
 

Functions

FORCEINLINE ULONG ApicRead (APIC_REGISTER Register)
 
FORCEINLINE VOID ApicWrite (APIC_REGISTER Register, ULONG Value)
 
VOID NTAPI ApicInitializeTimer (ULONG Cpu)
 
VOID NTAPI HalInitializeProfiling (VOID)
 
VOID NTAPI HalpInitApicInfo (IN PLOADER_PARAMETER_BLOCK KeLoaderBlock)
 
VOID __cdecl ApicSpuriousService (VOID)
 

Macro Definition Documentation

◆ APC_VECTOR

#define APC_VECTOR   0x3D

Definition at line 41 of file apicp.h.

◆ APIC_CLOCK_INDEX

#define APIC_CLOCK_INDEX   8

Definition at line 116 of file apicp.h.

◆ APIC_CLOCK_VECTOR

#define APIC_CLOCK_VECTOR   0xD1

Definition at line 44 of file apicp.h.

◆ APIC_ERROR_VECTOR

#define APIC_ERROR_VECTOR   0xE3

Definition at line 48 of file apicp.h.

◆ APIC_FREE_VECTOR

#define APIC_FREE_VECTOR   0xFF

Definition at line 60 of file apicp.h.

◆ APIC_GENERIC_VECTOR

#define APIC_GENERIC_VECTOR   0xC1

Definition at line 43 of file apicp.h.

◆ APIC_IPI_VECTOR

#define APIC_IPI_VECTOR   0xE1

Definition at line 47 of file apicp.h.

◆ APIC_MAX_IRQ

#define APIC_MAX_IRQ   24

Definition at line 59 of file apicp.h.

◆ APIC_NMI_VECTOR

#define APIC_NMI_VECTOR   0xFF

Definition at line 52 of file apicp.h.

◆ APIC_PERF_VECTOR

#define APIC_PERF_VECTOR   0xFE

Definition at line 51 of file apicp.h.

◆ APIC_PROFILE_VECTOR

#define APIC_PROFILE_VECTOR   0xFD

Definition at line 50 of file apicp.h.

◆ APIC_RESERVED_VECTOR

#define APIC_RESERVED_VECTOR   0xFE

Definition at line 61 of file apicp.h.

◆ APIC_SPURIOUS_VECTOR

#define APIC_SPURIOUS_VECTOR   0x1f

Definition at line 40 of file apicp.h.

◆ APIC_SYNCH_VECTOR

#define APIC_SYNCH_VECTOR   0xD1

Definition at line 45 of file apicp.h.

◆ ApicLogicalId

#define ApicLogicalId (   Cpu)    ((UCHAR)(1<< Cpu))

Definition at line 117 of file apicp.h.

◆ CLOCK_IPI_VECTOR

#define CLOCK_IPI_VECTOR   0xD2

Definition at line 46 of file apicp.h.

◆ DISPATCH_VECTOR

#define DISPATCH_VECTOR   0x41

Definition at line 42 of file apicp.h.

◆ IMCR_ADDRESS_PORT

#define IMCR_ADDRESS_PORT   (PUCHAR)0x0022

Definition at line 70 of file apicp.h.

◆ IMCR_DATA_PORT

#define IMCR_DATA_PORT   (PUCHAR)0x0023

Definition at line 71 of file apicp.h.

◆ IMCR_PIC_DIRECT

#define IMCR_PIC_DIRECT   0x00

Definition at line 73 of file apicp.h.

◆ IMCR_PIC_VIA_APIC

#define IMCR_PIC_VIA_APIC   0x01

Definition at line 74 of file apicp.h.

◆ IMCR_SELECT

#define IMCR_SELECT   0x70

Definition at line 72 of file apicp.h.

◆ IOAPIC_ARB

#define IOAPIC_ARB   0x02

Definition at line 287 of file apicp.h.

◆ IOAPIC_BASE

#define IOAPIC_BASE   0xFFFE1000

Definition at line 37 of file apicp.h.

◆ IOAPIC_ID

#define IOAPIC_ID   0x00

Definition at line 285 of file apicp.h.

◆ IOAPIC_IOREGSEL

#define IOAPIC_IOREGSEL   0x00

Definition at line 281 of file apicp.h.

◆ IOAPIC_IOWIN

#define IOAPIC_IOWIN   0x10

Definition at line 282 of file apicp.h.

◆ IOAPIC_PHYS_BASE

#define IOAPIC_PHYS_BASE   0xFEC00000

Definition at line 115 of file apicp.h.

◆ IOAPIC_REDTBL

#define IOAPIC_REDTBL   0x10

Definition at line 288 of file apicp.h.

◆ IOAPIC_VER

#define IOAPIC_VER   0x01

Definition at line 286 of file apicp.h.

◆ IrqlToSoftVector

#define IrqlToSoftVector (   Irql)    IrqlToTpr(Irql)

Definition at line 55 of file apicp.h.

◆ IrqlToTpr

#define IrqlToTpr (   Irql)    (HalpIRQLtoTPR[Irql])

Definition at line 54 of file apicp.h.

◆ LOCAL_APIC_BASE

#define LOCAL_APIC_BASE   0xFFFE0000

Definition at line 36 of file apicp.h.

◆ MSR_APIC_BASE

#define MSR_APIC_BASE   0x0000001B

Definition at line 114 of file apicp.h.

◆ POWERFAIL_VECTOR

#define POWERFAIL_VECTOR   0xEF

Definition at line 49 of file apicp.h.

◆ TprToIrql

#define TprToIrql (   Tpr)    (HalVectorToIRQL[Tpr >> 4])

Definition at line 56 of file apicp.h.

Typedef Documentation

◆ APIC_BASE_ADDRESS_REGISTER

◆ APIC_DF

◆ APIC_DM

◆ APIC_DSH

◆ APIC_EXTENDED_CONTROL_REGISTER

◆ APIC_INTERRUPT_COMMAND_REGISTER

◆ APIC_MT

◆ APIC_REGISTER

◆ APIC_RRS

◆ APIC_SPURIOUS_INERRUPT_REGISTER

◆ APIC_TGM

◆ APIC_VERSION_REGISTER

◆ IOAPIC_REDIRECTION_REGISTER

◆ LVT_REGISTER

typedef union _LVT_REGISTER LVT_REGISTER

◆ TIMER_DV

Enumeration Type Documentation

◆ _APIC_DF

Enumerator
APIC_DF_Flat 
APIC_DF_Cluster 

Definition at line 159 of file apicp.h.

160{
161 APIC_DF_Flat = 0xFFFFFFFF,
162 APIC_DF_Cluster = 0x0FFFFFFF
163} APIC_DF;
@ APIC_DF_Flat
Definition: apicp.h:161
@ APIC_DF_Cluster
Definition: apicp.h:162
enum _APIC_DF APIC_DF

◆ _APIC_DM

Enumerator
APIC_DM_Physical 
APIC_DM_Logical 

Definition at line 143 of file apicp.h.

144{
147} APIC_DM;
@ APIC_DM_Logical
Definition: apicp.h:146
@ APIC_DM_Physical
Definition: apicp.h:145
enum _APIC_DM APIC_DM

◆ _APIC_DSH

Enumerator
APIC_DSH_Destination 
APIC_DSH_Self 
APIC_DSH_AllIncludingSelf 
APIC_DSH_AllExcludingSelf 

Definition at line 150 of file apicp.h.

151{
156} APIC_DSH;
@ APIC_DSH_AllIncludingSelf
Definition: apicp.h:154
@ APIC_DSH_Destination
Definition: apicp.h:152
@ APIC_DSH_Self
Definition: apicp.h:153
@ APIC_DSH_AllExcludingSelf
Definition: apicp.h:155
enum _APIC_DSH APIC_DSH

◆ _APIC_MT

Enumerator
APIC_MT_Fixed 
APIC_MT_LowestPriority 
APIC_MT_SMI 
APIC_MT_RemoteRead 
APIC_MT_NMI 
APIC_MT_INIT 
APIC_MT_Startup 
APIC_MT_ExtInt 

Definition at line 123 of file apicp.h.

124{
125 APIC_MT_Fixed = 0,
127 APIC_MT_SMI = 2,
129 APIC_MT_NMI = 4,
130 APIC_MT_INIT = 5,
131 APIC_MT_Startup = 6,
132 APIC_MT_ExtInt = 7,
133} APIC_MT;
@ APIC_MT_INIT
Definition: apicp.h:130
@ APIC_MT_LowestPriority
Definition: apicp.h:126
@ APIC_MT_Fixed
Definition: apicp.h:125
@ APIC_MT_NMI
Definition: apicp.h:129
@ APIC_MT_ExtInt
Definition: apicp.h:132
@ APIC_MT_SMI
Definition: apicp.h:127
@ APIC_MT_Startup
Definition: apicp.h:131
@ APIC_MT_RemoteRead
Definition: apicp.h:128
enum _APIC_MT APIC_MT

◆ _APIC_REGISTER

Enumerator
APIC_ID 
APIC_VER 
APIC_TPR 
APIC_APR 
APIC_PPR 
APIC_EOI 
APIC_RRR 
APIC_LDR 
APIC_DFR 
APIC_SIVR 
APIC_ISR 
APIC_TMR 
APIC_IRR 
APIC_ESR 
APIC_ICR0 
APIC_ICR1 
APIC_TMRLVTR 
APIC_THRMLVTR 
APIC_PCLVTR 
APIC_LINT0 
APIC_LINT1 
APIC_ERRLVTR 
APIC_TICR 
APIC_TCCR 
APIC_TDCR 
APIC_EAFR 
APIC_EACR 
APIC_SEOI 
APIC_EXT0LVTR 
APIC_EXT1LVTR 
APIC_EXT2LVTR 
APIC_EXT3LVTR 

Definition at line 78 of file apicp.h.

79{
80 APIC_ID = 0x0020, /* Local APIC ID Register (R/W) */
81 APIC_VER = 0x0030, /* Local APIC Version Register (R) */
82 APIC_TPR = 0x0080, /* Task Priority Register (R/W) */
83 APIC_APR = 0x0090, /* Arbitration Priority Register (R) */
84 APIC_PPR = 0x00A0, /* Processor Priority Register (R) */
85 APIC_EOI = 0x00B0, /* EOI Register (W) */
86 APIC_RRR = 0x00C0, /* Remote Read Register () */
87 APIC_LDR = 0x00D0, /* Logical Destination Register (R/W) */
88 APIC_DFR = 0x00E0, /* Destination Format Register (0-27 R, 28-31 R/W) */
89 APIC_SIVR = 0x00F0, /* Spurious Interrupt Vector Register (0-3 R, 4-9 R/W) */
90 APIC_ISR = 0x0100, /* Interrupt Service Register 0-255 (R) */
91 APIC_TMR = 0x0180, /* Trigger Mode Register 0-255 (R) */
92 APIC_IRR = 0x0200, /* Interrupt Request Register 0-255 (r) */
93 APIC_ESR = 0x0280, /* Error Status Register (R) */
94 APIC_ICR0 = 0x0300, /* Interrupt Command Register 0-31 (R/W) */
95 APIC_ICR1 = 0x0310, /* Interrupt Command Register 32-63 (R/W) */
96 APIC_TMRLVTR = 0x0320, /* Timer Local Vector Table (R/W) */
97 APIC_THRMLVTR = 0x0330, /* Thermal Local Vector Table */
98 APIC_PCLVTR = 0x0340, /* Performance Counter Local Vector Table (R/W) */
99 APIC_LINT0 = 0x0350, /* LINT0 Local Vector Table (R/W) */
100 APIC_LINT1 = 0x0360, /* LINT1 Local Vector Table (R/W) */
101 APIC_ERRLVTR = 0x0370, /* Error Local Vector Table (R/W) */
102 APIC_TICR = 0x0380, /* Initial Count Register for Timer (R/W) */
103 APIC_TCCR = 0x0390, /* Current Count Register for Timer (R) */
104 APIC_TDCR = 0x03E0, /* Timer Divide Configuration Register (R/W) */
105 APIC_EAFR = 0x0400, /* extended APIC Feature register (R/W) */
106 APIC_EACR = 0x0410, /* Extended APIC Control Register (R/W) */
107 APIC_SEOI = 0x0420, /* Specific End Of Interrupt Register (W) */
108 APIC_EXT0LVTR = 0x0500, /* Extended Interrupt 0 Local Vector Table */
109 APIC_EXT1LVTR = 0x0510, /* Extended Interrupt 1 Local Vector Table */
110 APIC_EXT2LVTR = 0x0520, /* Extended Interrupt 2 Local Vector Table */
111 APIC_EXT3LVTR = 0x0530 /* Extended Interrupt 3 Local Vector Table */
enum _APIC_REGISTER APIC_REGISTER
@ APIC_LINT1
Definition: apicp.h:100
@ APIC_RRR
Definition: apicp.h:86
@ APIC_PPR
Definition: apicp.h:84
@ APIC_ICR0
Definition: apicp.h:94
@ APIC_EXT3LVTR
Definition: apicp.h:111
@ APIC_TICR
Definition: apicp.h:102
@ APIC_SEOI
Definition: apicp.h:107
@ APIC_TPR
Definition: apicp.h:82
@ APIC_EXT1LVTR
Definition: apicp.h:109
@ APIC_TCCR
Definition: apicp.h:103
@ APIC_VER
Definition: apicp.h:81
@ APIC_EACR
Definition: apicp.h:106
@ APIC_LDR
Definition: apicp.h:87
@ APIC_ESR
Definition: apicp.h:93
@ APIC_ERRLVTR
Definition: apicp.h:101
@ APIC_IRR
Definition: apicp.h:92
@ APIC_PCLVTR
Definition: apicp.h:98
@ APIC_ICR1
Definition: apicp.h:95
@ APIC_ISR
Definition: apicp.h:90
@ APIC_TDCR
Definition: apicp.h:104
@ APIC_EXT2LVTR
Definition: apicp.h:110
@ APIC_EAFR
Definition: apicp.h:105
@ APIC_THRMLVTR
Definition: apicp.h:97
@ APIC_TMRLVTR
Definition: apicp.h:96
@ APIC_EOI
Definition: apicp.h:85
@ APIC_ID
Definition: apicp.h:80
@ APIC_DFR
Definition: apicp.h:88
@ APIC_LINT0
Definition: apicp.h:99
@ APIC_TMR
Definition: apicp.h:91
@ APIC_SIVR
Definition: apicp.h:89
@ APIC_EXT0LVTR
Definition: apicp.h:108
@ APIC_APR
Definition: apicp.h:83

◆ _APIC_RRS

Enumerator
APIC_RRS_Invalid 
APIC_RRS_Pending 
APIC_RRS_Done 

Definition at line 166 of file apicp.h.

167{
170 APIC_RRS_Done = 2
171} APIC_RRS;
@ APIC_RRS_Done
Definition: apicp.h:170
@ APIC_RRS_Invalid
Definition: apicp.h:168
@ APIC_RRS_Pending
Definition: apicp.h:169
enum _APIC_RRS APIC_RRS

◆ _APIC_TGM

Enumerator
APIC_TGM_Edge 
APIC_TGM_Level 

Definition at line 136 of file apicp.h.

137{
140} APIC_TGM;
enum _APIC_TGM APIC_TGM
@ APIC_TGM_Level
Definition: apicp.h:139
@ APIC_TGM_Edge
Definition: apicp.h:138

◆ _TIMER_DV

Enumerator
TIMER_DV_DivideBy2 
TIMER_DV_DivideBy4 
TIMER_DV_DivideBy8 
TIMER_DV_DivideBy16 
TIMER_DV_DivideBy32 
TIMER_DV_DivideBy64 
TIMER_DV_DivideBy128 
TIMER_DV_DivideBy1 

Definition at line 174 of file apicp.h.

175{
184} TIMER_DV;
@ TIMER_DV_DivideBy128
Definition: apicp.h:182
@ TIMER_DV_DivideBy4
Definition: apicp.h:177
@ TIMER_DV_DivideBy8
Definition: apicp.h:178
@ TIMER_DV_DivideBy1
Definition: apicp.h:183
@ TIMER_DV_DivideBy2
Definition: apicp.h:176
@ TIMER_DV_DivideBy64
Definition: apicp.h:181
@ TIMER_DV_DivideBy16
Definition: apicp.h:179
@ TIMER_DV_DivideBy32
Definition: apicp.h:180
enum _TIMER_DV TIMER_DV

Function Documentation

◆ ApicInitializeTimer()

VOID NTAPI ApicInitializeTimer ( ULONG  Cpu)

Definition at line 50 of file apictimer.c.

51{
52
53 /* Initialize the TSC */
54 //HalpInitializeTsc();
55
56 /* Set clock multiplier to 1 */
58
60
61// KeSetTimeIncrement
62}
FORCEINLINE VOID ApicWrite(APIC_REGISTER Register, ULONG Value)
Definition: apicp.h:323
VOID NTAPI ApicSetTimerInterval(ULONG MicroSeconds)
Definition: apictimer.c:28

◆ ApicRead()

FORCEINLINE ULONG ApicRead ( APIC_REGISTER  Register)

Definition at line 316 of file apicp.h.

317{
319}
#define READ_REGISTER_ULONG(r)
Definition: arm.h:26
#define APIC_BASE
Definition: ketypes.h:339
uint32_t * PULONG
Definition: typedefs.h:59

Referenced by ApicGetCurrentIrql(), ApicGetProcessorIrql(), ApicInitializeIOApic(), ApicInitializeLocalApic(), ApicRequestGlobalInterrupt(), and ApicRequestSelfInterrupt().

◆ ApicSpuriousService()

VOID __cdecl ApicSpuriousService ( VOID  )

Referenced by ApicInitializeLocalApic().

◆ ApicWrite()

FORCEINLINE VOID ApicWrite ( APIC_REGISTER  Register,
ULONG  Value 
)

Definition at line 323 of file apicp.h.

324{
326}
#define WRITE_REGISTER_ULONG(r, v)
Definition: arm.h:27
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413

Referenced by ApicInitializeLocalApic(), ApicInitializeTimer(), ApicLowerIrql(), ApicRequestGlobalInterrupt(), ApicRequestSelfInterrupt(), ApicSendEOI(), ApicSetIrql(), ApicSetTimerInterval(), HalBeginSystemInterrupt(), HalSetProfileInterval(), HalStartProfileInterrupt(), and HalStopProfileInterrupt().

◆ HalInitializeProfiling()

VOID NTAPI HalInitializeProfiling ( VOID  )

Definition at line 76 of file apictimer.c.

77{
79 KeGetPcr()->HalReserved[HAL_PROFILING_MULTIPLIER] = 1; /* TODO: HACK */
80}
ULONGLONG HalCurProfileInterval
Definition: apictimer.c:20
#define HAL_PROFILING_MULTIPLIER
Definition: halp.h:55
#define HAL_PROFILING_INTERVAL
Definition: halp.h:54
#define KeGetPcr()
Definition: ketypes.h:81

Referenced by HalpInitProcessor().

◆ HalpInitApicInfo()

VOID NTAPI HalpInitApicInfo ( IN PLOADER_PARAMETER_BLOCK  KeLoaderBlock)