77#error Must include "apic.h" before "smp-imps.h"
84#define IMPS_READ(x) (*((volatile unsigned *) (x)))
85#define IMPS_WRITE(x,y) (*((volatile unsigned *) (x)) = (y))
88#define IMPS_DEBUG_PRINT(x) KERNEL_PRINT(x)
90#define IMPS_DEBUG_PRINT(x)
93#define IMPS_MAX_CPUS APIC_BCAST_ID
99#define IMPS_FPS_SIGNATURE ('_' | ('M'<<8) | ('P'<<16) | ('_'<<24))
100#define IMPS_FPS_IMCRP_BIT 0x80
101#define IMPS_FPS_DEFAULT_MAX 7
107#define IMPS_CTH_SIGNATURE ('P' | ('C'<<8) | ('M'<<16) | ('P'<<24))
112#define IMPS_FLAG_ENABLED 1
113#define IMPS_BCT_PROCESSOR 0
114#define IMPS_CPUFLAG_BOOT 2
115#define IMPS_BCT_BUS 1
116#define IMPS_BCT_IOAPIC 2
117#define IMPS_BCT_IO_INTERRUPT 3
118#define IMPS_BCT_LOCAL_INTERRUPT 4
119#define IMPS_INT_INT 0
120#define IMPS_INT_NMI 1
121#define IMPS_INT_SMI 2
122#define IMPS_INT_EXTINT 3
151 unsigned char length;
152 unsigned char spec_rev;
153 unsigned char checksum;
154 unsigned char feature_info[5];
166 unsigned short base_length;
167 unsigned char spec_rev;
168 unsigned char checksum;
171 unsigned oem_table_ptr;
172 unsigned short oem_table_size;
173 unsigned short entry_count;
175 unsigned short extended_length;
176 unsigned char extended_checksum;
189 unsigned char apic_id;
190 unsigned char apic_ver;
216 unsigned char int_type;
217 unsigned short flags;
218 unsigned char source_bus_id;
219 unsigned char source_bus_irq;
220 unsigned char dest_apic_id;
221 unsigned char dest_apic_intin;
232extern unsigned char imps_apic_cpu_map[IMPS_MAX_CPUS];
236extern char _binary_appstart_bin_size[];
244#define IMPS_LAPIC_READ(x) (*((volatile unsigned *) (imps_lapic_addr+(x))))
245#define IMPS_LAPIC_WRITE(x, y) \
246 (*((volatile unsigned *) (imps_lapic_addr+(x))) = (y))
unsigned char imps_cpu_apic_map[IMPS_MAX_CPUS]
These map from virtual cpu numbers to APIC id's and back.
Definition: smp-imps.c:198
char _binary_appstart_bin_start[]
base address of application processor reset code at 0x70000
unsigned imps_lapic_addr
base address of the local apic. Usually 0xFEE00000
Definition: smp-imps.c:202
Definition: smp-imps.h:198
unsigned char type
must be 1
Definition: smp-imps.h:199
MP Configuration Table Header (cth)
Definition: smp-imps.h:164
MP Floating Pointer Structure (fps)
Definition: smp-imps.h:148
Definition: smp-imps.h:214
unsigned char type
must be 3 or 4
Definition: smp-imps.h:215
Definition: smp-imps.h:205
unsigned char type
must be 2
Definition: smp-imps.h:206
Base MP Configuration Table Types. They are sorted according to type (i.e. all of type 0 come first,...
Definition: smp-imps.h:187
unsigned char type
must be 0
Definition: smp-imps.h:188