linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* problem with cuImage.mpc834x_mds image
@ 2016-05-27 21:12 Giuseppe Lippolis
  2016-06-04  0:01 ` Scott Wood
  0 siblings, 1 reply; 5+ messages in thread
From: Giuseppe Lippolis @ 2016-05-27 21:12 UTC (permalink / raw)
  To: linuxppc-dev

Dear All,
I'm trying with buildroot to build the linux-4.4.3 for an iomega 150d
machine mounting the mpc8347E sys.
Due the old U-Boot version is not possible to use the standard uImage, but
it is needed to set the cuImage target (the one embedding the device tree).

I start using the default configuration
arch/powerpc/configs/mpc83xx_defconfig,
and the default device tree mpc834x_mds.

In order to enable the console  output during the first linux boot stage I
added the following line at the end of the device tree file:

        chosen {
                linux,stdout-path = "/soc8349/serial at 4500";
        };

The kernel is compiled and I get the cuImage.mpc834x_mds image.

Then I load it on the machine and execute:

tftp 0x10000000 cuImage.mpc834x_mds
Speed: 1000, full duplex
Using Freescale TSEC0 device
TFTP from server 192.168.178.36; our IP address is 192.168.178.10
Filename 'cuImage.mpc834x_mds'.
Load address: 0x10000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ################################
done
Bytes transferred = 2157489 (20ebb1 hex)
IOMEGA=> bootm 0x10000000
## Booting image at 10000000 ...
   Image Name:   Linux-4.4.3
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    2157425 Bytes =  2.1 MB
   Load Address: 00500000
   Entry Point:  005001f8
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
Memory <- <0x0 0x20000000> (512MB)
ethernet0: local-mac-address <- 00:d0:b8:01:d1:9f
ethernet1: local-mac-address <- 9b:e3:00:01:72:6f
CPU clock-frequency <- 0x179a7b00 (396MHz)
CPU timebase-frequency <- 0x3ef1480 (66MHz)
CPU bus-frequency <- 0xfbc5200 (264MHz)

zImage starting: loaded at 0x00500000 (sp: 0x1ffb2ce8)
Allocating 0x439a88 bytes for kernel ...
gunzipping (0x00000000 <- 0x0050e000:0x00940fe8)...done 0x422920 bytes

Linux/PowerPC load: root=/dev/mtdblock1 ro rootfstype=cramfs devfs=mount
console=ttyS0,115200 init=/linuxrc
Finalizing device tree... flat tree at 0x94d120


But at this point the process crash and the system is reset.
It should be something near the handover between the first kenel boot stage
and the vmlinux start, but I do not have a jtag to proceed the
investigation.

In any case it seems that the execution never entry the vmlinux start
(head_32.S).

I try to add this macro at the begin of the file:

        .equ cnsladdr, 0xe0004500 (console address txreg)

.macro dbg_prnt nid
        lis     r24, cnsladdr at ha
        addi    r24, r24, cnsladdr at l
        li      r25, 'd'
        stb     r25, 0(r24)
        li      r25, 'b'
        stb     r25, 0(r24)
        li      r25, 'g'
        stb     r25, 0(r24)
        li      r25, '0'
        addi    r25, r25, \nid
        stb     r25, 0(r24)
        li      r25, '\n'
        stb     r25, 0(r24)
.endm


But I do not see anything in the console.
The problem seems releted to the vmlinux call in arc/powerpc/boot/main.c

kentry = (kernel_entry_t) vmlinux.addr;


Any suggestion?
Bye.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: problem with cuImage.mpc834x_mds image
  2016-05-27 21:12 problem with cuImage.mpc834x_mds image Giuseppe Lippolis
@ 2016-06-04  0:01 ` Scott Wood
  2017-03-24 21:27   ` AW: " Giuseppe Lippolis
  0 siblings, 1 reply; 5+ messages in thread
From: Scott Wood @ 2016-06-04  0:01 UTC (permalink / raw)
  To: Giuseppe Lippolis, linuxppc-dev

On Fri, 2016-05-27 at 23:12 +0200, Giuseppe Lippolis wrote:
> Dear All,
> I'm trying with buildroot to build the linux-4.4.3 for an iomega 150d
> machine mounting the mpc8347E sys.
> Due the old U-Boot version is not possible to use the standard uImage, but
> it is needed to set the cuImage target (the one embedding the device tree).
> 
> I start using the default configuration
> arch/powerpc/configs/mpc83xx_defconfig,
> and the default device tree mpc834x_mds.
> 
> In order to enable the console  output during the first linux boot stage I
> added the following line at the end of the device tree file:
> 
>         chosen {
>                 linux,stdout-path = "/soc8349/serial at 4500";
>         };
> 
> The kernel is compiled and I get the cuImage.mpc834x_mds image.
> 
> Then I load it on the machine and execute:
> 
> tftp 0x10000000 cuImage.mpc834x_mds
> Speed: 1000, full duplex
> Using Freescale TSEC0 device
> TFTP from server 192.168.178.36; our IP address is 192.168.178.10
> Filename 'cuImage.mpc834x_mds'.
> Load address: 0x10000000
> Loading: #################################################################
>          #################################################################
>          #################################################################
>          #################################################################
>          #################################################################
>          #################################################################
>          ################################
> done
> Bytes transferred = 2157489 (20ebb1 hex)
> IOMEGA=> bootm 0x10000000
> ## Booting image at 10000000 ...
>    Image Name:   Linux-4.4.3
>    Image Type:   PowerPC Linux Kernel Image (gzip compressed)
>    Data Size:    2157425 Bytes =  2.1 MB
>    Load Address: 00500000
>    Entry Point:  005001f8
>    Verifying Checksum ... OK
>    Uncompressing Kernel Image ... OK
> Memory <- <0x0 0x20000000> (512MB)
> ethernet0: local-mac-address <- 00:d0:b8:01:d1:9f
> ethernet1: local-mac-address <- 9b:e3:00:01:72:6f
> CPU clock-frequency <- 0x179a7b00 (396MHz)
> CPU timebase-frequency <- 0x3ef1480 (66MHz)
> CPU bus-frequency <- 0xfbc5200 (264MHz)
> 
> zImage starting: loaded at 0x00500000 (sp: 0x1ffb2ce8)
> Allocating 0x439a88 bytes for kernel ...
> gunzipping (0x00000000 <- 0x0050e000:0x00940fe8)...done 0x422920 bytes
> 
> Linux/PowerPC load: root=/dev/mtdblock1 ro rootfstype=cramfs devfs=mount
> console=ttyS0,115200 init=/linuxrc
> Finalizing device tree... flat tree at 0x94d120
> 
> 
> But at this point the process crash and the system is reset.
> It should be something near the handover between the first kenel boot stage
> and the vmlinux start, but I do not have a jtag to proceed the
> investigation.
>
> In any case it seems that the execution never entry the vmlinux start
> (head_32.S).
> 
> I try to add this macro at the begin of the file:
> 
>         .equ cnsladdr, 0xe0004500 (console address txreg)
> 
> .macro dbg_prnt nid
>         lis     r24, cnsladdr at ha
>         addi    r24, r24, cnsladdr at l
>         li      r25, 'd'
>         stb     r25, 0(r24)
>         li      r25, 'b'
>         stb     r25, 0(r24)
>         li      r25, 'g'
>         stb     r25, 0(r24)
>         li      r25, '0'
>         addi    r25, r25, \nid
>         stb     r25, 0(r24)
>         li      r25, '\n'
>         stb     r25, 0(r24)
> .endm
> 
> 
> But I do not see anything in the console.

Have you tried inserting a loop to wait until the transmitter is empty before
sending a character?

> The problem seems releted to the vmlinux call in arc/powerpc/boot/main.c
> 
> kentry = (kernel_entry_t) vmlinux.addr;
> 
> 
> Any suggestion?

Check (with serial output) that flow control reaches the very end of the
bootwrapper before it jumps to Linux.  Use the same code that you use in
head.S (with loop added in both cases).  Print the entry address, and some
bytes loaded from that address to confirm the image is there.  Check that the
BATs are set up correctly, etc.

-Scott

^ permalink raw reply	[flat|nested] 5+ messages in thread

* AW: problem with cuImage.mpc834x_mds image
  2016-06-04  0:01 ` Scott Wood
@ 2017-03-24 21:27   ` Giuseppe Lippolis
  2017-03-24 22:10     ` Scott Wood
  0 siblings, 1 reply; 5+ messages in thread
From: Giuseppe Lippolis @ 2017-03-24 21:27 UTC (permalink / raw)
  To: 'Scott Wood', linuxppc-dev

> On Fri, 2016-05-27 at 23:12 +0200, Giuseppe Lippolis wrote:
> > Dear All,
> > I'm trying with buildroot to build the linux-4.4.3 for an iomega =
150d
> > machine mounting the mpc8347E sys.

[...]

> > Finalizing device tree... flat tree at 0x94d120
> >
> >
> > But at this point the process crash and the system is reset.
> > It should be something near the handover between the first kenel =
boot
> > stage and the vmlinux start, but I do not have a jtag to proceed the
> > investigation.

[..]

> > Any suggestion?
>=20
> Check (with serial output) that flow control reaches the very end of =
the
> bootwrapper before it jumps to Linux.  Use the same code that you use =
in
> head.S (with loop added in both cases).  Print the entry address, and =
some
> bytes loaded from that address to confirm the image is there.  Check =
that the
> BATs are set up correctly, etc.
>=20
> -Scott

Hi Scott, thanks for your tips.
I proceed my investigation using now Linux-4.10.4 and I found two issue:

1) the U-Boot 1.1.4 make some mistake when decompress the gzip -9. =
Therefore, as a workaround, I currently modify the wrapper to use the =
uncompressed image.

Nevertheless the image is crashing during the boot.

I modified the  cpu_setup_6xx.S in this way (in order to print debug =
char on the console) :

.equ cnsladdr, 0xe0004500

_GLOBAL(__setup_cpu_603)
        mflr    r5
BEGIN_MMU_FTR_SECTION
        li      r10,0
        mtspr   SPRN_SPRG_603_LRU,r10           /* init SW LRU tracking =
*/
END_MMU_FTR_SECTION_IFSET(MMU_FTR_NEED_DTLB_SW_LRU)

        lis     r23, cnsladdr@ha
        addi    r23, r23, cnsladdr@l
        li      r25, 'i'
        stb     r25, 0(r23)

BEGIN_FTR_SECTION
        bl      __init_fpu_registers

        lis     r23, cnsladdr@ha
        addi    r23, r23, cnsladdr@l
        li      r25, 'l'
        stb     r25, 0(r23)

END_FTR_SECTION_IFCLR(CPU_FTR_FPU_UNAVAILABLE)
        bl      setup_common_caches

        lis     r23, cnsladdr@ha
        addi    r23, r23, cnsladdr@l
        li      r25, 'm'
        stb     r25, 0(r23)

        mtlr    r5

        lis     r23, cnsladdr@ha
        addi    r23, r23, cnsladdr@l
        li      r25, 'm'
        stb     r25, 0(r23)
        trap

        blr

and now I get:

Finalizing device tree... flat tree at 0xbdb960
Il

Therefore the code crash during the call in:
        bl      setup_common_caches


I'm using the iomega_150d based on the MPC8347.

Do you have some tips about the setup_common_caches?

Thanks.
Bye.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: AW: problem with cuImage.mpc834x_mds image
  2017-03-24 21:27   ` AW: " Giuseppe Lippolis
@ 2017-03-24 22:10     ` Scott Wood
  0 siblings, 0 replies; 5+ messages in thread
From: Scott Wood @ 2017-03-24 22:10 UTC (permalink / raw)
  To: Giuseppe Lippolis, linuxppc-dev

On Fri, 2017-03-24 at 22:27 +0100, Giuseppe Lippolis wrote:
> > 
> Therefore the code crash during the call in:
>         bl      setup_common_caches
> 
> 
> I'm using the iomega_150d based on the MPC8347.
> 
> Do you have some tips about the setup_common_caches?

Once caching is enabled[1] you won't be able to do I/O until the MMU is set up
for an uncached I/O mapping.

-Scott

[1] Or at some similar point during early init.  It's been a while since I
worked on chips like this, so I don't recall the details of which caches are
enabled on kernel entry and whether there's some magic to exempt I/O, but I do
remember there being a stretch of time during init where doing I/O was a
problem.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* problem with cuImage.mpc834x_mds image
@ 2016-05-27 19:50 Giuseppe Lippolis
  0 siblings, 0 replies; 5+ messages in thread
From: Giuseppe Lippolis @ 2016-05-27 19:50 UTC (permalink / raw)
  To: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 3554 bytes --]

Dear All,

I'm trying with buildroot to build the linux-4.4.3 for an iomega 150d
machine mounting the mpc8347E sys.
Due the old U-Boot version is not possible to use the standard uImage, but
it is needed to set the cuImage target (the one embedding the device tree).
 
I start using the default configuration
arch/powerpc/configs/mpc83xx_defconfig,
and the default device tree mpc834x_mds.
 
In order to enable the console  output during the first linux boot stage I
added the following line at the end of the device tree file:
 
        chosen {
                linux,stdout-path = "/soc8349/
<http://lists.busybox.net/mailman/listinfo/buildroot> serial at 4500";
        };
 
The kernel is compiled and I get the cuImage.mpc834x_mds image.
 
Then I load it on the machine and execute:
 
tftp 0x10000000 cuImage.mpc834x_mds
Speed: 1000, full duplex
Using Freescale TSEC0 device
TFTP from server 192.168.178.36; our IP address is 192.168.178.10
Filename 'cuImage.mpc834x_mds'.
Load address: 0x10000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ################################
done
Bytes transferred = 2157489 (20ebb1 hex)
IOMEGA=> bootm 0x10000000
## Booting image at 10000000 ...
   Image Name:   Linux-4.4.3
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    2157425 Bytes =  2.1 MB
   Load Address: 00500000
   Entry Point:  005001f8
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
Memory <- <0x0 0x20000000> (512MB)
ethernet0: local-mac-address <- 00:d0:b8:01:d1:9f
ethernet1: local-mac-address <- 9b:e3:00:01:72:6f
CPU clock-frequency <- 0x179a7b00 (396MHz)
CPU timebase-frequency <- 0x3ef1480 (66MHz)
CPU bus-frequency <- 0xfbc5200 (264MHz)
 
zImage starting: loaded at 0x00500000 (sp: 0x1ffb2ce8)
Allocating 0x439a88 bytes for kernel ...
gunzipping (0x00000000 <- 0x0050e000:0x00940fe8)...done 0x422920 bytes
 
Linux/PowerPC load: root=/dev/mtdblock1 ro rootfstype=cramfs devfs=mount
console=ttyS0,115200 init=/linuxrc
Finalizing device tree... flat tree at 0x94d120
 
 
But at this point the process crash and the system is reset.
It should be something near the handover between the first kenel boot stage
and the vmlinux start, but I do not have a jtag to proceed the
investigation.
 
In any case it seems that the execution never entry the vmlinux start
(head_32.S).
 
I try to add this macro at the begin of the file:
 
        .equ cnsladdr, 0xe0004500 (console address txreg)
 
.macro dbg_prnt nid
        lis     r24,  <http://lists.busybox.net/mailman/listinfo/buildroot>
cnsladdr at ha
        addi    r24, r24,
<http://lists.busybox.net/mailman/listinfo/buildroot> cnsladdr at l
        li      r25, 'd'
        stb     r25, 0(r24)
        li      r25, 'b'
        stb     r25, 0(r24)
        li      r25, 'g'
        stb     r25, 0(r24)
        li      r25, '0'
        addi    r25, r25, \nid
        stb     r25, 0(r24)
        li      r25, '\n'
        stb     r25, 0(r24)
.endm
 
 
But I do not see anything in the console.
The problem seems releted to the vmlinux call in arc/powerpc/boot/main.c
 
kentry = (kernel_entry_t) vmlinux.addr;
 
 
Any suggestion?
Bye.

 


[-- Attachment #2: Type: text/html, Size: 11604 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-03-24 22:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-27 21:12 problem with cuImage.mpc834x_mds image Giuseppe Lippolis
2016-06-04  0:01 ` Scott Wood
2017-03-24 21:27   ` AW: " Giuseppe Lippolis
2017-03-24 22:10     ` Scott Wood
  -- strict thread matches above, loose matches on Subject: below --
2016-05-27 19:50 Giuseppe Lippolis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).