#include <asm/proto.h>
#include <asm/smp.h>
#include <asm/bootsetup.h>
+#include <asm/setup.h>
/* Don't add a printk in there. printk relies on the PDA which is not initialized
yet. */
boot_cpu_data.x86_mask = eax & 0xf;
}
+extern char _end[];
+
void __init x86_64_start_kernel(char * real_mode_data)
{
char *s;
clear_bss();
pda_init(0);
copy_bootdata(real_mode_data);
+#ifdef CONFIG_SMP
+ cpu_set(0, cpu_online_map);
+#endif
/* default console: */
if (!strstr(saved_command_line, "console="))
strcat(saved_command_line, " console=tty0");
if (strstr(saved_command_line, "disableapic"))
disable_apic = 1;
#endif
+ /* You need early console to see that */
+ if (__pa_symbol(&_end) >= KERNEL_TEXT_SIZE)
+ panic("Kernel too big for kernel mapping\n");
+
setup_boot_cpu_data();
start_kernel();
}