ReactOS 0.4.15-dev-7958-gcd0bb1a
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
20
21/* FUNCTIONS *****************************************************************/
22
23VOID
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
37VOID
41{
42 /* Send a clock IPI to all processors */
44}
unsigned int UINT32
VOID NTAPI HalpBroadcastIpiSpecifyVector(_In_ UCHAR Vector, _In_ BOOLEAN IncludeSelf)
Broadcasts an IPI with a specified vector to all processors.
Definition: apicsmp.c:144
#define FALSE
Definition: types.h:117
#define _In_
Definition: ms_sal.h:308
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
Definition: ketypes.h:1161
#define FASTCALL
Definition: nt_native.h:50
VOID FASTCALL HalpBroadcastClockIpi(_In_ UCHAR Vector)
Definition: smp.c:39
VOID HalpSetupProcessorsTable(_In_ UINT32 NTProcessorNumber)
Definition: smp.c:24
PPROCESSOR_IDENTITY HalpProcessorIdentity
Definition: madt.c:21
PKPRCB ProcessorPrcb
Definition: smp.h:17
unsigned char UCHAR
Definition: xmlstorage.h:181