X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=include%2Fasm-x86%2Fsetup.h;h=a07c6f1c01e15b9480f14fcca8dc13d875334fc9;hb=b5684b83b1e1579bbbc80e703e990c0cccf5892c;hp=bb12a1619c12ddc6fbf116d8f0ab1ee51f845265;hpb=ce97c40e28223c148e142bda7af48fd0f27c81f9;p=safe%2Fjmp%2Flinux-2.6 diff --git a/include/asm-x86/setup.h b/include/asm-x86/setup.h index bb12a16..a07c6f1 100644 --- a/include/asm-x86/setup.h +++ b/include/asm-x86/setup.h @@ -8,8 +8,39 @@ /* Interrupt control for vSMPowered x86_64 systems */ void vsmp_init(void); -/* Crashkernel reservation */ -void reserve_crashkernel(void); +#ifdef CONFIG_X86_VISWS +extern void visws_early_detect(void); +extern int is_visws_box(void); +#else +static inline void visws_early_detect(void) { } +static inline int is_visws_box(void) { return 0; } +#endif + +/* + * Any setup quirks to be performed? + */ +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) @@ -38,8 +69,6 @@ void reserve_crashkernel(void); #ifndef __ASSEMBLY__ #include -void reserve_standard_io_resources(void); - #ifndef _SETUP /* @@ -61,6 +90,11 @@ extern void probe_roms(void); 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); + #endif /* __i386__ */ #endif /* _SETUP */ #endif /* __ASSEMBLY__ */