p620 hangs instantiating rtas at 0x00000000deadbeef

Olaf Hering olh at suse.de
Sat Jul 9 06:57:52 EST 2005


 On Wed, Feb 09, Olaf Hering wrote:

> 
> Current Linus tree hangs on p620, xmon does not trigger.
> rc3 was already broken.
> And 2.6.10 doesnt work either...

linux-2.6.9-rc2-bk9 works, linux-2.6.9-rc2-bk10, see attached logs.


I got a little bit further with a prom_claim patch:


BOOTP S = 1
FILE: orange
Load Addr=0x4000 Max Size=0xbfc000
FINAL Packet Count = 2817
FINAL File Size = 1441999 bytes.

zImage starting: loaded at 0x400000
Allocating 0x6ca000 bytes for kernel ...
gunzipping (0x2100000 <- 0x407000:0x54ed0a)...done 0x3b0068 bytes
0xd5d8 bytes of heap consumed, max in use 0xa264
OF stdout device is: /pci at fff7f09000/isa at 10/serial at i3f8
klimit=0xc0000000005ca000
offset=0xbffffffffdef0000
command line:
root_addr_cells: 0000000000000002
root_size_cells: 0000000000000002
scanning memory:
  node /memory at 0 :
    0000000000000000 0000000100000000
memory layout at init:
  memory_limit : 0000000000000000 (16 MB aligned)
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 0000000100000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
Booting CPU hw index = 0x0000000000000000
Looking for displays
found display   : /pci at fff7f0a000/pci at b,4/display at 1, opening ... done
starting prom_initialize_tce_table
alloc_down(0000000000400000, 0000000000800000, (high))
 DDD -> 00000000ff800000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000ff800000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000
        node = 0x0000000000cc7350
        base = 0x00000000ff800000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000ff400000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000ff400000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000/pci at b
        node = 0x0000000000cd8530
        base = 0x00000000ff400000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000/pci at b... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000ff000000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000ff000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000/pci at b,2
        node = 0x0000000000cdc5c8
        base = 0x00000000ff000000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000/pci at b,2... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fec00000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fec00000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000/pci at b,4
        node = 0x0000000000ce0a58
        base = 0x00000000fec00000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000/pci at b,4... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fe800000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fe800000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000/pci at b,6
        node = 0x0000000000ce4ee8
        base = 0x00000000fe800000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000/pci at b,6... done
alloc_down(0000000000400000, 0000000000800000, (high))
 DDD -> 00000000fe000000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fe000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000
        node = 0x0000000000ce97b0
        base = 0x00000000fe000000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fdc00000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fdc00000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at b
        node = 0x0000000000cec6f0
        base = 0x00000000fdc00000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fd800000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fd800000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at b,2
        node = 0x0000000000cf0b08
        base = 0x00000000fd800000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b,2... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fd400000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fd400000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at b,4
        node = 0x0000000000cf4f98
        base = 0x00000000fd400000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b,4... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fd000000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fd000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at b,6
        node = 0x0000000000cf9428
        base = 0x00000000fd000000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b,6... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fcc00000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fcc00000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at c
        node = 0x0000000000cfd8b8
        base = 0x00000000fcc00000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fc800000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fc800000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at c,2
        node = 0x0000000000d01d58
        base = 0x00000000fc800000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c,2... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fc400000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fc400000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at c,4
        node = 0x0000000000d061f8
        base = 0x00000000fc400000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c,4... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fc000000
  alloc_bottom : 00000000026de000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fc000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at c,6
        node = 0x0000000000d0a698
        base = 0x00000000fc000000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c,6... done
ending prom_initialize_tce_table
prom_instantiate_rtas: start...
rtas_node: 0000000000cb5020
alloc_down(00000000000a7000, 0000000000001000, (low))
    trying: 0x000000003ff59000
    trying: 0x000000003fe59000
 DDD -> 000000003fe59000
  alloc_bottom : 00000000026de000
  alloc_top    : 000000003fe59000
  alloc_top_hi : 00000000fc000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
instantiating rtas at 0x000000003fe59000 ... done
rtas base     = 0x000000003fe59000
rtas entry    = 0x000000003fe59900
rtas size     = 0x00000000000a7000
prom_instantiate_rtas: end...
prom_hold_cpus: start...
    1) spinloop       = 0x0000000000000008
    1) *spinloop      = 0x0000000000000000
    1) acknowledge    = 0x0000000000000010
    1) *acknowledge   = 0x0000000000000000
    1) secondary_hold = 0x0000000000000060

cpuid        = 0x0000000000000000
cpu hw idx   = 0x0000000000000000
0000000000000000 : boot cpu     0000000000000000

cpuid        = 0x0000000000000001
cpu hw idx   = 0x0000000000000002
0000000000000001 : starting cpu hw idx 0000000000000002... done

cpuid        = 0x0000000000000002
cpu hw idx   = 0x0000000000000004
0000000000000002 : starting cpu hw idx 0000000000000004... done

cpuid        = 0x0000000000000003
cpu hw idx   = 0x0000000000000006
0000000000000003 : starting cpu hw idx 0000000000000006... done
prom_hold_cpus: end...
copying OF device tree ...
starting device tree allocs at 00000000026de000
alloc_up(0000000000100000, 0000000000001000)
    trying: 0x00000000026de000
    trying: 0x00000000027de000
 UUU -> 00000000027de000
  alloc_bottom : 00000000027de000
  alloc_top    : 000000003fe59000
  alloc_top_hi : 00000000fc000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
Building dt strings...
Building dt structure...
reserved memory map:
  00000000fc000000 - 0000000004000000
  000000003fe59000 - 00000000000a7000
  00000000027de000 - 0000000000012000
Device tree strings 0x00000000027df000 -> 0x00000000027e01cd
Device tree struct  0x00000000027e1000 -> 0x00000000027f0000
Calling quiesce ...
returning from prom_init
->dt_header_start=0x00000000027de000
->phys=0x0000000002110000
Hello World !
 <- pSeries_init_early()
 -> finish_device_tree
 <- finish_device_tree
firmware_features = 0x0
 <- setup_system()
 -> smp_init_pSeries()
 <- smp_init_pSeries()
phb0: IO 0x0 -> 0xfffff
phb0: MEM 0xfe80000000 -> 0xfebfffffff
phb0 io_base_phys 0xfeffe00000 io_base_virt 0xd000010000000000
phb1: IO 0x0 -> 0xfffff
phb1: MEM 0xff00000000 -> 0xff3fffffff
phb1 io_base_phys 0xfefff00000 io_base_virt 0xd000010000100000
Starting Linux PPC64 2.6.13-rc2
-----------------------------------------------------
ppc64_pft_size                = 0x1a
ppc64_debug_switch            = 0x0
ppc64_interrupt_controller    = 0x2
systemcfg                     = 0xc0000000002a4000
systemcfg->platform           = 0x100
systemcfg->processorCount     = 0x4
systemcfg->physicalMemorySize = 0x100000000
ppc64_caches.dcache_line_size = 0x80
ppc64_caches.icache_line_size = 0x80
htab_address                  = 0xc0000000f8000000
htab_hash_mask                = 0x7ffff
-----------------------------------------------------
[boot]0100 MM Init
[boot]0100 MM Init Done
Linux version 2.6.13-rc2 (olaf at pomegranate) (gcc version 3.3.3 (SuSE Linux)) #7 SMP Fri Jul 8 22:47:36 CEST 2005
[boot]0012 Setup Arch
Top of RAM: 0x100000000, Total RAM: 0x100000000
Memory hole size: 0MB
Syscall map setup, 226 32 bits and 200 64 bits syscalls
No ramdisk, default root is /dev/sda2
EEH: No capable adapters found
PPC64 nvram contains 262144 bytes
Using default idle loop
[boot]0015 Setup Done
Built 1 zonelists
Kernel command line: panic=1
[boot]0020 XICS Init
Kernel panic - not syncing: map_io_page: could not insert mapping
 <3>Badness in smp_call_function at /home/olaf/kernel/olh/orange/linux-2.6.13-rc2-olh/arch/ppc64/kernel/smp.c:240
Call Trace:
[c0000000002a3aa0] [c00000000033af30] 0xc00000000033af30 (unreliable)
[c0000000002a3b50] [c000000000046edc] .panic+0x8c/0x1f8
[c0000000002a3bf0] [c000000000035c58] .__ioremap_com+0x218/0x2d4
[c0000000002a3cc0] [c000000000035efc] .__ioremap+0xd8/0x104
[c0000000002a3d60] [c000000000032d44] .xics_init_IRQ+0x37c/0x548
[c0000000002a3e50] [c0000000002732dc] .init_IRQ+0x6c/0x84
[c0000000002a3ed0] [c00000000026a660] .start_kernel+0x148/0x2f0
[c0000000002a3f90] [c00000000000bd08] .__setup_cpu_power3+0x0/0x4
R
-------------- next part --------------
 arch/ppc64/kernel/bpa_iommu.c     |    2 +-
 arch/ppc64/kernel/bpa_setup.c     |    2 +-
 arch/ppc64/kernel/eeh.c           |    2 +-
 arch/ppc64/kernel/iSeries_setup.c |    2 +-
 arch/ppc64/kernel/iSeries_smp.c   |    2 +-
 arch/ppc64/kernel/lmb.c           |    2 +-
 arch/ppc64/kernel/lparcfg.c       |    2 +-
 arch/ppc64/kernel/maple_time.c    |    2 +-
 arch/ppc64/kernel/module.c        |    2 +-
 arch/ppc64/kernel/mpic.c          |    2 +-
 arch/ppc64/kernel/nvram.c         |    2 +-
 arch/ppc64/kernel/pSeries_setup.c |    2 +-
 arch/ppc64/kernel/pSeries_smp.c   |    2 +-
 arch/ppc64/kernel/pci.c           |    2 +-
 arch/ppc64/kernel/pmac_feature.c  |    2 +-
 arch/ppc64/kernel/pmac_low_i2c.c  |    2 +-
 arch/ppc64/kernel/pmac_setup.c    |    2 +-
 arch/ppc64/kernel/pmac_smp.c      |    2 +-
 arch/ppc64/kernel/pmac_time.c     |    2 +-
 arch/ppc64/kernel/prom.c          |    2 +-
 arch/ppc64/kernel/prom_init.c     |   11 +++++++----
 arch/ppc64/kernel/ras.c           |    2 +-
 arch/ppc64/kernel/rtasd.c         |    2 +-
 arch/ppc64/kernel/setup.c         |    2 +-
 arch/ppc64/kernel/smp.c           |    2 +-
 arch/ppc64/kernel/vdso.c          |    2 +-
 26 files changed, 32 insertions(+), 29 deletions(-)

Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/bpa_iommu.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/bpa_iommu.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/bpa_iommu.c
@@ -19,7 +19,7 @@
  * 2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/kernel.h>
 #include <linux/pci.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/bpa_setup.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/bpa_setup.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/bpa_setup.c
@@ -12,7 +12,7 @@
  * as published by the Free Software Foundation; either version
  * 2 of the License, or (at your option) any later version.
  */
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/sched.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/eeh.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/eeh.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/eeh.c
@@ -35,7 +35,7 @@
 #include <asm/systemcfg.h>
 #include "pci.h"
 
-#undef DEBUG
+#define DEBUG
 
 /** Overview:
  *  EEH, or "Extended Error Handling" is a PCI bridge technology for
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/iSeries_setup.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/iSeries_setup.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/iSeries_setup.c
@@ -16,7 +16,7 @@
  *      2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/init.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/iSeries_smp.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/iSeries_smp.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/iSeries_smp.c
@@ -12,7 +12,7 @@
  *      2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/kernel.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/lmb.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/lmb.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/lmb.c
@@ -22,7 +22,7 @@
 
 struct lmb lmb;
 
-#undef DEBUG
+#define DEBUG
 
 void lmb_dump_all(void)
 {
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/lparcfg.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/lparcfg.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/lparcfg.c
@@ -39,7 +39,7 @@
 #define MODULE_VERS "1.6"
 #define MODULE_NAME "lparcfg"
 
-/* #define LPARCFG_DEBUG */
+#define LPARCFG_DEBUG
 
 /* find a better place for this function... */
 void log_plpar_hcall_return(unsigned long rc, char *tag)
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/maple_time.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/maple_time.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/maple_time.c
@@ -11,7 +11,7 @@
  *
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/errno.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/module.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/module.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/module.c
@@ -30,7 +30,7 @@
    Using a magic allocator which places modules within 32MB solves
    this, and makes other things simpler.  Anton?
    --RR.  */
-#if 0
+#if 1
 #define DEBUGP printk
 #else
 #define DEBUGP(fmt , ...)
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/mpic.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/mpic.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/mpic.c
@@ -12,7 +12,7 @@
  *  for more details.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/types.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/nvram.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/nvram.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/nvram.c
@@ -33,7 +33,7 @@
 #include <asm/machdep.h>
 #include <asm/systemcfg.h>
 
-#undef DEBUG_NVRAM
+#define DEBUG_NVRAM
 
 static int nvram_scan_partitions(void);
 static int nvram_setup_partition(void);
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/pSeries_setup.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/pSeries_setup.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/pSeries_setup.c
@@ -16,7 +16,7 @@
  * bootup setup stuff..
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/errno.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/pSeries_smp.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/pSeries_smp.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/pSeries_smp.c
@@ -12,7 +12,7 @@
  *      2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/kernel.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/pci.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/pci.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/pci.c
@@ -11,7 +11,7 @@
  *      2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/kernel.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_feature.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/pmac_feature.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_feature.c
@@ -41,7 +41,7 @@
 #include <asm/pci-bridge.h>
 #include <asm/pmac_low_i2c.h>
 
-#undef DEBUG_FEATURE
+#define DEBUG_FEATURE
 
 #ifdef DEBUG_FEATURE
 #define DBG(fmt...) printk(KERN_DEBUG fmt)
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_low_i2c.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/pmac_low_i2c.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_low_i2c.c
@@ -16,7 +16,7 @@
  *  properties parser
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/types.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_setup.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/pmac_setup.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_setup.c
@@ -23,7 +23,7 @@
  * bootup setup stuff..
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/init.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_smp.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/pmac_smp.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_smp.c
@@ -22,7 +22,7 @@
  *  2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/kernel.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_time.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/pmac_time.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/pmac_time.c
@@ -32,7 +32,7 @@
 #include <asm/nvram.h>
 #include <asm/smu.h>
 
-#undef DEBUG
+#define DEBUG
 
 #ifdef DEBUG
 #define DBG(x...) printk(x)
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/prom.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/prom.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/prom.c
@@ -15,7 +15,7 @@
  *      2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <stdarg.h>
 #include <linux/config.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/prom_init.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/prom_init.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/prom_init.c
@@ -15,7 +15,7 @@
  *      2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG_PROM
+#define DEBUG_PROM
 
 #include <stdarg.h>
 #include <linux/config.h>
@@ -257,9 +257,12 @@ static int __init call_prom(const char *
 static unsigned int __init prom_claim(unsigned long virt, unsigned long size,
 				unsigned long align)
 {
-	return (unsigned int)call_prom("claim", 3, 1,
+	unsigned int ret = (unsigned int)call_prom("claim", 3, 1,
 				       (prom_arg_t)virt, (prom_arg_t)size,
 				       (prom_arg_t)align);
+	if ((unsigned int)0xdeadbeef == ret)
+		ret = PROM_ERROR;
+	return ret;
 }
 
 static void __init prom_print(const char *msg)
@@ -665,7 +668,7 @@ static unsigned long __init alloc_up(uns
 		return 0;
 	RELOC(alloc_bottom) = addr;
 
-	prom_debug(" -> %x\n", addr);
+	prom_debug(" UUU -> %x\n", addr);
 	prom_debug("  alloc_bottom : %x\n", RELOC(alloc_bottom));
 	prom_debug("  alloc_top    : %x\n", RELOC(alloc_top));
 	prom_debug("  alloc_top_hi : %x\n", RELOC(alloc_top_high));
@@ -726,7 +729,7 @@ static unsigned long __init alloc_down(u
 	RELOC(alloc_top) = addr;
 
  bail:
-	prom_debug(" -> %x\n", addr);
+	prom_debug(" DDD -> %x\n", addr);
 	prom_debug("  alloc_bottom : %x\n", RELOC(alloc_bottom));
 	prom_debug("  alloc_top    : %x\n", RELOC(alloc_top));
 	prom_debug("  alloc_top_hi : %x\n", RELOC(alloc_top_high));
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/ras.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/ras.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/ras.c
@@ -73,7 +73,7 @@ static irqreturn_t ras_epow_interrupt(in
 static irqreturn_t ras_error_interrupt(int irq, void *dev_id,
 					struct pt_regs * regs);
 
-/* #define DEBUG */
+#define DEBUG
 
 static void request_ras_irqs(struct device_node *np, char *propname,
 			irqreturn_t (*handler)(int, void *, struct pt_regs *),
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/rtasd.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/rtasd.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/rtasd.c
@@ -28,7 +28,7 @@
 #include <asm/atomic.h>
 #include <asm/systemcfg.h>
 
-#if 0
+#if 1
 #define DEBUG(A...)	printk(KERN_ERR A)
 #else
 #define DEBUG(A...)
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/setup.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/setup.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/setup.c
@@ -10,7 +10,7 @@
  *      2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/module.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/smp.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/smp.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/smp.c
@@ -15,7 +15,7 @@
  *      2 of the License, or (at your option) any later version.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/config.h>
 #include <linux/kernel.h>
Index: linux-2.6.13-rc2-olh/arch/ppc64/kernel/vdso.c
===================================================================
--- linux-2.6.13-rc2-olh.orig/arch/ppc64/kernel/vdso.c
+++ linux-2.6.13-rc2-olh/arch/ppc64/kernel/vdso.c
@@ -36,7 +36,7 @@
 #include <asm/sections.h>
 #include <asm/vdso.h>
 
-#undef DEBUG
+#define DEBUG
 
 #ifdef DEBUG
 #define DBG(fmt...) printk(fmt)
-------------- next part --------------




BOOTP S = 1
FILE: orange
Load Addr=0x4000 Max Size=0xbfc000
FINAL Packet Count = 3306
FINAL File Size = 1692258 bytes.
zImage starting: loaded at 0x400000
gunzipping (0x2100000 <- 0x407000:0x568ee6)...done 4374954 bytes
56392 bytes of heap consumed, max in use 42296
klimit=0xc0000000004a4000
offset=0xbffffffffdef0000
->mem=0x00000000025b4000
birec_verify: r6=0x00000000025b4000
  tag=0x0000000000001010
  last=0x00000000025b4031
  last_tag=0x0000000000001011
  first=0x00000000025b4000
bi_recs=0x00000000025b4000
new mem=0x00000000025b403d
Booting CPU hw index = 0x0000000000000000

prom_dump_lmb:
    memory.cnt            = 0x0000000000000001
    memory.size          = 0x0000000100000000
    memory.region[0x0000000000000000].base       = 0x0000000000000000
                      .physbase = 0x0000000000000000
                      .size     = 0x0000000100000000

    reserved.cnt                  = 0x0000000000000001
    reserved.size                = 0x0000000000000000
    reserved.region[0x0000000000000000
].base       = 0x0000000000000000
                      .physbase = 0x0000000000000000
                      .size     = 0x0000000000000000
bi: 0x0000000000001010
bi: 0x0000000000001013
bi: 0x0000000000001016
Looking for displays
OF stdout is    : /pci at fff7f09000/isa at 10/serial at i3f8
found display   : /pci at fff7f0a000/pci at b,4/display at 1
Opening displays...
opening display : /pci at fff7f0a000/pci at b,4/display at 1... done
prom_instantiate_rtas: start...
instantiating rtas at 0x000000003ff59000... done
rtas->base              = 0x000000003ff59000
rtas->entry            = 0x000000003ff59900
rtas->size              = 0x00000000000a7000
prom_instantiate_rtas: end...
prom_initialize_naca: start...
systemcfg->processorCount       = 0x0000000000000004
systemcfg->physicalMemorySize   = 0x0000000100000000
naca->pftSize                   = 0x000000000000001a
systemcfg->dCacheL1LineSize     = 0x0000000000000080
opening PHB /pci at fff7f09000/pci at b,4... done
TCE table: 0x0000000000000004
        node = 0x0000000000ce4ee8
        base = 0xc0000000fec00000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000/pci at b,6... done
TCE table: 0x0000000000000005
        node = 0x0000000000ce97b0
        base = 0xc0000000fe800000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000... done
TCE table: 0x0000000000000006
        node = 0x0000000000cec6f0
        base = 0xc0000000fe400000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b... done
TCE table: 0x0000000000000007
        node = 0x0000000000cf0b08
        base = 0xc0000000fe000000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b,2... done
TCE table: 0x0000000000000008
        node = 0x0000000000cf4f98
        base = 0xc0000000fdc00000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b,4... done
TCE table: 0x0000000000000009
        node = 0x0000000000cf9428
        base = 0xc0000000fd800000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b,6... done
TCE table: 0x000000000000000a
        node = 0x0000000000cfd8b8
        base = 0xc0000000fd400000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c... done
TCE table: 0x000000000000000b
        node = 0x0000000000d01d58
        base = 0xc0000000fd000000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c,2... done
TCE table: 0x000000000000000c
        node = 0x0000000000d061f8
        base = 0xc0000000fcc00000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c,4... done
TCE table: 0x000000000000000d
        node = 0x0000000000d0a698
        base = 0xc0000000fc800000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c,6... done
ending prom_initialize_tce_table
Calling quiesce ...
returning from prom_init
-------------- next part --------------

BOOTP S = 1
FILE: orange
Load Addr=0x4000 Max Size=0xbfc000
FINAL Packet Count = 2633
FINAL File Size = 1347842 bytes.
zImage starting: loaded at 0x400000
Allocating 0x5a8000 bytes for kernel ...
    trying: 0x01400000
    trying: 0x01500000
    trying: 0x01600000
    trying: 0x01700000
    trying: 0x01800000
    trying: 0x01900000
    trying: 0x01a00000
    trying: 0x01b00000
    trying: 0x01c00000
    trying: 0x01d00000
    trying: 0x01e00000
    trying: 0x01f00000
    trying: 0x02000000
    trying: 0x02100000
gunzipping (0x2100000 <- 0x407000:0x537701)...done 0x388ca0 bytes
0xd054 bytes of heap consumed, max in use 0x%
... skipping 0x10000 bytes of ELF header
kernel:
        entry addr = 0x2110000
        a1         = 0x0,
        a2         = 0x0,
        prom       = 0xc1e030,
        bi_recs    = 0x0,
OF stdout device is: /pci at fff7f09000/isa at 10/serial at i3f8
klimit=0xc0000000004a8000
offset=0xbffffffffdef0000
command line:
root_addr_cells: 0000000000000002
root_size_cells: 0000000000000002
scanning memory:
  node /memory at 0 :
    0000000000000000 0000000100000000
memory layout at init:
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 0000000100000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
Booting CPU hw index = 0x0000000000000000
Looking for displays
found display   : /pci at fff7f0a000/pci at b,4/display at 1, opening ... done
starting prom_initialize_tce_table
alloc_down(0000000000400000, 0000000000800000, (high))
 DDD -> 00000000ff800000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000ff800000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000
        node = 0x0000000000cc7350
        base = 0xc0000000ff800000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000ff400000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000ff400000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000/pci at b
        node = 0x0000000000cd8530
        base = 0xc0000000ff400000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000/pci at b... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000ff000000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000ff000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000/pci at b,2
        node = 0x0000000000cdc5c8
        base = 0xc0000000ff000000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000/pci at b,2... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fec00000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fec00000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000/pci at b,4
        node = 0x0000000000ce0a58
        base = 0xc0000000fec00000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000/pci at b,4... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fe800000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fe800000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f09000/pci at b,6
        node = 0x0000000000ce4ee8
        base = 0xc0000000fe800000
        size = 0x0000000000400000
opening PHB /pci at fff7f09000/pci at b,6... done
alloc_down(0000000000400000, 0000000000800000, (high))
 DDD -> 00000000fe000000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fe000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000
        node = 0x0000000000ce97b0
        base = 0xc0000000fe000000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fdc00000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fdc00000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at b
        node = 0x0000000000cec6f0
        base = 0xc0000000fdc00000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fd800000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fd800000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at b,2
        node = 0x0000000000cf0b08
        base = 0xc0000000fd800000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b,2... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fd400000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fd400000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at b,4
        node = 0x0000000000cf4f98
        base = 0xc0000000fd400000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b,4... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fd000000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fd000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at b,6
        node = 0x0000000000cf9428
        base = 0xc0000000fd000000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at b,6... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fcc00000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fcc00000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at c
        node = 0x0000000000cfd8b8
        base = 0xc0000000fcc00000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fc800000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fc800000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at c,2
        node = 0x0000000000d01d58
        base = 0xc0000000fc800000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c,2... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fc400000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fc400000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at c,4
        node = 0x0000000000d061f8
        base = 0xc0000000fc400000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c,4... done
alloc_down(0000000000400000, 0000000000400000, (high))
 DDD -> 00000000fc000000
  alloc_bottom : 00000000025bc000
  alloc_top    : 0000000040000000
  alloc_top_hi : 00000000fc000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
TCE table: /pci at fff7f0a000/pci at c,6
        node = 0x0000000000d0a698
        base = 0xc0000000fc000000
        size = 0x0000000000400000
opening PHB /pci at fff7f0a000/pci at c,6... done
ending prom_initialize_tce_table
prom_instantiate_rtas: start...
alloc_down(00000000000a7000, 0000000000001000, (low))
    trying: 0x000000003ff59000
 DDD -> 00000000deadbeef
  alloc_bottom : 00000000025bc000
  alloc_top    : 00000000deadbeef
  alloc_top_hi : 00000000fc000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
instantiating rtas at 0x00000000deadbeef... failed
prom_hold_cpus: start...
    1) spinloop       = 0x0000000000000008
    1) *spinloop      = 0x0000000000000000
    1) acknowledge    = 0x0000000000000010
    1) *acknowledge   = 0x0000000000000000
    1) secondary_hold = 0x0000000000000060

cpuid        = 0x0000000000000000
cpu hw idx   = 0x0000000000000000
0000000000000000 : boot cpu     0000000000000000

cpuid        = 0x0000000000000001
cpu hw idx   = 0x0000000000000002
0000000000000001 : starting cpu hw idx 0000000000000002... done

cpuid        = 0x0000000000000002
cpu hw idx   = 0x0000000000000004
0000000000000002 : starting cpu hw idx 0000000000000004... done

cpuid        = 0x0000000000000003
cpu hw idx   = 0x0000000000000006
0000000000000003 : starting cpu hw idx 0000000000000006... done
prom_hold_cpus: end...
copying OF device tree ...
starting device tree allocs at 00000000025bc000
alloc_up(0000000000100000, 0000000000001000)
    trying: 0x00000000025bc000
    trying: 0x00000000026bc000
 UUU -> 00000000026bc000
  alloc_bottom : 00000000026bc000
  alloc_top    : 00000000deadbeef
  alloc_top_hi : 00000000fc000000
  rmo_top      : 0000000040000000
  ram_top      : 0000000100000000
Building dt strings...
Building dt structure...
reserved memory map:
  0000000000000000 - 00000000004a8000
  00000000fc000000 - 0000000004000000
  00000000026bc000 - 0000000000012000
Device tree strings 0x00000000026bd000 -> 0x00000000026be1c7
Device tree struct  0x00000000026bf000 -> 0x00000000026ce000
Calling quiesce ...
returning from prom_init
->dt_header_start=0x00000000026bc000
->phys=0x0000000002110000


More information about the Linuxppc64-dev mailing list