On 04/10/2013 03:11 PM, Thierry Bultel wrote:

> Le 09/04/2013 09:36, Gilles Chanteperdrix a écrit :
>> On 04/09/2013 08:27 AM, Thierry Bultel wrote:
>>
>>> Le 08/04/2013 22:55, Gilles Chanteperdrix a écrit :
>>>> On 04/08/2013 09:13 PM, Thierry Bultel wrote:
>>>>
>>>>> Le 08/04/2013 10:05, Gilles Chanteperdrix a écrit :
>>>>>> On 04/08/2013 09:26 AM, Gilles Chanteperdrix wrote:
>>>>>>
>>>>>>> On 04/07/2013 09:52 PM, Thierry Bultel wrote:
>>>>>>>
>>>>>>>> Le 07/04/2013 17:06, Gilles Chanteperdrix a écrit :
>>>>>>>>> On 04/07/2013 11:31 AM, Thierry Bultel wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I am using a vanilla 3.5.7 kernel in qemu-1.4.0
>>>>>>>>>> The base defconfig is the vexpress.
>>>>>>>>>>
>>>>>>>>>> I want to use xenomai-2.6.2.1 with it.
>>>>>>>>>>
>>>>>>>>>> The non-patched kernel boots fine, the patched one doesnot, there is
>>>>>>>>>> nothing on the console,
>>>>>>>>>> the boot logo does not comeand Qemu then takes 100% CPU.
>>>>>>>>>>
>>>>>>>>>> Here is my command line
>>>>>>>>>> ./qemu-1.4.0/arm-softmmu/qemu-system-arm -M vexpress-a9 -kernel
>>>>>>>>>> ./Buildroot/output.linaro.vexpress-a9/build/linux-3.5.7/arch/arm/boot/uImage
>>>>>>>>>> -append "console=ttyAMA0" -m 1024M -serial stdio
>>>>>>>>>>
>>>>>>>>>> Any ideas ? May I have missed something ?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Well, vexpress is not in the list of machines supported by Xenomai. 
>>>>>>>>> So,
>>>>>>>>> someone needs to port the I-pipe kernel to it.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> Hi Gilles,
>>>>>>>>
>>>>>>>> We already talked about the vexpress, it was at the beginning of the
>>>>>>>> rtcan discussion.
>>>>>>>> It used to work (and pretty well), my configuration was:
>>>>>>>>
>>>>>>>> linux-3.2.21+ipipe-core-3.2.21-arm-1.patch
>>>>>>>>
>>>>>>>> and I have just successfully tested
>>>>>>>>
>>>>>>>> linux-3.2.21+ipipe-core-3.2.21-arm-4.patch
>>>>>>>> as well.
>>>>>>>>
>>>>>>>> There is likely not much missing for having it working on the 3.5.7
>>>>>>>> kernel. I am taking a look.
>>>>>>>
>>>>>>>
>>>>>>> Someone did the port of the I-pipe patch to vexpress (but did not
>>>>>>> contribute it), the difference between vexpress and other cortex A9
>>>>>>> based SOCs is that it does not support global timers, the one used by
>>>>>>> the I-pipe patch as clocksource. The difference between 3.2 and later
>>>>>>> patches is probably that later patches unconditionally use the global
>>>>>>> timer. The fix around this is to add code do detect the cortex a9
>>>>>>> revision and do not register the global timers when the revision is too 
>>>>>>> old.
>>>>>>>
>>>>>>
>>>>>>
>>>>>> Found the mail: "I just got a reply from ARM support and obviously I
>>>>>> missed the thing that my release of Cortex-A9 does NOT have a global
>>>>>> timer (they added it from r1p0, mine is r0p1)."
>>>>>>
>>>>>> You know what version your processor is by reading the first few lines
>>>>>> printed by the kernel:
>>>>>> CPU: ARMv7 Processor [411fc092] revision 2 (ARMv7), cr=10c53c7d
>>>>>>
>>>>>> 41 is used by all cores from ARM
>>>>>> fc09 represents the cortex a9
>>>>>>
>>>>>> The remaining 1 and 2 mean that this cortex a9 is an r1p2
>>>>>>
>>>>>
>>>>>
>>>>> Many thanks,
>>>>> I confirm that this fix makes vexpress boot in qemu:
>>>>
>>>>
>>>> Merged thanks. I believe you should keep the calculation of
>>>> twd_timer_rate, otherwise the twd timers will not be calibratd
>>>> correctly. The following:
>>>>
>>>> http://git.xenomai.org/?p=ipipe-gch.git;a=commitdiff;h=9a776ad3c41fa1aef1b60d0cce5de3ca9dece42d;hp=82b6948fed3581e65bcce64b91b16140686263a7
>>>>
>>>> Works for me.
>>>>
>>>>
>>>
>>> It works on what platform ? It does not in qemu. The boot hangs the same 
>>> way.
>>
>>
>> It works on omap4, a platform with global timers... So, what you are
>> saying is that it is in fact the twd calibration which hangs?
>>
> 
> Probably related, I first did not notice it,
> the  twd_get_clock() call fails in my case (See below; smp_twd: clock
> not found: -2):
> 
> Is it safe to call twd_calibrate_rate in this case ?


See:
http://www.xenomai.org/index.php/I-pipe-core:ArmPorting#The_Cortex-A9_case

The issues are probably unrelated. From my point of view, if you want
vexpress to really work with I-pipe, someone has to consider the work to
be done as a real port of the I-pipe kernel to this architecture. You
can use this page as a check list.

-- 
                                                                Gilles.


_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to