ReactOS
0.4.16-dev-570-g1868985
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 Wed Jan 22 2025 06:06:22 for ReactOS by
1.9.6