Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux...
[pandora-kernel.git] / arch / powerpc / kernel / setup_64.c
index 9143891..f3fb5a7 100644 (file)
@@ -424,9 +424,18 @@ void __init setup_system(void)
        DBG(" <- setup_system()\n");
 }
 
+static u64 slb0_limit(void)
+{
+       if (cpu_has_feature(CPU_FTR_1T_SEGMENT)) {
+               return 1UL << SID_SHIFT_1T;
+       }
+       return 1UL << SID_SHIFT;
+}
+
 #ifdef CONFIG_IRQSTACKS
 static void __init irqstack_early_init(void)
 {
+       u64 limit = slb0_limit();
        unsigned int i;
 
        /*
@@ -436,10 +445,10 @@ static void __init irqstack_early_init(void)
        for_each_possible_cpu(i) {
                softirq_ctx[i] = (struct thread_info *)
                        __va(lmb_alloc_base(THREAD_SIZE,
-                                           THREAD_SIZE, 0x10000000));
+                                           THREAD_SIZE, limit));
                hardirq_ctx[i] = (struct thread_info *)
                        __va(lmb_alloc_base(THREAD_SIZE,
-                                           THREAD_SIZE, 0x10000000));
+                                           THREAD_SIZE, limit));
        }
 }
 #else
@@ -470,7 +479,7 @@ static void __init exc_lvl_early_init(void)
  */
 static void __init emergency_stack_init(void)
 {
-       unsigned long limit;
+       u64 limit;
        unsigned int i;
 
        /*
@@ -482,7 +491,7 @@ static void __init emergency_stack_init(void)
         * bringup, we need to get at them in real mode. This means they
         * must also be within the RMO region.
         */
-       limit = min(0x10000000ULL, lmb.rmo_size);
+       limit = min(slb0_limit(), lmb.rmo_size);
 
        for_each_possible_cpu(i) {
                unsigned long sp;
@@ -573,12 +582,6 @@ void ppc64_boot_msg(unsigned int src, const char *msg)
        printk("[boot]%04x %s\n", src, msg);
 }
 
-void cpu_die(void)
-{
-       if (ppc_md.cpu_die)
-               ppc_md.cpu_die();
-}
-
 #ifdef CONFIG_SMP
 #define PCPU_DYN_SIZE          ()