]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] Fix voyager to boot again
authorJames Bottomley <james.bottomley@steeleye.com>
Sun, 14 Mar 2004 05:50:32 +0000 (21:50 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 14 Mar 2004 05:50:32 +0000 (21:50 -0800)
The very early memory detection patch broke voyager.

This fixes it again.

arch/i386/Kconfig
arch/i386/defconfig
arch/i386/kernel/Makefile
arch/i386/mach-voyager/voyager_smp.c

index 2a1fb822d46dd70f39ebef16b94a0ebf0cbfaf1e..ececda98158778718afc43a8f386dd5b6596b55e 100644 (file)
@@ -1332,6 +1332,11 @@ config X86_BIOS_REBOOT
        depends on !(X86_VISWS || X86_VOYAGER)
        default y
 
+config X86_TRAMPOLINE
+       bool
+       depends on X86_SMP || (X86_VOYAGER && SMP)
+       default y
+
 config PC
        bool
        depends on X86 && !EMBEDDED
index 1834476302f877794b82f2ab8b8e80258ff81e29..c72f25b9049937e0a26a58239b5283be3f241fc8 100644 (file)
@@ -1212,4 +1212,5 @@ CONFIG_CRC32=y
 CONFIG_X86_SMP=y
 CONFIG_X86_HT=y
 CONFIG_X86_BIOS_REBOOT=y
+CONFIG_X86_TRAMPOLINE=y
 CONFIG_PC=y
index 0fa76314bb00d7d109d4464da1211e4a9a706239..8358fbbe47e0334c9477c44ee1f07c235f8fe575 100644 (file)
@@ -18,7 +18,8 @@ obj-$(CONFIG_X86_MSR)         += msr.o
 obj-$(CONFIG_X86_CPUID)                += cpuid.o
 obj-$(CONFIG_MICROCODE)                += microcode.o
 obj-$(CONFIG_APM)              += apm.o
-obj-$(CONFIG_X86_SMP)          += smp.o smpboot.o trampoline.o
+obj-$(CONFIG_X86_SMP)          += smp.o smpboot.o
+obj-$(CONFIG_X86_TRAMPOLINE)   += trampoline.o
 obj-$(CONFIG_X86_MPPARSE)      += mpparse.o
 obj-$(CONFIG_X86_LOCAL_APIC)   += apic.o nmi.o
 obj-$(CONFIG_X86_IO_APIC)      += io_apic.o
index 1f1af175b6f63675a7c3eedf56634a3c28e7ecf0..bcacd80231d1067a56bc5ff04c279693329fed1c 100644 (file)
@@ -623,7 +623,9 @@ do_boot_cpu(__u8 cpu)
                ((virt_to_phys(page_table_copies)) & PAGE_MASK)
                | _PAGE_RW | _PAGE_USER | _PAGE_PRESENT;
 #else
-       ((unsigned long *)swapper_pg_dir)[0] = 0x102007;
+       ((unsigned long *)swapper_pg_dir)[0] = 
+               (virt_to_phys(pg0) & PAGE_MASK)
+               | _PAGE_RW | _PAGE_USER | _PAGE_PRESENT;
 #endif
 
        if(quad_boot) {