Merge branches 'x86-asm-for-linus', 'x86-cleanups-for-linus', 'x86-cpu-for-linus...
[linux-3.10.git] / arch / x86 / kernel / setup.c
index 1a29015..9b4204e 100644 (file)
@@ -393,10 +393,9 @@ static void __init reserve_initrd(void)
        initrd_start = 0;
 
        if (ramdisk_size >= (end_of_lowmem>>1)) {
-               memblock_free(ramdisk_image, ramdisk_end - ramdisk_image);
-               printk(KERN_ERR "initrd too large to handle, "
-                      "disabling initrd\n");
-               return;
+               panic("initrd too large to handle, "
+                      "disabling initrd (%lld needed, %lld available)\n",
+                      ramdisk_size, end_of_lowmem>>1);
        }
 
        printk(KERN_INFO "RAMDISK: %08llx - %08llx\n", ramdisk_image,
@@ -1012,7 +1011,8 @@ void __init setup_arch(char **cmdline_p)
        init_cpu_to_node();
 
        init_apic_mappings();
-       ioapic_and_gsi_init();
+       if (x86_io_apic_ops.init)
+               x86_io_apic_ops.init();
 
        kvm_guest_init();