ReactOS
0.4.16-dev-424-ge4748fe
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
Variables
_
c
d
e
f
g
h
i
l
n
o
p
s
t
u
x
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
Enumerations
_
c
d
f
i
l
m
o
p
s
t
w
x
Enumerator
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerator
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
x
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Examples
smp.c
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS Kernel
3
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4
* PURPOSE: Core source file for SMP management
5
* COPYRIGHT: Copyright 2021 Victor Perevertkin <victor.perevertkin@reactos.org>
6
* Copyright 2021-2023 Justin Miller <justin.miller@reactos.org>
7
*/
8
9
/* INCLUDES ******************************************************************/
10
11
#include <hal.h>
12
#include <
smp.h
>
13
14
#define NDEBUG
15
#include <debug.h>
16
17
/* GLOBALS *******************************************************************/
18
19
extern
PPROCESSOR_IDENTITY
HalpProcessorIdentity
;
20
21
/* FUNCTIONS *****************************************************************/
22
23
VOID
24
HalpSetupProcessorsTable
(
25
_In_
UINT32
NTProcessorNumber)
26
{
27
PKPRCB
CurrentPrcb;
28
29
/*
30
* Link the Prcb of the current CPU to
31
* the current CPUs entry in the global ProcessorIdentity
32
*/
33
CurrentPrcb =
KeGetCurrentPrcb
();
34
HalpProcessorIdentity
[NTProcessorNumber].
ProcessorPrcb
= CurrentPrcb;
35
}
36
37
VOID
38
FASTCALL
39
HalpBroadcastClockIpi
(
40
_In_
UCHAR
Vector
)
41
{
42
/* Send a clock IPI to all processors */
43
HalpBroadcastIpiSpecifyVector
(
Vector
,
FALSE
);
44
}
UINT32
unsigned int UINT32
Definition:
ProcessorBind.h:163
HalpBroadcastIpiSpecifyVector
VOID NTAPI HalpBroadcastIpiSpecifyVector(_In_ UCHAR Vector, _In_ BOOLEAN IncludeSelf)
Broadcasts an IPI with a specified vector to all processors.
Definition:
apicsmp.c:144
FALSE
#define FALSE
Definition:
types.h:117
void
Definition:
nsiface.idl:2307
KeGetCurrentPrcb
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
Definition:
ketypes.h:1179
_In_
#define _In_
Definition:
no_sal2.h:158
FASTCALL
#define FASTCALL
Definition:
nt_native.h:50
HalpBroadcastClockIpi
VOID FASTCALL HalpBroadcastClockIpi(_In_ UCHAR Vector)
Definition:
smp.c:39
HalpSetupProcessorsTable
VOID HalpSetupProcessorsTable(_In_ UINT32 NTProcessorNumber)
Definition:
smp.c:24
HalpProcessorIdentity
PPROCESSOR_IDENTITY HalpProcessorIdentity
Definition:
madt.c:45
smp.h
Vector
Definition:
filtermapper.c:139
_KPRCB
Definition:
ketypes.h:649
_PROCESSOR_IDENTITY
Definition:
smp.h:12
_PROCESSOR_IDENTITY::ProcessorPrcb
PKPRCB ProcessorPrcb
Definition:
smp.h:17
UCHAR
unsigned char UCHAR
Definition:
xmlstorage.h:181
hal
halx86
smp
smp.c
Generated on Mon Jan 6 2025 06:08:36 for ReactOS by
1.9.6