/* 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?
+ */
+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);
#ifndef CONFIG_PARAVIRT
#define paravirt_post_allocator_init() do {} while (0)
#ifndef __ASSEMBLY__
#include <asm/bootparam.h>
-void reserve_standard_io_resources(void);
-
#ifndef _SETUP
/*
extern unsigned long init_pg_tables_start;
extern unsigned long init_pg_tables_end;
+#else
+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__ */