ReactOS
0.4.17-dev-966-gf06eace
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
/* FUNCTIONS *****************************************************************/
18
19
VOID
20
HalpSetupProcessorsTable
(
21
_In_
UINT32
NTProcessorNumber)
22
{
23
PKPRCB
CurrentPrcb;
24
25
/*
26
* Link the Prcb of the current CPU to
27
* the current CPUs entry in the global ProcessorIdentity
28
*/
29
CurrentPrcb =
KeGetCurrentPrcb
();
30
HalpProcessorIdentity
[NTProcessorNumber].
ProcessorPrcb
= CurrentPrcb;
31
}
32
33
VOID
34
FASTCALL
35
HalpBroadcastClockIpi
(
36
_In_
UCHAR
Vector
)
37
{
38
/* Send a clock IPI to all processors */
39
HalpBroadcastIpiSpecifyVector
(
Vector
,
FALSE
);
40
}
HalpBroadcastIpiSpecifyVector
VOID NTAPI HalpBroadcastIpiSpecifyVector(_In_ UCHAR Vector, _In_ BOOLEAN IncludeSelf)
Broadcasts an IPI with a specified vector to all processors.
Definition:
apicsmp.c:158
FALSE
#define FALSE
Definition:
types.h:117
void
Definition:
nsiface.idl:2307
HalpProcessorIdentity
PROCESSOR_IDENTITY HalpProcessorIdentity[MAXIMUM_PROCESSORS]
Definition:
madt.c:24
KeGetCurrentPrcb
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
Definition:
ketypes.h:1197
_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:35
HalpSetupProcessorsTable
VOID HalpSetupProcessorsTable(_In_ UINT32 NTProcessorNumber)
Definition:
smp.c:20
smp.h
Vector
Definition:
filtermapper.c:400
_KPRCB
Definition:
ketypes.h:660
_PROCESSOR_IDENTITY::ProcessorPrcb
PKPRCB ProcessorPrcb
Definition:
smp.h:17
UCHAR
unsigned char UCHAR
Definition:
typedefs.h:53
UINT32
uint32_t UINT32
Definition:
typedefs.h:59
hal
halx86
smp
smp.c
Generated on Thu Oct 1 2026 06:08:58 for ReactOS by
1.9.6