Merge branches 'x86/urgent', 'x86/amd-iommu', 'x86/apic', 'x86/cleanups', 'x86/core...
[pandora-kernel.git] / include / asm-x86 / setup.h
index 90ab222..a07c6f1 100644 (file)
@@ -19,13 +19,28 @@ static inline int is_visws_box(void) { return 0; }
 /*
  * Any setup quirks to be performed?
  */
-extern int (*arch_time_init_quirk)(void);
-extern int (*arch_pre_intr_init_quirk)(void);
-extern int (*arch_intr_init_quirk)(void);
-extern int (*arch_trap_init_quirk)(void);
-extern char * (*arch_memory_setup_quirk)(void);
-extern int (*mach_get_smp_config_quirk)(unsigned int early);
-extern int (*mach_find_smp_config_quirk)(unsigned int reserve);
+struct mpc_config_processor;
+struct mpc_config_bus;
+struct mp_config_oemtable;
+struct x86_quirks {
+       int (*arch_pre_time_init)(void);
+       int (*arch_time_init)(void);
+       int (*arch_pre_intr_init)(void);
+       int (*arch_intr_init)(void);
+       int (*arch_trap_init)(void);
+       char * (*arch_memory_setup)(void);
+       int (*mach_get_smp_config)(unsigned int early);
+       int (*mach_find_smp_config)(unsigned int reserve);
+
+       int *mpc_record;
+       int (*mpc_apic_id)(struct mpc_config_processor *m);
+       void (*mpc_oem_bus_info)(struct mpc_config_bus *m, char *name);
+       void (*mpc_oem_pci_bus)(struct mpc_config_bus *m);
+       void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable,
+                                    unsigned short oemsize);
+};
+
+extern struct x86_quirks *x86_quirks;
 
 #ifndef CONFIG_PARAVIRT
 #define paravirt_post_allocator_init() do {} while (0)
@@ -76,6 +91,7 @@ extern unsigned long init_pg_tables_start;
 extern unsigned long init_pg_tables_end;
 
 #else
+void __init x86_64_init_pda(void);
 void __init x86_64_start_kernel(char *real_mode);
 void __init x86_64_start_reservations(char *real_mode_data);