75 #error          Must include "apic.h" before "smp-imps.h"    82 #define IMPS_READ(x)    (*((volatile unsigned *) (x)))    83 #define IMPS_WRITE(x,y) (*((volatile unsigned *) (x)) = (y))    86 #define IMPS_DEBUG_PRINT(x)  KERNEL_PRINT(x)    88 #define IMPS_DEBUG_PRINT(x)    91 #define IMPS_MAX_CPUS                   APIC_BCAST_ID    97 #define IMPS_FPS_SIGNATURE      ('_' | ('M'<<8) | ('P'<<16) | ('_'<<24))    98 #define IMPS_FPS_IMCRP_BIT      0x80    99 #define IMPS_FPS_DEFAULT_MAX    7   105 #define IMPS_CTH_SIGNATURE      ('P' | ('C'<<8) | ('M'<<16) | ('P'<<24))   110 #define         IMPS_FLAG_ENABLED       1   111 #define IMPS_BCT_PROCESSOR              0   112 #define         IMPS_CPUFLAG_BOOT       2   113 #define IMPS_BCT_BUS                    1   114 #define IMPS_BCT_IOAPIC                 2   115 #define IMPS_BCT_IO_INTERRUPT           3   116 #define IMPS_BCT_LOCAL_INTERRUPT        4   117 #define         IMPS_INT_INT            0   118 #define         IMPS_INT_NMI            1   119 #define         IMPS_INT_SMI            2   120 #define         IMPS_INT_EXTINT         3   149   unsigned char length;
   150   unsigned char spec_rev;
   151   unsigned char checksum;
   152   unsigned char feature_info[5];
   164   unsigned short base_length;
   165   unsigned char spec_rev;
   166   unsigned char checksum;
   169   unsigned oem_table_ptr;
   170   unsigned short oem_table_size;
   171   unsigned short entry_count;
   173   unsigned short extended_length;
   174   unsigned char extended_checksum;
   187   unsigned char apic_id;
   188   unsigned char apic_ver;
   214   unsigned char int_type;
   215   unsigned short flags;
   216   unsigned char source_bus_id;
   217   unsigned char source_bus_irq;
   218   unsigned char dest_apic_id;
   219   unsigned char dest_apic_intin;
   230 extern unsigned char imps_apic_cpu_map[IMPS_MAX_CPUS];
   234 extern char _binary_appstart_bin_size[];
   242 #define IMPS_LAPIC_READ(x)  (*((volatile unsigned *) (imps_lapic_addr+(x))))   243 #define IMPS_LAPIC_WRITE(x, y)   \   244    (*((volatile unsigned *) (imps_lapic_addr+(x))) = (y)) Definition: smp-imps.h:211
 
unsigned char type
must be 0
Definition: smp-imps.h:186
 
unsigned char type
must be 1
Definition: smp-imps.h:197
 
Definition: smp-imps.h:202
 
Base MP Configuration Table Types. They are sorted according to type (i.e. all of type 0 come first,...
Definition: smp-imps.h:184
 
MP Floating Pointer Structure (fps)
Definition: smp-imps.h:145
 
MP Configuration Table Header (cth)
Definition: smp-imps.h:161
 
unsigned imps_lapic_addr
base address of the local apic. Usually 0xFEE00000
Definition: smp-imps.c:202
 
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
 
Definition: smp-imps.h:195
 
unsigned char type
must be 2
Definition: smp-imps.h:204
 
unsigned char type
must be 3 or 4
Definition: smp-imps.h:213