All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Bultel <thierry.bultel@wanadoo.fr>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: "Xenomai@xenomai.org" <Xenomai@xenomai.org>
Subject: Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1
Date: Wed, 10 Apr 2013 15:11:41 +0200	[thread overview]
Message-ID: <5165650D.309@wanadoo.fr> (raw)
In-Reply-To: <5163C4E7.8080007@xenomai.org>

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 ?



tbultel@laois:~/Qemu/qemu-1.4.0$ ./arm-softmmu/qemu-system-arm -M
vexpress-a9 -kernel
/shared/Buildroot/output.linaro.vexpress-a9/images/uImage  -m 1024M
-serial stdio -append "console=ttyAMA0"
Booting Linux on physical CPU 0
Initializing cgroup subsys cpuset
Linux version 3.5.7-ipipe (tbultel@laois) (gcc version 4.7.3 20121001
(prerelease) (crosstool-NG linaro-1.13.1-4.7-2012.10-20121022 - Linaro
GCC 2012.10) ) #6 SMP Wed Apr 10 15:00:16 CEST 2013
CPU: ARMv7 Processor [410fc090] revision 0 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ARM-Versatile Express
Memory policy: ECC disabled, Data cache writealloc
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
PERCPU: Embedded 9 pages/cpu @84626000 s14848 r8192 d13824 u36864
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096
Kernel command line: console=ttyAMA0
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1024MB = 1024MB total
Memory: 975912k/975912k available, 72664k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xc0800000 - 0xff000000   (1000 MB)
    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
    modules : 0x7f000000 - 0x80000000   (  16 MB)
      .text : 0x80008000 - 0x805a0570   (5730 kB)
      .init : 0x805a1000 - 0x83d7da00   (57203 kB)
      .data : 0x83d7e000 - 0x83db98f8   ( 239 kB)
       .bss : 0x83db991c - 0x83e1f9ac   ( 409 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:256
smp_twd: clock not found: -2
I-pipe, 1.000 MHz clocksource



  parent reply	other threads:[~2013-04-10 13:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-07  9:31 [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 Thierry Bultel
2013-04-07 15:06 ` Gilles Chanteperdrix
2013-04-07 19:52   ` Thierry Bultel
2013-04-08  7:26     ` Gilles Chanteperdrix
2013-04-08  8:05       ` Gilles Chanteperdrix
2013-04-08 19:13         ` Thierry Bultel
2013-04-08 20:55           ` Gilles Chanteperdrix
2013-04-09  6:27             ` Thierry Bultel
2013-04-09  7:36               ` Gilles Chanteperdrix
2013-04-09  7:56                 ` Thierry Bultel
2013-04-10 13:11                 ` Thierry Bultel [this message]
2013-04-10 19:40                   ` Gilles Chanteperdrix

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5165650D.309@wanadoo.fr \
    --to=thierry.bultel@wanadoo.fr \
    --cc=Xenomai@xenomai.org \
    --cc=gilles.chanteperdrix@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.