Re: 2.6.x on 405CR

4 messages, 3 authors, 2004-09-28 · open the first message on its own page

Re: 2.6.x on 405CR

From: Matt Porter <mporter@kernel.crashing.org>
Date: 2004-09-27 13:58:03

On Mon, Sep 27, 2004 at 12:46:07PM +0200, Piotr Perak wrote:
Hi.

Anyone seen 2.6.x kernel working on 405CR?
I can't make it boot.
I can't recall anybody around here having a 405CR.  That's probably
why you didn't get a reponse the first time you posted this.

Since you are failing in ocp_add_one_device() and you have a
processor which doesn't have a chip definition in 2.6, the
problem is probably somewhere there.  Doublecheck your
arch/ppc/platforms/4xx/ibm405cr.c (you do have one, right?)
against a known good one in arch/ppc/platforms/4xx/ibm405gp.c

I wish I could rent you my BDI2000 to speed up your debugging,
but we're too far away from each other. :)

-Matt

Re: 2.6.x on 405CR

From: Jon Masters <hidden>
Date: 2004-09-27 14:11:51

On Mon, 27 Sep 2004 06:57:58 -0700, Matt Porter
[off-list ref] wrote:
On Mon, Sep 27, 2004 at 12:46:07PM +0200, Piotr Perak wrote:
quoted
Hi.

Anyone seen 2.6.x kernel working on 405CR?
I can't make it boot.
I can't recall anybody around here having a 405CR.  That's probably
why you didn't get a reponse the first time you posted this.
I might get access to one at some point - I'll be getting my Virtex II
tree up and running on 2.6 (PowerPC 405D) sometime soon hopefully too.
I wish I could rent you my BDI2000 to speed up your debugging,
but we're too far away from each other. :)
I hate you guys. I'm using insight on an XP box with that horrid
Xilinx xygwin - it's not aware of any virtual memory and I have no
symbols nicely available so it's all done by hand.

Jon.

Re: 2.6.x on 405CR

From: Piotr Perak <hidden>
Date: 2004-09-27 16:25:00


On Mon, 27 Sep 2004, Matt Porter wrote:
Since you are failing in ocp_add_one_device() and you have a
processor which doesn't have a chip definition in 2.6, the
problem is probably somewhere there.  Doublecheck your
arch/ppc/platforms/4xx/ibm405cr.c (you do have one, right?)
against a known good one in arch/ppc/platforms/4xx/ibm405gp.c
 
I use ibm405cr.c that works with our running kernel 2.4.23.

const struct ocp_def core_ocp[]  /*__initdata*/ = {
     45         { .vendor       = OCP_VENDOR_IBM,
     46           .function     = OCP_FUNC_OPB,
     47           .index        = 0,
     48           .paddr        = OPB_BASE_START,
     49           .irq          = OCP_IRQ_NA,
     50           .pm           = OCP_CPM_NA,
     51         },
     52         { .vendor       = OCP_VENDOR_IBM,
     53           .function     = OCP_FUNC_16550,
     54           .index        = 0,
     55           .paddr        = UART0_IO_BASE,
     56           .irq          = UART0_INT,
     57           .pm           = IBM_CPM_UART0
     58         },
     59         { .vendor       = OCP_VENDOR_IBM,
     60           .function     = OCP_FUNC_16550,
     61           .index        = 1,
     62           .paddr        = UART1_IO_BASE,
     63           .irq          = UART1_INT,
     64           .pm           = IBM_CPM_UART1
     65         },
     66         { .vendor       = OCP_VENDOR_IBM,
     67           .function     = OCP_FUNC_IIC,
     68           .index        = 0,
     69           .paddr        = IIC0_BASE,
     70           .irq          = IIC0_IRQ,
     71           .pm           = IBM_CPM_IIC0
     72         },
     73         { .vendor       = OCP_VENDOR_IBM,
     74           .function     = OCP_FUNC_IIC,
     75           .index        = 1,
     76           .paddr        = IIC1_BASE,
     77           .irq          = IIC1_IRQ,
     78           .pm           = IBM_CPM_IIC1
     79         },
     80         { .vendor       = OCP_VENDOR_IBM,
     81           .function     = OCP_FUNC_GPIO,
     82           .paddr        = GPIO0_BASE,
     83		  .irq          = OCP_IRQ_NA,
     84           .pm           = IBM_CPM_GPIO0
     85         },
     86
     87 /*
     88         { .vendor       = OCP_VENDOR_IBM,
     89           .function     = OCP_FUNC_USB,
     90           .paddr        = USB_BASE,
     91           .irq          = USB0_IRQ,
     92           .pm           = IBM_CPM_USB
     93         },
     94 */
     95         { .vendor       = OCP_VENDOR_INVALID
     96         }
     97 };

I was given clean and ported 2.4.23 kernel and was told to port
2.6.8.1. Based on differences I noticed between two 2.4.23 I tried to do
same (almost) in 2.6.8.1. But all I can
get is:

loaded at:     00400000 009EA220
board data at: 009E713C 009E7190
relocated to:  00405384 004053D8
zimage at:     004058D7 004F2F8B
initrd at:     004F3000 009E6782
avail ram:     009EB000 08000000

Linux/PPC load: console=ttyS0,115200 console=tty0 root=/dev/ram0
init=/linuxrc rw
Uncompressing Linux...done.
Now booting the kernel

Re: 2.6.x on 405CR

From: Piotr Perak <hidden>
Date: 2004-09-28 09:57:52

On Mon, 27 Sep 2004, Matt Porter wrote:
Since you are failing in ocp_add_one_device() and you have a
processor which doesn't have a chip definition in 2.6, the
problem is probably somewhere there.  Doublecheck your
arch/ppc/platforms/4xx/ibm405cr.c (you do have one, right?)
against a known good one in arch/ppc/platforms/4xx/ibm405gp.c
Because I use ibm405cr.c which works good with 2.4.23 I think that's not
the problem. Remember the call stack?

setup_arch() - arch/ppc/kernel/setup.c
  -> ocp_early_init() - arch/ppc/syslib/ocp.c
    -> ocp_add_one_device() - arch/ppc/syslib/ocp.c
      ->  alloc_bootmem MACRO calling __alloc_bootmem_core() -
mm/bootmem.c

When I comment line calling ocp_early_init() I fail in:
 
setup_arch() - arch/ppc/kernel/setup.c
  -> paging_init() - arch/ppc/mm/init.c
    -> free_area_init() - arch/ppc/mm/page_alloc.c
      -> free_area_init_node() - arch/ppc/mm/page_alloc.c
        -> alloc_bootmem_node() MACRO calling __alloc_bootmem_node -
mm/bootmem.c
          -> __alloc_bootmem_core() - mm/bootmem.c

As you can see again __alloc_bootmem_core. So maybe there's some
problem with memory?

Forgive me if I ask stupid questions, but this the first time I have
something to do with the kernel (not counting compiling for my home PC).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help