Reactos
1/*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: Portable processor related routines
5 * COPYRIGHT: Copyright 2025 Timo Kreuzer <timo.kreuzer@reactos.org>
6 */
7
8/* INCLUDES ******************************************************************/
9
10#include <ntoskrnl.h>
11#define NDEBUG
12#include <debug.h>
13
14/* GLOBALS *******************************************************************/
15
16KAFFINITY KeActiveProcessors = 0;
17
18/* Number of processors */
19CCHAR KeNumberProcessors = 0;
20
21#ifdef CONFIG_SMP
22
23/* Theoretical maximum number of processors that can be handled.
24 * Set once at run-time. Returned by KeQueryMaximumProcessorCount(). */
25ULONG KeMaximumProcessors = MAXIMUM_PROCESSORS;
26
27/* Maximum number of logical processors that can be started
28 * (including dynamically) at run-time. If 0: do not perform checks. */
29ULONG KeNumprocSpecified = 0;
30
31/* Maximum number of logical processors that can be started
32 * at boot-time. If 0: do not perform checks. */
33ULONG KeBootprocSpecified = 0;
34
35#endif // CONFIG_SMP
36
37/* FUNCTIONS *****************************************************************/
38
39KAFFINITY
40NTAPI
41KeQueryActiveProcessors(VOID)
42{
43 return KeActiveProcessors;
44}