ReactOS 0.4.16-dev-226-g79f2289
mps.h File Reference
#include <pshpack1.h>
#include <poppack.h>
Include dependency graph for mps.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _KIRQ_TRAPFRAME
 
struct  _MP_FLOATING_POINTER
 
struct  _MP_CONFIGURATION_TABLE
 
struct  _MP_CONFIGURATION_PROCESSOR
 
struct  _MP_CONFIGURATION_BUS
 
struct  _MP_CONFIGURATION_IOAPIC
 
struct  _MP_CONFIGURATION_INTSRC
 
struct  _MP_CONFIGURATION_INTLOCAL
 

Macros

#define IRQL2VECTOR(irql)   (IRQ2VECTOR(PROFILE_LEVEL - (irql)))
 
#define IRQL2TPR(irql)   ((irql) >= IPI_LEVEL ? IPI_VECTOR : ((irql) >= PROFILE_LEVEL ? LOCAL_TIMER_VECTOR : ((irql) > DISPATCH_LEVEL ? IRQL2VECTOR(irql) : 0)))
 
#define NUMBER_DEVICE_VECTORS   (FIRST_SYSTEM_VECTOR - FIRST_DEVICE_VECTOR)
 
#define MPF_SIGNATURE   (('_' << 24) | ('P' << 16) | ('M' << 8) | '_')
 
#define FEATURE2_IMCRP   0x80
 
#define MPC_SIGNATURE   (('P' << 24) | ('M' << 16) | ('C' << 8) | 'P')
 
#define MPCTE_PROCESSOR   0 /* One entry per processor */
 
#define MPCTE_BUS   1 /* One entry per bus */
 
#define MPCTE_IOAPIC   2 /* One entry per I/O APIC */
 
#define MPCTE_INTSRC   3 /* One entry per bus interrupt source */
 
#define MPCTE_LINTSRC   4 /* One entry per system interrupt source */
 
#define MAX_BUS   32
 
#define MP_BUS_ISA   1
 
#define MP_BUS_EISA   2
 
#define MP_BUS_PCI   3
 
#define MP_BUS_MCA   4
 
#define BUSTYPE_EISA   "EISA"
 
#define BUSTYPE_ISA   "ISA"
 
#define BUSTYPE_INTERN   "INTERN" /* Internal BUS */
 
#define BUSTYPE_MCA   "MCA"
 
#define BUSTYPE_VL   "VL" /* Local bus */
 
#define BUSTYPE_PCI   "PCI"
 
#define BUSTYPE_PCMCIA   "PCMCIA"
 
#define BUSTYPE_CBUS   "CBUS"
 
#define BUSTYPE_CBUSII   "CBUSII"
 
#define BUSTYPE_FUTURE   "FUTURE"
 
#define BUSTYPE_MBI   "MBI"
 
#define BUSTYPE_MBII   "MBII"
 
#define BUSTYPE_MPI   "MPI"
 
#define BUSTYPE_MPSA   "MPSA"
 
#define BUSTYPE_NUBUS   "NUBUS"
 
#define BUSTYPE_TC   "TC"
 
#define BUSTYPE_VME   "VME"
 
#define BUSTYPE_XPRESS   "XPRESS"
 
#define MAX_IOAPIC   2
 
#define MP_IOAPIC_USABLE   0x01
 
#define MAX_IRQ_SOURCE   128
 
#define INT_VECTORED   0
 
#define INT_NMI   1
 
#define INT_SMI   2
 
#define INT_EXTINT   3
 
#define IRQDIR_DEFAULT   0
 
#define IRQDIR_HIGH   1
 
#define IRQDIR_LOW   3
 
#define MP_APIC_ALL   0xFF
 
#define CPU_FLAG_ENABLED   1 /* Processor is available */
 
#define CPU_FLAG_BSP   2 /* Processor is the bootstrap processor */
 
#define CPU_STEPPING_MASK   0x0F
 
#define CPU_MODEL_MASK   0xF0
 
#define CPU_FAMILY_MASK   0xF00
 
#define PIC_IRQS   16
 

Typedefs

typedef struct _KIRQ_TRAPFRAME KIRQ_TRAPFRAME
 
typedef struct _KIRQ_TRAPFRAMEPKIRQ_TRAPFRAME
 
typedef struct _MP_FLOATING_POINTER MP_FLOATING_POINTER
 
typedef struct _MP_FLOATING_POINTERPMP_FLOATING_POINTER
 
typedef struct _MP_CONFIGURATION_TABLE MP_CONFIGURATION_TABLE
 
typedef struct _MP_CONFIGURATION_TABLEPMP_CONFIGURATION_TABLE
 
typedef struct _MP_CONFIGURATION_PROCESSOR MP_CONFIGURATION_PROCESSOR
 
typedef struct _MP_CONFIGURATION_PROCESSORPMP_CONFIGURATION_PROCESSOR
 
typedef struct _MP_CONFIGURATION_BUS MP_CONFIGURATION_BUS
 
typedef struct _MP_CONFIGURATION_BUSPMP_CONFIGURATION_BUS
 
typedef struct _MP_CONFIGURATION_IOAPIC MP_CONFIGURATION_IOAPIC
 
typedef struct _MP_CONFIGURATION_IOAPICPMP_CONFIGURATION_IOAPIC
 
typedef struct _MP_CONFIGURATION_INTSRC MP_CONFIGURATION_INTSRC
 
typedef struct _MP_CONFIGURATION_INTSRCPMP_CONFIGURATION_INTSRC
 
typedef struct _MP_CONFIGURATION_INTLOCAL MP_CONFIGURATION_INTLOCAL
 
typedef struct _MP_CONFIGURATION_INTLOCALPMP_CONFIGURATION_INTLOCAL
 

Functions

VOID HalpInitMPS (VOID)
 

Macro Definition Documentation

◆ BUSTYPE_CBUS

#define BUSTYPE_CBUS   "CBUS"

Definition at line 123 of file mps.h.

◆ BUSTYPE_CBUSII

#define BUSTYPE_CBUSII   "CBUSII"

Definition at line 124 of file mps.h.

◆ BUSTYPE_EISA

#define BUSTYPE_EISA   "EISA"

Definition at line 116 of file mps.h.

◆ BUSTYPE_FUTURE

#define BUSTYPE_FUTURE   "FUTURE"

Definition at line 125 of file mps.h.

◆ BUSTYPE_INTERN

#define BUSTYPE_INTERN   "INTERN" /* Internal BUS */

Definition at line 118 of file mps.h.

◆ BUSTYPE_ISA

#define BUSTYPE_ISA   "ISA"

Definition at line 117 of file mps.h.

◆ BUSTYPE_MBI

#define BUSTYPE_MBI   "MBI"

Definition at line 126 of file mps.h.

◆ BUSTYPE_MBII

#define BUSTYPE_MBII   "MBII"

Definition at line 127 of file mps.h.

◆ BUSTYPE_MCA

#define BUSTYPE_MCA   "MCA"

Definition at line 119 of file mps.h.

◆ BUSTYPE_MPI

#define BUSTYPE_MPI   "MPI"

Definition at line 128 of file mps.h.

◆ BUSTYPE_MPSA

#define BUSTYPE_MPSA   "MPSA"

Definition at line 129 of file mps.h.

◆ BUSTYPE_NUBUS

#define BUSTYPE_NUBUS   "NUBUS"

Definition at line 130 of file mps.h.

◆ BUSTYPE_PCI

#define BUSTYPE_PCI   "PCI"

Definition at line 121 of file mps.h.

◆ BUSTYPE_PCMCIA

#define BUSTYPE_PCMCIA   "PCMCIA"

Definition at line 122 of file mps.h.

◆ BUSTYPE_TC

#define BUSTYPE_TC   "TC"

Definition at line 131 of file mps.h.

◆ BUSTYPE_VL

#define BUSTYPE_VL   "VL" /* Local bus */

Definition at line 120 of file mps.h.

◆ BUSTYPE_VME

#define BUSTYPE_VME   "VME"

Definition at line 132 of file mps.h.

◆ BUSTYPE_XPRESS

#define BUSTYPE_XPRESS   "XPRESS"

Definition at line 133 of file mps.h.

◆ CPU_FAMILY_MASK

#define CPU_FAMILY_MASK   0xF00

Definition at line 192 of file mps.h.

◆ CPU_FLAG_BSP

#define CPU_FLAG_BSP   2 /* Processor is the bootstrap processor */

Definition at line 188 of file mps.h.

◆ CPU_FLAG_ENABLED

#define CPU_FLAG_ENABLED   1 /* Processor is available */

Definition at line 187 of file mps.h.

◆ CPU_MODEL_MASK

#define CPU_MODEL_MASK   0xF0

Definition at line 191 of file mps.h.

◆ CPU_STEPPING_MASK

#define CPU_STEPPING_MASK   0x0F

Definition at line 190 of file mps.h.

◆ FEATURE2_IMCRP

#define FEATURE2_IMCRP   0x80

Definition at line 59 of file mps.h.

◆ INT_EXTINT

#define INT_EXTINT   3

Definition at line 166 of file mps.h.

◆ INT_NMI

#define INT_NMI   1

Definition at line 164 of file mps.h.

◆ INT_SMI

#define INT_SMI   2

Definition at line 165 of file mps.h.

◆ INT_VECTORED

#define INT_VECTORED   0

Definition at line 163 of file mps.h.

◆ IRQDIR_DEFAULT

#define IRQDIR_DEFAULT   0

Definition at line 168 of file mps.h.

◆ IRQDIR_HIGH

#define IRQDIR_HIGH   1

Definition at line 169 of file mps.h.

◆ IRQDIR_LOW

#define IRQDIR_LOW   3

Definition at line 170 of file mps.h.

◆ IRQL2TPR

#define IRQL2TPR (   irql)    ((irql) >= IPI_LEVEL ? IPI_VECTOR : ((irql) >= PROFILE_LEVEL ? LOCAL_TIMER_VECTOR : ((irql) > DISPATCH_LEVEL ? IRQL2VECTOR(irql) : 0)))

Definition at line 9 of file mps.h.

◆ IRQL2VECTOR

#define IRQL2VECTOR (   irql)    (IRQ2VECTOR(PROFILE_LEVEL - (irql)))

Definition at line 7 of file mps.h.

◆ MAX_BUS

#define MAX_BUS   32

Definition at line 109 of file mps.h.

◆ MAX_IOAPIC

#define MAX_IOAPIC   2

Definition at line 145 of file mps.h.

◆ MAX_IRQ_SOURCE

#define MAX_IRQ_SOURCE   128

Definition at line 161 of file mps.h.

◆ MP_APIC_ALL

#define MP_APIC_ALL   0xFF

Definition at line 185 of file mps.h.

◆ MP_BUS_EISA

#define MP_BUS_EISA   2

Definition at line 112 of file mps.h.

◆ MP_BUS_ISA

#define MP_BUS_ISA   1

Definition at line 111 of file mps.h.

◆ MP_BUS_MCA

#define MP_BUS_MCA   4

Definition at line 114 of file mps.h.

◆ MP_BUS_PCI

#define MP_BUS_PCI   3

Definition at line 113 of file mps.h.

◆ MP_IOAPIC_USABLE

#define MP_IOAPIC_USABLE   0x01

Definition at line 147 of file mps.h.

◆ MPC_SIGNATURE

#define MPC_SIGNATURE   (('P' << 24) | ('M' << 16) | ('C' << 8) | 'P')

Definition at line 62 of file mps.h.

◆ MPCTE_BUS

#define MPCTE_BUS   1 /* One entry per bus */

Definition at line 83 of file mps.h.

◆ MPCTE_INTSRC

#define MPCTE_INTSRC   3 /* One entry per bus interrupt source */

Definition at line 85 of file mps.h.

◆ MPCTE_IOAPIC

#define MPCTE_IOAPIC   2 /* One entry per I/O APIC */

Definition at line 84 of file mps.h.

◆ MPCTE_LINTSRC

#define MPCTE_LINTSRC   4 /* One entry per system interrupt source */

Definition at line 86 of file mps.h.

◆ MPCTE_PROCESSOR

#define MPCTE_PROCESSOR   0 /* One entry per processor */

Definition at line 82 of file mps.h.

◆ MPF_SIGNATURE

#define MPF_SIGNATURE   (('_' << 24) | ('P' << 16) | ('M' << 8) | '_')

Definition at line 41 of file mps.h.

◆ NUMBER_DEVICE_VECTORS

#define NUMBER_DEVICE_VECTORS   (FIRST_SYSTEM_VECTOR - FIRST_DEVICE_VECTOR)

Definition at line 37 of file mps.h.

◆ PIC_IRQS

#define PIC_IRQS   16

Definition at line 194 of file mps.h.

Typedef Documentation

◆ KIRQ_TRAPFRAME

◆ MP_CONFIGURATION_BUS

◆ MP_CONFIGURATION_INTLOCAL

◆ MP_CONFIGURATION_INTSRC

◆ MP_CONFIGURATION_IOAPIC

◆ MP_CONFIGURATION_PROCESSOR

◆ MP_CONFIGURATION_TABLE

◆ MP_FLOATING_POINTER

◆ PKIRQ_TRAPFRAME

◆ PMP_CONFIGURATION_BUS

◆ PMP_CONFIGURATION_INTLOCAL

◆ PMP_CONFIGURATION_INTSRC

◆ PMP_CONFIGURATION_IOAPIC

◆ PMP_CONFIGURATION_PROCESSOR

◆ PMP_CONFIGURATION_TABLE

◆ PMP_FLOATING_POINTER

Function Documentation

◆ HalpInitMPS()

VOID HalpInitMPS ( VOID  )