All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
@ 2012-09-01 13:38 gwenhael.goavec
  2012-09-01 13:41 ` Gilles Chanteperdrix
  0 siblings, 1 reply; 11+ messages in thread
From: gwenhael.goavec @ 2012-09-01 13:38 UTC (permalink / raw)
  To: xenomai

Hi,

I have 2 boards, the first is based on imx1 and the second on imx27.
With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
For the imx1 with 3.2.21 the result is the same.

I have enabled early_printk. On every boards the boot stop with a kernel panic.
The message start with : "Unable to handle kernel paging request at virtual
address 10003010" on imx27.

This is due to the call of __ipipe_tsc_get() in __ipipe_tsc_update()

To verify my toolchain I have tested 2.6.38.8 with at91 successfully.

If someone has a idea?

Thank you very much.

Gwenhael Goavec-Merou


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 13:38 [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get() gwenhael.goavec
@ 2012-09-01 13:41 ` Gilles Chanteperdrix
  2012-09-01 13:50   ` gwenhael.goavec
  0 siblings, 1 reply; 11+ messages in thread
From: Gilles Chanteperdrix @ 2012-09-01 13:41 UTC (permalink / raw)
  To: gwenhael.goavec; +Cc: xenomai

On 09/01/2012 03:38 PM, gwenhael.goavec wrote:

> Hi,
> 
> I have 2 boards, the first is based on imx1 and the second on imx27.
> With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
> For the imx1 with 3.2.21 the result is the same.
> 
> I have enabled early_printk. On every boards the boot stop with a kernel panic.
> The message start with : "Unable to handle kernel paging request at virtual
> address 10003010" on imx27.
> 
> This is due to the call of __ipipe_tsc_get() in __ipipe_tsc_update()
> 
> To verify my toolchain I have tested 2.6.38.8 with at91 successfully.
> 
> If someone has a idea?


Not enough information, to understand what happens we need the kernel
oops (at least the register values).

-- 
                                                                Gilles.


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 13:41 ` Gilles Chanteperdrix
@ 2012-09-01 13:50   ` gwenhael.goavec
  2012-09-01 13:54     ` Gilles Chanteperdrix
  0 siblings, 1 reply; 11+ messages in thread
From: gwenhael.goavec @ 2012-09-01 13:50 UTC (permalink / raw)
  To: xenomai

On Sat, 01 Sep 2012 15:41:55 +0200
Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:

> On 09/01/2012 03:38 PM, gwenhael.goavec wrote:
> 
> > Hi,
> > 
> > I have 2 boards, the first is based on imx1 and the second on imx27.
> > With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
> > For the imx1 with 3.2.21 the result is the same.
> > 
> > I have enabled early_printk. On every boards the boot stop with a kernel panic.
> > The message start with : "Unable to handle kernel paging request at virtual
> > address 10003010" on imx27.
> > 
> > This is due to the call of __ipipe_tsc_get() in __ipipe_tsc_update()
> > 
> > To verify my toolchain I have tested 2.6.38.8 with at91 successfully.
> > 
> > If someone has a idea?
> 
> 
> Not enough information, to understand what happens we need the kernel
> oops (at least the register values).
> 
> -- 
>                                                                 Gilles.

Sorry,

Unable to handle kernel paging request at virtual address 10003010
pgd = c0004000
[10003010] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT
last sysfs file: 
Modules linked in:
CPU: 0    Not tainted  (2.6.38.8-ipipe #34)
PC is at 0xffff0f48
LR is at __ipipe_tsc_update+0xfc/0x1c0
pc : [<ffff0f48>]    lr : [<c0032cd4>]    psr: 600000d3
sp : c049fe80  ip : c04af0b0  fp : c04af040
r10: c04af0b0  r9 : c04d5300  r8 : c04d5300
r7 : 0000001a  r6 : c04c99f8  r5 : ffff0f40  r4 : ffff0f20
r3 : 00000000  r2 : 00000000  r1 : c04d5300  r0 : 10003010
Flags: nZCv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
Control: 0005317f  Table: a0004000  DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc049e270)
Stack: (0xc049fe80 to 0xc04a0000)
fe80: c04a5a78 00000000 00000000 c0039710 c00396fc c0075188 00000000 c04a878c
fea0: c049e000 0000001a c04a5a78 c007750c 0000001a c04b545c 00000000 00000002
fec0: c04d5300 c002b044 0000001d c04af0e8 0000001a c007bdf0 c049e000 c0043dd8
fee0: 00000001 c049e000 c04a60ec 0000000c 00000001 c04a60ec 00000034 c049ffb4
ff00: 00000000 c007c4dc c04d5300 c0044248 c049e000 00000000 00000000 c0044250
ff20: c3801470 00000000 00000001 00000000 c3801460 c3801470 c3803200 00000000
ff40: c04d5300 c00b2a20 c055a020 c38014c0 c38014c0 c00b1c04 c38025a0 00000000
ff60: c04b1290 c04af0e8 00000000 ffffffff 00000000 c0022578 00000001 c0442f50
ff80: 41069264 a0021148 00000000 c0399d78 41069264 c049ffb4 c04c98c0 c04c98c0
ffa0: c0022578 c056a360 a002117c c0015ff4 c0442f50 c04d5300 00000002 00000000
ffc0: c04c98c0 c04c98c0 c0022578 c0008c34 c0008464 00000000 00000000 c0022578
ffe0: 00000000 00053175 c04a0010 c0022574 c04a35cc a0008034 00000000 00000000
[<c0032cd4>] (__ipipe_tsc_update+0xfc/0x1c0) from [<c0039710>] (mxc_timer_interrupt+0x14/0x34)
[<c0039710>] (mxc_timer_interrupt+0x14/0x34) from [<c0075188>] (handle_IRQ_event+0x40/0x130)
[<c0075188>] (handle_IRQ_event+0x40/0x130) from [<c007750c>] (handle_level_irq+0x94/0x140)
[<c007750c>] (handle_level_irq+0x94/0x140) from [<c002b044>] (asm_do_IRQ+0x44/0x9c)
[<c002b044>] (asm_do_IRQ+0x44/0x9c) from [<c007bdf0>] (__ipipe_sync_stage+0x1a0/0x1bc)
Exception stack(0xc049fed8 to 0xc049ff20)
fec0:                                                       c049e000 c0043dd8
fee0: 00000001 c049e000 c04a60ec 0000000c 00000001 c04a60ec 00000034 c049ffb4
ff00: 00000000 c007c4dc c04d5300 c0044248 c049e000 00000000 00000000 c0044250
[<c007bdf0>] (__ipipe_sync_stage+0x1a0/0x1bc) from [<c007c4dc>] (__ipipe_unstall_root+0x48/0x54)
[<c007c4dc>] (__ipipe_unstall_root+0x48/0x54) from [<c0044248>] (vprintk+0x2d0/0x480)
[<c0044248>] (vprintk+0x2d0/0x480) from [<c0399d78>] (printk+0xf4/0x1a0)
[<c0399d78>] (printk+0xf4/0x1a0) from [<c0015ff4>] (console_init+0xc/0x60)
[<c0015ff4>] (console_init+0xc/0x60) from [<c0008c34>] (start_kernel+0x4a4/0x638)
[<c0008c34>] (start_kernel+0x4a4/0x638) from [<a0008034>] (0xa0008034)
Code: 00000000 10003010 e51f000c e14f22dc (e5900000) 
---[ end trace 1b75b31a2719ed1c ]---
Kernel panic - not syncing: Fatal exception in interrupt
[<c0031e2c>] (unwind_backtrace+0x0/0xf0) from [<c0399b64>] (panic+0x60/0x180)
[<c0399b64>] (panic+0x60/0x180) from [<c0030050>] (die+0x1c4/0x1f8)
[<c0030050>] (die+0x1c4/0x1f8) from [<c0033b84>] (__do_kernel_fault+0x64/0x84)
[<c0033b84>] (__do_kernel_fault+0x64/0x84) from [<c0033da4>] (do_page_fault+0x200/0x390)
[<c0033da4>] (do_page_fault+0x200/0x390) from [<c002b2b8>] (do_DataAbort+0x30/0x134)
[<c002b2b8>] (do_DataAbort+0x30/0x134) from [<c002bc6c>] (__dabt_svc+0x4c/0x60)
Exception stack(0xc049fe38 to 0xc049fe80)
fe20:                                                       10003010 c04d5300
fe40: 00000000 00000000 ffff0f20 ffff0f40 c04c99f8 0000001a c04d5300 c04d5300
fe60: c04af0b0 c04af040 c04af0b0 c049fe80 c0032cd4 ffff0f48 600000d3 ffffffff
[<c002bc6c>] (__dabt_svc+0x4c/0x60) from [<ffff0f48>] (0xffff0f48)

Gwenhael


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 13:50   ` gwenhael.goavec
@ 2012-09-01 13:54     ` Gilles Chanteperdrix
  2012-09-01 14:29       ` Michael Trimarchi
  2012-09-01 14:32       ` gwenhael.goavec
  0 siblings, 2 replies; 11+ messages in thread
From: Gilles Chanteperdrix @ 2012-09-01 13:54 UTC (permalink / raw)
  To: gwenhael.goavec; +Cc: xenomai

On 09/01/2012 03:50 PM, gwenhael.goavec wrote:

> On Sat, 01 Sep 2012 15:41:55 +0200
> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
> 
>> On 09/01/2012 03:38 PM, gwenhael.goavec wrote:
>>
>>> Hi,
>>>
>>> I have 2 boards, the first is based on imx1 and the second on imx27.
>>> With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
>>> For the imx1 with 3.2.21 the result is the same.
>>>
>>> I have enabled early_printk. On every boards the boot stop with a kernel panic.
>>> The message start with : "Unable to handle kernel paging request at virtual
>>> address 10003010" on imx27.
>>>
>>> This is due to the call of __ipipe_tsc_get() in __ipipe_tsc_update()
>>>
>>> To verify my toolchain I have tested 2.6.38.8 with at91 successfully.
>>>
>>> If someone has a idea?
>>
>>
>> Not enough information, to understand what happens we need the kernel
>> oops (at least the register values).
>>
>> -- 
>>                                                                 Gilles.
> 
> Sorry,
> 
> Unable to handle kernel paging request at virtual address 10003010
> pgd = c0004000
> [10003010] *pgd=00000000
> Internal error: Oops: 5 [#1] PREEMPT
> last sysfs file: 
> Modules linked in:
> CPU: 0    Not tainted  (2.6.38.8-ipipe #34)
> PC is at 0xffff0f48
> LR is at __ipipe_tsc_update+0xfc/0x1c0
> pc : [<ffff0f48>]    lr : [<c0032cd4>]    psr: 600000d3
> sp : c049fe80  ip : c04af0b0  fp : c04af040
> r10: c04af0b0  r9 : c04d5300  r8 : c04d5300
> r7 : 0000001a  r6 : c04c99f8  r5 : ffff0f40  r4 : ffff0f20
> r3 : 00000000  r2 : 00000000  r1 : c04d5300  r0 : 10003010


Ok. In the mean time I remembered someone signalled this bug and I 
fixed it in the patch for 3.4. r0 is supposed to be the address of the 
hardware timer, 10003010 is a physical address instead of being a 
virtual address. Please try the following patch:

diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c
index 255e759..7a3d6b9 100644
--- a/arch/arm/plat-mxc/time.c
+++ b/arch/arm/plat-mxc/time.c
@@ -352,7 +352,7 @@ mxc_timer_init(struct clk *timer_clk,
 
 	if (timer_is_v1()) {
 		tsc_info.u.counter_paddr = phys + MX1_2_TCN;
-		tsc_info.counter_vaddr =(unsigned long)(phys + MX1_2_TCN);
+		tsc_info.counter_vaddr = (unsigned long)(timer_base + MX1_2_TCN);
 	} else {
 		tsc_info.u.counter_paddr = phys + V2_TCN;
 		tsc_info.counter_vaddr = (unsigned long)(timer_base + V2_TCN);


-- 
                                                                Gilles.


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 13:54     ` Gilles Chanteperdrix
@ 2012-09-01 14:29       ` Michael Trimarchi
  2012-09-01 14:32         ` Gilles Chanteperdrix
  2012-09-01 14:32       ` gwenhael.goavec
  1 sibling, 1 reply; 11+ messages in thread
From: Michael Trimarchi @ 2012-09-01 14:29 UTC (permalink / raw)
  To: Gilles Chanteperdrix, gwenhael.goavec; +Cc: xenomai

Hi

Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:

>On 09/01/2012 03:50 PM, gwenhael.goavec wrote:
>
>> On Sat, 01 Sep 2012 15:41:55 +0200
>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
>> 
>>> On 09/01/2012 03:38 PM, gwenhael.goavec wrote:
>>>
>>>> Hi,
>>>>
>>>> I have 2 boards, the first is based on imx1 and the second on
>imx27.
>>>> With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
>>>> For the imx1 with 3.2.21 the result is the same.
>>>>
>>>> I have enabled early_printk. On every boards the boot stop with a
>kernel panic.
>>>> The message start with : "Unable to handle kernel paging request at
>virtual
>>>> address 10003010" on imx27.
>>>>
>>>> This is due to the call of __ipipe_tsc_get() in
>__ipipe_tsc_update()
>>>>
>>>> To verify my toolchain I have tested 2.6.38.8 with at91
>successfully.
>>>>
>>>> If someone has a idea?
>>>
>>>
>>> Not enough information, to understand what happens we need the
>kernel
>>> oops (at least the register values).
>>>
>>> -- 
>>>                                                                
>Gilles.
>> 
>> Sorry,
>> 
>> Unable to handle kernel paging request at virtual address 10003010
>> pgd = c0004000
>> [10003010] *pgd=00000000
>> Internal error: Oops: 5 [#1] PREEMPT
>> last sysfs file: 
>> Modules linked in:
>> CPU: 0    Not tainted  (2.6.38.8-ipipe #34)
>> PC is at 0xffff0f48
>> LR is at __ipipe_tsc_update+0xfc/0x1c0
>> pc : [<ffff0f48>]    lr : [<c0032cd4>]    psr: 600000d3
>> sp : c049fe80  ip : c04af0b0  fp : c04af040
>> r10: c04af0b0  r9 : c04d5300  r8 : c04d5300
>> r7 : 0000001a  r6 : c04c99f8  r5 : ffff0f40  r4 : ffff0f20
>> r3 : 00000000  r2 : 00000000  r1 : c04d5300  r0 : 10003010
>
>
>Ok. In the mean time I remembered someone signalled this bug and I 
>fixed it in the patch for 3.4. r0 is supposed to be the address of the 
>hardware timer, 10003010 is a physical address instead of being a 
>virtual address. Please try the following patch:
>
>diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c
>index 255e759..7a3d6b9 100644
>--- a/arch/arm/plat-mxc/time.c
>+++ b/arch/arm/plat-mxc/time.c
>@@ -352,7 +352,7 @@ mxc_timer_init(struct clk *timer_clk,
> 
> 	if (timer_is_v1()) {
> 		tsc_info.u.counter_paddr = phys + MX1_2_TCN;
>-		tsc_info.counter_vaddr =(unsigned long)(phys + MX1_2_TCN);
>+		tsc_info.counter_vaddr = (unsigned long)(timer_base + MX1_2_TCN);
> 	} else {
> 		tsc_info.u.counter_paddr = phys + V2_TCN;
> 		tsc_info.counter_vaddr = (unsigned long)(timer_base + V2_TCN);
>
>

It was my patch

Michael
>-- 
>                                                                Gilles.
>
>_______________________________________________
>Xenomai mailing list
>Xenomai@xenomai.org
>http://www.xenomai.org/mailman/listinfo/xenomai

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 14:29       ` Michael Trimarchi
@ 2012-09-01 14:32         ` Gilles Chanteperdrix
  2012-09-01 14:33           ` Michael Trimarchi
  0 siblings, 1 reply; 11+ messages in thread
From: Gilles Chanteperdrix @ 2012-09-01 14:32 UTC (permalink / raw)
  To: Michael Trimarchi; +Cc: xenomai

On 09/01/2012 04:29 PM, Michael Trimarchi wrote:

> Hi
> 
> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:
> 
>> On 09/01/2012 03:50 PM, gwenhael.goavec wrote:
>>
>>> On Sat, 01 Sep 2012 15:41:55 +0200
>>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
>>>
>>>> On 09/01/2012 03:38 PM, gwenhael.goavec wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I have 2 boards, the first is based on imx1 and the second on
>> imx27.
>>>>> With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
>>>>> For the imx1 with 3.2.21 the result is the same.
>>>>>
>>>>> I have enabled early_printk. On every boards the boot stop with a
>> kernel panic.
>>>>> The message start with : "Unable to handle kernel paging request at
>> virtual
>>>>> address 10003010" on imx27.
>>>>>
>>>>> This is due to the call of __ipipe_tsc_get() in
>> __ipipe_tsc_update()
>>>>>
>>>>> To verify my toolchain I have tested 2.6.38.8 with at91
>> successfully.
>>>>>
>>>>> If someone has a idea?
>>>>
>>>>
>>>> Not enough information, to understand what happens we need the
>> kernel
>>>> oops (at least the register values).
>>>>
>>>> -- 
>>>>                                                                
>> Gilles.
>>>
>>> Sorry,
>>>
>>> Unable to handle kernel paging request at virtual address 10003010
>>> pgd = c0004000
>>> [10003010] *pgd=00000000
>>> Internal error: Oops: 5 [#1] PREEMPT
>>> last sysfs file: 
>>> Modules linked in:
>>> CPU: 0    Not tainted  (2.6.38.8-ipipe #34)
>>> PC is at 0xffff0f48
>>> LR is at __ipipe_tsc_update+0xfc/0x1c0
>>> pc : [<ffff0f48>]    lr : [<c0032cd4>]    psr: 600000d3
>>> sp : c049fe80  ip : c04af0b0  fp : c04af040
>>> r10: c04af0b0  r9 : c04d5300  r8 : c04d5300
>>> r7 : 0000001a  r6 : c04c99f8  r5 : ffff0f40  r4 : ffff0f20
>>> r3 : 00000000  r2 : 00000000  r1 : c04d5300  r0 : 10003010
>>
>>
>> Ok. In the mean time I remembered someone signalled this bug and I 
>> fixed it in the patch for 3.4. r0 is supposed to be the address of the 
>> hardware timer, 10003010 is a physical address instead of being a 
>> virtual address. Please try the following patch:
>>
>> diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c
>> index 255e759..7a3d6b9 100644
>> --- a/arch/arm/plat-mxc/time.c
>> +++ b/arch/arm/plat-mxc/time.c
>> @@ -352,7 +352,7 @@ mxc_timer_init(struct clk *timer_clk,
>>
>> 	if (timer_is_v1()) {
>> 		tsc_info.u.counter_paddr = phys + MX1_2_TCN;
>> -		tsc_info.counter_vaddr =(unsigned long)(phys + MX1_2_TCN);
>> +		tsc_info.counter_vaddr = (unsigned long)(timer_base + MX1_2_TCN);
>> 	} else {
>> 		tsc_info.u.counter_paddr = phys + V2_TCN;
>> 		tsc_info.counter_vaddr = (unsigned long)(timer_base + V2_TCN);
>>
>>
> 
> It was my patch


No, you promised to send a patch for 3.2 and I never received it, so I
fixed it myself.

-- 
                                                                Gilles.


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 13:54     ` Gilles Chanteperdrix
  2012-09-01 14:29       ` Michael Trimarchi
@ 2012-09-01 14:32       ` gwenhael.goavec
  1 sibling, 0 replies; 11+ messages in thread
From: gwenhael.goavec @ 2012-09-01 14:32 UTC (permalink / raw)
  Cc: xenomai

On Sat, 01 Sep 2012 15:54:10 +0200
Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:

> On 09/01/2012 03:50 PM, gwenhael.goavec wrote:
> 
> > On Sat, 01 Sep 2012 15:41:55 +0200
> > Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
> > 
> >> On 09/01/2012 03:38 PM, gwenhael.goavec wrote:
> >>
> >>> Hi,
> >>>
> >>> I have 2 boards, the first is based on imx1 and the second on imx27.
> >>> With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
> >>> For the imx1 with 3.2.21 the result is the same.
> >>>
> >>> I have enabled early_printk. On every boards the boot stop with a kernel panic.
> >>> The message start with : "Unable to handle kernel paging request at virtual
> >>> address 10003010" on imx27.
> >>>
> >>> This is due to the call of __ipipe_tsc_get() in __ipipe_tsc_update()
> >>>
> >>> To verify my toolchain I have tested 2.6.38.8 with at91 successfully.
> >>>
> >>> If someone has a idea?
> >>
> >>
> >> Not enough information, to understand what happens we need the kernel
> >> oops (at least the register values).
> >>
> >> -- 
> >>                                                                 Gilles.
> > 
> > Sorry,
> > 
> > Unable to handle kernel paging request at virtual address 10003010
> > pgd = c0004000
> > [10003010] *pgd=00000000
> > Internal error: Oops: 5 [#1] PREEMPT
> > last sysfs file: 
> > Modules linked in:
> > CPU: 0    Not tainted  (2.6.38.8-ipipe #34)
> > PC is at 0xffff0f48
> > LR is at __ipipe_tsc_update+0xfc/0x1c0
> > pc : [<ffff0f48>]    lr : [<c0032cd4>]    psr: 600000d3
> > sp : c049fe80  ip : c04af0b0  fp : c04af040
> > r10: c04af0b0  r9 : c04d5300  r8 : c04d5300
> > r7 : 0000001a  r6 : c04c99f8  r5 : ffff0f40  r4 : ffff0f20
> > r3 : 00000000  r2 : 00000000  r1 : c04d5300  r0 : 10003010
> 
> 
> Ok. In the mean time I remembered someone signalled this bug and I 
> fixed it in the patch for 3.4. r0 is supposed to be the address of the 
> hardware timer, 10003010 is a physical address instead of being a 
> virtual address. Please try the following patch:
> 
> diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c
> index 255e759..7a3d6b9 100644
> --- a/arch/arm/plat-mxc/time.c
> +++ b/arch/arm/plat-mxc/time.c
> @@ -352,7 +352,7 @@ mxc_timer_init(struct clk *timer_clk,
>  
>  	if (timer_is_v1()) {
>  		tsc_info.u.counter_paddr = phys + MX1_2_TCN;
> -		tsc_info.counter_vaddr =(unsigned long)(phys + MX1_2_TCN);
> +		tsc_info.counter_vaddr = (unsigned long)(timer_base + MX1_2_TCN);
>  	} else {
>  		tsc_info.u.counter_paddr = phys + V2_TCN;
>  		tsc_info.counter_vaddr = (unsigned long)(timer_base + V2_TCN);
> 
> 
> -- 
>                                                                 Gilles.

Perfect!
I'm able to boot my imx27.

Thank you.
Gwenhael


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 14:32         ` Gilles Chanteperdrix
@ 2012-09-01 14:33           ` Michael Trimarchi
  2012-09-01 14:42             ` Gilles Chanteperdrix
  2012-09-01 15:15             ` Gilles Chanteperdrix
  0 siblings, 2 replies; 11+ messages in thread
From: Michael Trimarchi @ 2012-09-01 14:33 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: xenomai

Hi

Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:

>On 09/01/2012 04:29 PM, Michael Trimarchi wrote:
>
>> Hi
>> 
>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:
>> 
>>> On 09/01/2012 03:50 PM, gwenhael.goavec wrote:
>>>
>>>> On Sat, 01 Sep 2012 15:41:55 +0200
>>>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
>>>>
>>>>> On 09/01/2012 03:38 PM, gwenhael.goavec wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have 2 boards, the first is based on imx1 and the second on
>>> imx27.
>>>>>> With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
>>>>>> For the imx1 with 3.2.21 the result is the same.
>>>>>>
>>>>>> I have enabled early_printk. On every boards the boot stop with a
>>> kernel panic.
>>>>>> The message start with : "Unable to handle kernel paging request
>at
>>> virtual
>>>>>> address 10003010" on imx27.
>>>>>>
>>>>>> This is due to the call of __ipipe_tsc_get() in
>>> __ipipe_tsc_update()
>>>>>>
>>>>>> To verify my toolchain I have tested 2.6.38.8 with at91
>>> successfully.
>>>>>>
>>>>>> If someone has a idea?
>>>>>
>>>>>
>>>>> Not enough information, to understand what happens we need the
>>> kernel
>>>>> oops (at least the register values).
>>>>>
>>>>> -- 
>>>>>                                                                
>>> Gilles.
>>>>
>>>> Sorry,
>>>>
>>>> Unable to handle kernel paging request at virtual address 10003010
>>>> pgd = c0004000
>>>> [10003010] *pgd=00000000
>>>> Internal error: Oops: 5 [#1] PREEMPT
>>>> last sysfs file: 
>>>> Modules linked in:
>>>> CPU: 0    Not tainted  (2.6.38.8-ipipe #34)
>>>> PC is at 0xffff0f48
>>>> LR is at __ipipe_tsc_update+0xfc/0x1c0
>>>> pc : [<ffff0f48>]    lr : [<c0032cd4>]    psr: 600000d3
>>>> sp : c049fe80  ip : c04af0b0  fp : c04af040
>>>> r10: c04af0b0  r9 : c04d5300  r8 : c04d5300
>>>> r7 : 0000001a  r6 : c04c99f8  r5 : ffff0f40  r4 : ffff0f20
>>>> r3 : 00000000  r2 : 00000000  r1 : c04d5300  r0 : 10003010
>>>
>>>
>>> Ok. In the mean time I remembered someone signalled this bug and I 
>>> fixed it in the patch for 3.4. r0 is supposed to be the address of
>the 
>>> hardware timer, 10003010 is a physical address instead of being a 
>>> virtual address. Please try the following patch:
>>>
>>> diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c
>>> index 255e759..7a3d6b9 100644
>>> --- a/arch/arm/plat-mxc/time.c
>>> +++ b/arch/arm/plat-mxc/time.c
>>> @@ -352,7 +352,7 @@ mxc_timer_init(struct clk *timer_clk,
>>>
>>> 	if (timer_is_v1()) {
>>> 		tsc_info.u.counter_paddr = phys + MX1_2_TCN;
>>> -		tsc_info.counter_vaddr =(unsigned long)(phys + MX1_2_TCN);
>>> +		tsc_info.counter_vaddr = (unsigned long)(timer_base + MX1_2_TCN);
>>> 	} else {
>>> 		tsc_info.u.counter_paddr = phys + V2_TCN;
>>> 		tsc_info.counter_vaddr = (unsigned long)(timer_base + V2_TCN);
>>>
>>>
>> 
>> It was my patch
>
>
>No, you promised to send a patch for 3.2 and I never received it, so I
>fixed it myself.
>

Sorry ,  I was thinking that you only need some test on it,

Execuse me for it

Michael

>-- 
>                                                                Gilles.

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 14:33           ` Michael Trimarchi
@ 2012-09-01 14:42             ` Gilles Chanteperdrix
  2012-09-01 15:15             ` Gilles Chanteperdrix
  1 sibling, 0 replies; 11+ messages in thread
From: Gilles Chanteperdrix @ 2012-09-01 14:42 UTC (permalink / raw)
  To: Michael Trimarchi; +Cc: xenomai

On 09/01/2012 04:33 PM, Michael Trimarchi wrote:

> Hi
> 
> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:
> 
>> On 09/01/2012 04:29 PM, Michael Trimarchi wrote:
>>
>>> Hi
>>>
>>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:
>>>
>>>> On 09/01/2012 03:50 PM, gwenhael.goavec wrote:
>>>>
>>>>> On Sat, 01 Sep 2012 15:41:55 +0200
>>>>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
>>>>>
>>>>>> On 09/01/2012 03:38 PM, gwenhael.goavec wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have 2 boards, the first is based on imx1 and the second on
>>>> imx27.
>>>>>>> With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
>>>>>>> For the imx1 with 3.2.21 the result is the same.
>>>>>>>
>>>>>>> I have enabled early_printk. On every boards the boot stop with a
>>>> kernel panic.
>>>>>>> The message start with : "Unable to handle kernel paging request
>> at
>>>> virtual
>>>>>>> address 10003010" on imx27.
>>>>>>>
>>>>>>> This is due to the call of __ipipe_tsc_get() in
>>>> __ipipe_tsc_update()
>>>>>>>
>>>>>>> To verify my toolchain I have tested 2.6.38.8 with at91
>>>> successfully.
>>>>>>>
>>>>>>> If someone has a idea?
>>>>>>
>>>>>>
>>>>>> Not enough information, to understand what happens we need the
>>>> kernel
>>>>>> oops (at least the register values).
>>>>>>
>>>>>> -- 
>>>>>>                                                                
>>>> Gilles.
>>>>>
>>>>> Sorry,
>>>>>
>>>>> Unable to handle kernel paging request at virtual address 10003010
>>>>> pgd = c0004000
>>>>> [10003010] *pgd=00000000
>>>>> Internal error: Oops: 5 [#1] PREEMPT
>>>>> last sysfs file: 
>>>>> Modules linked in:
>>>>> CPU: 0    Not tainted  (2.6.38.8-ipipe #34)
>>>>> PC is at 0xffff0f48
>>>>> LR is at __ipipe_tsc_update+0xfc/0x1c0
>>>>> pc : [<ffff0f48>]    lr : [<c0032cd4>]    psr: 600000d3
>>>>> sp : c049fe80  ip : c04af0b0  fp : c04af040
>>>>> r10: c04af0b0  r9 : c04d5300  r8 : c04d5300
>>>>> r7 : 0000001a  r6 : c04c99f8  r5 : ffff0f40  r4 : ffff0f20
>>>>> r3 : 00000000  r2 : 00000000  r1 : c04d5300  r0 : 10003010
>>>>
>>>>
>>>> Ok. In the mean time I remembered someone signalled this bug and I 
>>>> fixed it in the patch for 3.4. r0 is supposed to be the address of
>> the 
>>>> hardware timer, 10003010 is a physical address instead of being a 
>>>> virtual address. Please try the following patch:
>>>>
>>>> diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c
>>>> index 255e759..7a3d6b9 100644
>>>> --- a/arch/arm/plat-mxc/time.c
>>>> +++ b/arch/arm/plat-mxc/time.c
>>>> @@ -352,7 +352,7 @@ mxc_timer_init(struct clk *timer_clk,
>>>>
>>>> 	if (timer_is_v1()) {
>>>> 		tsc_info.u.counter_paddr = phys + MX1_2_TCN;
>>>> -		tsc_info.counter_vaddr =(unsigned long)(phys + MX1_2_TCN);
>>>> +		tsc_info.counter_vaddr = (unsigned long)(timer_base + MX1_2_TCN);
>>>> 	} else {
>>>> 		tsc_info.u.counter_paddr = phys + V2_TCN;
>>>> 		tsc_info.counter_vaddr = (unsigned long)(timer_base + V2_TCN);
>>>>
>>>>
>>>
>>> It was my patch
>>
>>
>> No, you promised to send a patch for 3.2 and I never received it, so I
>> fixed it myself.
>>
> 
> Sorry ,  I was thinking that you only need some test on it,
> 
> Execuse me for it


No problem, I am just explaining why the fix did not make it into 3.2. I
forgot about the issue, and remembered it when doing the port to 3.4.

-- 
                                                                Gilles.


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 14:33           ` Michael Trimarchi
  2012-09-01 14:42             ` Gilles Chanteperdrix
@ 2012-09-01 15:15             ` Gilles Chanteperdrix
  2012-09-01 16:37               ` Michael Trimarchi
  1 sibling, 1 reply; 11+ messages in thread
From: Gilles Chanteperdrix @ 2012-09-01 15:15 UTC (permalink / raw)
  To: Michael Trimarchi; +Cc: xenomai

On 09/01/2012 04:33 PM, Michael Trimarchi wrote:

> Hi
> 
> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:
> 
>> On 09/01/2012 04:29 PM, Michael Trimarchi wrote:
>>
>>> Hi
>>>
>>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:
>>>
>>>> On 09/01/2012 03:50 PM, gwenhael.goavec wrote:
>>>>
>>>>> On Sat, 01 Sep 2012 15:41:55 +0200
>>>>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
>>>>>
>>>>>> On 09/01/2012 03:38 PM, gwenhael.goavec wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have 2 boards, the first is based on imx1 and the second on
>>>> imx27.
>>>>>>> With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
>>>>>>> For the imx1 with 3.2.21 the result is the same.
>>>>>>>
>>>>>>> I have enabled early_printk. On every boards the boot stop with a
>>>> kernel panic.
>>>>>>> The message start with : "Unable to handle kernel paging request
>> at
>>>> virtual
>>>>>>> address 10003010" on imx27.
>>>>>>>
>>>>>>> This is due to the call of __ipipe_tsc_get() in
>>>> __ipipe_tsc_update()
>>>>>>>
>>>>>>> To verify my toolchain I have tested 2.6.38.8 with at91
>>>> successfully.
>>>>>>>
>>>>>>> If someone has a idea?
>>>>>>
>>>>>>
>>>>>> Not enough information, to understand what happens we need the
>>>> kernel
>>>>>> oops (at least the register values).
>>>>>>
>>>>>> -- 
>>>>>>                                                                
>>>> Gilles.
>>>>>
>>>>> Sorry,
>>>>>
>>>>> Unable to handle kernel paging request at virtual address 10003010
>>>>> pgd = c0004000
>>>>> [10003010] *pgd=00000000
>>>>> Internal error: Oops: 5 [#1] PREEMPT
>>>>> last sysfs file: 
>>>>> Modules linked in:
>>>>> CPU: 0    Not tainted  (2.6.38.8-ipipe #34)
>>>>> PC is at 0xffff0f48
>>>>> LR is at __ipipe_tsc_update+0xfc/0x1c0
>>>>> pc : [<ffff0f48>]    lr : [<c0032cd4>]    psr: 600000d3
>>>>> sp : c049fe80  ip : c04af0b0  fp : c04af040
>>>>> r10: c04af0b0  r9 : c04d5300  r8 : c04d5300
>>>>> r7 : 0000001a  r6 : c04c99f8  r5 : ffff0f40  r4 : ffff0f20
>>>>> r3 : 00000000  r2 : 00000000  r1 : c04d5300  r0 : 10003010
>>>>
>>>>
>>>> Ok. In the mean time I remembered someone signalled this bug and I 
>>>> fixed it in the patch for 3.4. r0 is supposed to be the address of
>> the 
>>>> hardware timer, 10003010 is a physical address instead of being a 
>>>> virtual address. Please try the following patch:
>>>>
>>>> diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c
>>>> index 255e759..7a3d6b9 100644
>>>> --- a/arch/arm/plat-mxc/time.c
>>>> +++ b/arch/arm/plat-mxc/time.c
>>>> @@ -352,7 +352,7 @@ mxc_timer_init(struct clk *timer_clk,
>>>>
>>>> 	if (timer_is_v1()) {
>>>> 		tsc_info.u.counter_paddr = phys + MX1_2_TCN;
>>>> -		tsc_info.counter_vaddr =(unsigned long)(phys + MX1_2_TCN);
>>>> +		tsc_info.counter_vaddr = (unsigned long)(timer_base + MX1_2_TCN);
>>>> 	} else {
>>>> 		tsc_info.u.counter_paddr = phys + V2_TCN;
>>>> 		tsc_info.counter_vaddr = (unsigned long)(timer_base + V2_TCN);
>>>>
>>>>
>>>
>>> It was my patch
>>
>>
>> No, you promised to send a patch for 3.2 and I never received it, so I
>> fixed it myself.
>>
> 
> Sorry ,  I was thinking that you only need some test on it,
> 
> Execuse me for it
> 
> Michael


The point is: I can not test the patch for imx27 or imx25 because I do
not have access to such hardware, so I simply compile-test. Could you
check whether the 3.2 branch still has the issues you fixed, and send
patches please? I swear they will be merged this time.

Last time your patch had issues, I told you that and we never got further.

-- 
                                                                Gilles.


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

* Re: [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get()
  2012-09-01 15:15             ` Gilles Chanteperdrix
@ 2012-09-01 16:37               ` Michael Trimarchi
  0 siblings, 0 replies; 11+ messages in thread
From: Michael Trimarchi @ 2012-09-01 16:37 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: xenomai

Hi

Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:

>On 09/01/2012 04:33 PM, Michael Trimarchi wrote:
>
>> Hi
>> 
>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:
>> 
>>> On 09/01/2012 04:29 PM, Michael Trimarchi wrote:
>>>
>>>> Hi
>>>>
>>>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> ha scritto:
>>>>
>>>>> On 09/01/2012 03:50 PM, gwenhael.goavec wrote:
>>>>>
>>>>>> On Sat, 01 Sep 2012 15:41:55 +0200
>>>>>> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
>>>>>>
>>>>>>> On 09/01/2012 03:38 PM, gwenhael.goavec wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I have 2 boards, the first is based on imx1 and the second on
>>>>> imx27.
>>>>>>>> With this 2 boards, I'm unable to boot a 2.6.38.8 kernel.
>>>>>>>> For the imx1 with 3.2.21 the result is the same.
>>>>>>>>
>>>>>>>> I have enabled early_printk. On every boards the boot stop with
>a
>>>>> kernel panic.
>>>>>>>> The message start with : "Unable to handle kernel paging
>request
>>> at
>>>>> virtual
>>>>>>>> address 10003010" on imx27.
>>>>>>>>
>>>>>>>> This is due to the call of __ipipe_tsc_get() in
>>>>> __ipipe_tsc_update()
>>>>>>>>
>>>>>>>> To verify my toolchain I have tested 2.6.38.8 with at91
>>>>> successfully.
>>>>>>>>
>>>>>>>> If someone has a idea?
>>>>>>>
>>>>>>>
>>>>>>> Not enough information, to understand what happens we need the
>>>>> kernel
>>>>>>> oops (at least the register values).
>>>>>>>
>>>>>>> -- 
>>>>>>>                                                                
>>>>> Gilles.
>>>>>>
>>>>>> Sorry,
>>>>>>
>>>>>> Unable to handle kernel paging request at virtual address
>10003010
>>>>>> pgd = c0004000
>>>>>> [10003010] *pgd=00000000
>>>>>> Internal error: Oops: 5 [#1] PREEMPT
>>>>>> last sysfs file: 
>>>>>> Modules linked in:
>>>>>> CPU: 0    Not tainted  (2.6.38.8-ipipe #34)
>>>>>> PC is at 0xffff0f48
>>>>>> LR is at __ipipe_tsc_update+0xfc/0x1c0
>>>>>> pc : [<ffff0f48>]    lr : [<c0032cd4>]    psr: 600000d3
>>>>>> sp : c049fe80  ip : c04af0b0  fp : c04af040
>>>>>> r10: c04af0b0  r9 : c04d5300  r8 : c04d5300
>>>>>> r7 : 0000001a  r6 : c04c99f8  r5 : ffff0f40  r4 : ffff0f20
>>>>>> r3 : 00000000  r2 : 00000000  r1 : c04d5300  r0 : 10003010
>>>>>
>>>>>
>>>>> Ok. In the mean time I remembered someone signalled this bug and I
>
>>>>> fixed it in the patch for 3.4. r0 is supposed to be the address of
>>> the 
>>>>> hardware timer, 10003010 is a physical address instead of being a 
>>>>> virtual address. Please try the following patch:
>>>>>
>>>>> diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c
>>>>> index 255e759..7a3d6b9 100644
>>>>> --- a/arch/arm/plat-mxc/time.c
>>>>> +++ b/arch/arm/plat-mxc/time.c
>>>>> @@ -352,7 +352,7 @@ mxc_timer_init(struct clk *timer_clk,
>>>>>
>>>>> 	if (timer_is_v1()) {
>>>>> 		tsc_info.u.counter_paddr = phys + MX1_2_TCN;
>>>>> -		tsc_info.counter_vaddr =(unsigned long)(phys + MX1_2_TCN);
>>>>> +		tsc_info.counter_vaddr = (unsigned long)(timer_base +
>MX1_2_TCN);
>>>>> 	} else {
>>>>> 		tsc_info.u.counter_paddr = phys + V2_TCN;
>>>>> 		tsc_info.counter_vaddr = (unsigned long)(timer_base + V2_TCN);
>>>>>
>>>>>
>>>>
>>>> It was my patch
>>>
>>>
>>> No, you promised to send a patch for 3.2 and I never received it, so
>I
>>> fixed it myself.
>>>
>> 
>> Sorry ,  I was thinking that you only need some test on it,
>> 
>> Execuse me for it
>> 
>> Michael
>
>
>The point is: I can not test the patch for imx27 or imx25 because I do
>not have access to such hardware, so I simply compile-test. Could you
>check whether the 3.2 branch still has the issues you fixed, and send
>patches please? I swear they will be merged this time.
>
>Last time your patch had issues, I told you that and we never got
>further.

Ok understand. Let me finish it

Michael

>
>-- 
>                                                                Gilles.

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.


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

end of thread, other threads:[~2012-09-01 16:37 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-01 13:38 [Xenomai] imx1 and imx27 boot problem with __ipipe_tsc_get() gwenhael.goavec
2012-09-01 13:41 ` Gilles Chanteperdrix
2012-09-01 13:50   ` gwenhael.goavec
2012-09-01 13:54     ` Gilles Chanteperdrix
2012-09-01 14:29       ` Michael Trimarchi
2012-09-01 14:32         ` Gilles Chanteperdrix
2012-09-01 14:33           ` Michael Trimarchi
2012-09-01 14:42             ` Gilles Chanteperdrix
2012-09-01 15:15             ` Gilles Chanteperdrix
2012-09-01 16:37               ` Michael Trimarchi
2012-09-01 14:32       ` gwenhael.goavec

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.