RTEMS: bsps/i386/include/bsp/smp-imps.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Variables
smp-imps.h File Reference
Board Support Packages » i386 » SMP

Intel MultiProcessor Specification (MPS) version 1.1 and 1.4 SMP hardware control. More...

Go to the source code of this file.

## Data Structures
struct | imps_fps
| MP Floating Pointer Structure (fps) More...
struct | imps_cth
| MP Configuration Table Header (cth) More...
struct | imps_processor
| Base MP Configuration Table Types. They are sorted according to type (i.e. all of type 0 come first, etc.). Look on page 4-6 for the start of the descriptions. More...
struct | imps_bus
struct | imps_ioapic
struct | imps_interrupt

## Macros
#define | IMPS_READ(x) (*((volatile unsigned *) (x)))
#define | IMPS_WRITE(x, y) (*((volatile unsigned *) (x)) = (y))
#define | IMPS_DEBUG_PRINT(x)
#define | IMPS_MAX_CPUS APIC_BCAST_ID
#define | IMPS_FPS_SIGNATURE ('_' | ('M'<<8) | ('P'<<16) | ('_'<<24))
| This is the value that must be in the "sig" member of the MP Floating Pointer Structure.
#define | IMPS_FPS_IMCRP_BIT 0x80
#define | IMPS_FPS_DEFAULT_MAX 7
#define | IMPS_CTH_SIGNATURE ('P' | ('C'<<8) | ('M'<<16) | ('P'<<24))
| This is the value that must be in the "sig" member of the MP Configuration Table Header.
#define | IMPS_FLAG_ENABLED 1
| These are the "type" values for Base MP Configuration Table entries.
#define | IMPS_BCT_PROCESSOR 0
#define | IMPS_CPUFLAG_BOOT 2
#define | IMPS_BCT_BUS 1
#define | IMPS_BCT_IOAPIC 2
#define | IMPS_BCT_IO_INTERRUPT 3
#define | IMPS_BCT_LOCAL_INTERRUPT 4
#define | IMPS_INT_INT 0
#define | IMPS_INT_NMI 1
#define | IMPS_INT_SMI 2
#define | IMPS_INT_EXTINT 3
#define | IMPS_LAPIC_READ(x) (*((volatile unsigned *) (imps_lapic_addr+(x))))
#define | IMPS_LAPIC_WRITE(x, y) (*((volatile unsigned *) (imps_lapic_addr+(x))) = (y))

## Typedefs
typedef struct imps_fps | imps_fps
| MP floating pointer structure.
typedef struct imps_cth | imps_cth
| MP configuration table header.
typedef struct imps_processor | imps_processor
typedef struct imps_bus | imps_bus
typedef struct imps_ioapic | imps_ioapic
typedef struct imps_interrupt | imps_interrupt

## Variables
unsigned char | imps_cpu_apic_map [IMPS_MAX_CPUS]
| These map from virtual cpu numbers to APIC id's and back.
unsigned char | imps_apic_cpu_map [IMPS_MAX_CPUS]
char | _binary_appstart_bin_start []
| base address of application processor reset code at 0x70000
char | _binary_appstart_bin_size []
unsigned | imps_lapic_addr
| base address of the local apic. Usually 0xFEE00000

## Detailed Description

Intel MultiProcessor Specification (MPS) version 1.1 and 1.4 SMP hardware control.