ReactOS  r76032
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_POINTER
PMP_FLOATING_POINTER
 
typedef struct
_MP_CONFIGURATION_TABLE 
MP_CONFIGURATION_TABLE
 
typedef struct
_MP_CONFIGURATION_TABLE
PMP_CONFIGURATION_TABLE
 
typedef struct
_MP_CONFIGURATION_PROCESSOR 
MP_CONFIGURATION_PROCESSOR
 
typedef struct
_MP_CONFIGURATION_PROCESSOR
PMP_CONFIGURATION_PROCESSOR
 
typedef struct
_MP_CONFIGURATION_BUS 
MP_CONFIGURATION_BUS
 
typedef struct
_MP_CONFIGURATION_BUS
PMP_CONFIGURATION_BUS
 
typedef struct
_MP_CONFIGURATION_IOAPIC 
MP_CONFIGURATION_IOAPIC
 
typedef struct
_MP_CONFIGURATION_IOAPIC
PMP_CONFIGURATION_IOAPIC
 
typedef struct
_MP_CONFIGURATION_INTSRC 
MP_CONFIGURATION_INTSRC
 
typedef struct
_MP_CONFIGURATION_INTSRC
PMP_CONFIGURATION_INTSRC
 
typedef struct
_MP_CONFIGURATION_INTLOCAL 
MP_CONFIGURATION_INTLOCAL
 
typedef struct
_MP_CONFIGURATION_INTLOCAL
PMP_CONFIGURATION_INTLOCAL
 

Functions

VOID HalpInitMPS (VOID)
 

Macro Definition Documentation

#define BUSTYPE_CBUS   "CBUS"

Definition at line 123 of file mps.h.

#define BUSTYPE_CBUSII   "CBUSII"

Definition at line 124 of file mps.h.

#define BUSTYPE_EISA   "EISA"

Definition at line 116 of file mps.h.

#define BUSTYPE_FUTURE   "FUTURE"

Definition at line 125 of file mps.h.

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

Definition at line 118 of file mps.h.

#define BUSTYPE_ISA   "ISA"

Definition at line 117 of file mps.h.

#define BUSTYPE_MBI   "MBI"

Definition at line 126 of file mps.h.

#define BUSTYPE_MBII   "MBII"

Definition at line 127 of file mps.h.

#define BUSTYPE_MCA   "MCA"

Definition at line 119 of file mps.h.

#define BUSTYPE_MPI   "MPI"

Definition at line 128 of file mps.h.

#define BUSTYPE_MPSA   "MPSA"

Definition at line 129 of file mps.h.

#define BUSTYPE_NUBUS   "NUBUS"

Definition at line 130 of file mps.h.

#define BUSTYPE_PCI   "PCI"

Definition at line 121 of file mps.h.

#define BUSTYPE_PCMCIA   "PCMCIA"

Definition at line 122 of file mps.h.

#define BUSTYPE_TC   "TC"

Definition at line 131 of file mps.h.

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

Definition at line 120 of file mps.h.

#define BUSTYPE_VME   "VME"

Definition at line 132 of file mps.h.

#define BUSTYPE_XPRESS   "XPRESS"

Definition at line 133 of file mps.h.

#define CPU_FAMILY_MASK   0xF00

Definition at line 192 of file mps.h.

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

Definition at line 188 of file mps.h.

#define CPU_FLAG_ENABLED   1 /* Processor is available */

Definition at line 187 of file mps.h.

#define CPU_MODEL_MASK   0xF0

Definition at line 191 of file mps.h.

#define CPU_STEPPING_MASK   0x0F

Definition at line 190 of file mps.h.

#define FEATURE2_IMCRP   0x80

Definition at line 59 of file mps.h.

#define INT_EXTINT   3

Definition at line 166 of file mps.h.

#define INT_NMI   1

Definition at line 164 of file mps.h.

#define INT_SMI   2

Definition at line 165 of file mps.h.

#define INT_VECTORED   0

Definition at line 163 of file mps.h.

#define IRQDIR_DEFAULT   0

Definition at line 168 of file mps.h.

#define IRQDIR_HIGH   1

Definition at line 169 of file mps.h.

#define IRQDIR_LOW   3

Definition at line 170 of file mps.h.

#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.

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

Definition at line 7 of file mps.h.

#define MAX_BUS   32

Definition at line 109 of file mps.h.

#define MAX_IOAPIC   2

Definition at line 145 of file mps.h.

#define MAX_IRQ_SOURCE   128

Definition at line 161 of file mps.h.

#define MP_APIC_ALL   0xFF

Definition at line 185 of file mps.h.

#define MP_BUS_EISA   2

Definition at line 112 of file mps.h.

#define MP_BUS_ISA   1

Definition at line 111 of file mps.h.

#define MP_BUS_MCA   4

Definition at line 114 of file mps.h.

#define MP_BUS_PCI   3

Definition at line 113 of file mps.h.

#define MP_IOAPIC_USABLE   0x01

Definition at line 147 of file mps.h.

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

Definition at line 62 of file mps.h.

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

Definition at line 83 of file mps.h.

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

Definition at line 85 of file mps.h.

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

Definition at line 84 of file mps.h.

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

Definition at line 86 of file mps.h.

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

Definition at line 82 of file mps.h.

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

Definition at line 41 of file mps.h.

#define NUMBER_DEVICE_VECTORS   (FIRST_SYSTEM_VECTOR - FIRST_DEVICE_VECTOR)

Definition at line 37 of file mps.h.

#define PIC_IRQS   16

Definition at line 194 of file mps.h.

Typedef Documentation

Function Documentation

VOID HalpInitMPS ( VOID  )