ReactOS 0.4.15-dev-5865-g640e228
smp.h
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: Header File for SMP support
5 * COPYRIGHT: Copyright 2021 Justin Miller <justinmiller100@gmail.com>
6 */
7
8#pragma once
9
10/* This table is filled for each physical processor on system */
11typedef struct _PROCESSOR_IDENTITY
12{
18
20
21/* This table is counter of the overall APIC constants acquired from madt */
23{
25 ULONG ProcessorCount; /* Count of all physical cores, This includes BSP */
27 ULONG LocalApicPA; // The 32-bit physical address at which each processor can access its local interrupt controller
30 ULONG IoApicIrqBase[256]; // Global system interrupt base
31
33
34VOID
36 _In_ PLOADER_PARAMETER_BLOCK LoaderBlock);
37
38VOID
40 _In_ UINT32 NTProcessorNumber);
41
42VOID
unsigned char BOOLEAN
unsigned int UINT32
#define _In_
Definition: ms_sal.h:308
VOID HalpParseApicTables(_In_ PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: madt.c:30
VOID HalpPrintApicTables(VOID)
Definition: madt.c:76
struct _HALP_APIC_INFO_TABLE * PHALP_APIC_INFO_TABLE
struct _PROCESSOR_IDENTITY PROCESSOR_IDENTITY
struct _HALP_APIC_INFO_TABLE HALP_APIC_INFO_TABLE
struct _PROCESSOR_IDENTITY * PPROCESSOR_IDENTITY
VOID HalpSetupProcessorsTable(_In_ UINT32 NTProcessorNumber)
Definition: smp.c:22
ULONG ProcessorCount
Definition: smp.h:25
ULONG IoApicPA[256]
Definition: smp.h:29
ULONG IoApicVA[256]
Definition: smp.h:28
ULONG IOAPICCount
Definition: smp.h:26
ULONG IoApicIrqBase[256]
Definition: smp.h:30
ULONG ApicMode
Definition: smp.h:24
ULONG LocalApicPA
Definition: smp.h:27
BOOLEAN ProcessorStarted
Definition: smp.h:15
UCHAR ProcessorId
Definition: smp.h:13
BOOLEAN BSPCheck
Definition: smp.h:16
PKPRCB ProcessorPrcb
Definition: smp.h:17
UCHAR LapicId
Definition: smp.h:14
uint32_t ULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: xmlstorage.h:181