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
19VOID
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
33VOID
37{
38 /* Send a clock IPI to all processors */
40}
VOID NTAPI HalpBroadcastIpiSpecifyVector(_In_ UCHAR Vector, _In_ BOOLEAN IncludeSelf)
Broadcasts an IPI with a specified vector to all processors.
Definition: apicsmp.c:158
#define FALSE
Definition: types.h:117
PROCESSOR_IDENTITY HalpProcessorIdentity[MAXIMUM_PROCESSORS]
Definition: madt.c:24
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
Definition: ketypes.h:1197
#define _In_
Definition: no_sal2.h:158
#define FASTCALL
Definition: nt_native.h:50
VOID FASTCALL HalpBroadcastClockIpi(_In_ UCHAR Vector)
Definition: smp.c:35
VOID HalpSetupProcessorsTable(_In_ UINT32 NTProcessorNumber)
Definition: smp.c:20
PKPRCB ProcessorPrcb
Definition: smp.h:17
unsigned char UCHAR
Definition: typedefs.h:53
uint32_t UINT32
Definition: typedefs.h:59