* [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 @ 2013-04-07 9:31 Thierry Bultel 2013-04-07 15:06 ` Gilles Chanteperdrix 0 siblings, 1 reply; 12+ messages in thread From: Thierry Bultel @ 2013-04-07 9:31 UTC (permalink / raw) To: Xenomai@xenomai.org 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 ? Regards Thierry ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 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 0 siblings, 1 reply; 12+ messages in thread From: Gilles Chanteperdrix @ 2013-04-07 15:06 UTC (permalink / raw) To: Thierry Bultel; +Cc: Xenomai@xenomai.org 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. -- Gilles. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 2013-04-07 15:06 ` Gilles Chanteperdrix @ 2013-04-07 19:52 ` Thierry Bultel 2013-04-08 7:26 ` Gilles Chanteperdrix 0 siblings, 1 reply; 12+ messages in thread From: Thierry Bultel @ 2013-04-07 19:52 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai@xenomai.org 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. Cheers Thierry ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 2013-04-07 19:52 ` Thierry Bultel @ 2013-04-08 7:26 ` Gilles Chanteperdrix 2013-04-08 8:05 ` Gilles Chanteperdrix 0 siblings, 1 reply; 12+ messages in thread From: Gilles Chanteperdrix @ 2013-04-08 7:26 UTC (permalink / raw) To: Thierry Bultel; +Cc: Xenomai@xenomai.org 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. -- Gilles. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 2013-04-08 7:26 ` Gilles Chanteperdrix @ 2013-04-08 8:05 ` Gilles Chanteperdrix 2013-04-08 19:13 ` Thierry Bultel 0 siblings, 1 reply; 12+ messages in thread From: Gilles Chanteperdrix @ 2013-04-08 8:05 UTC (permalink / raw) To: Thierry Bultel; +Cc: Xenomai@xenomai.org 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 -- Gilles. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 2013-04-08 8:05 ` Gilles Chanteperdrix @ 2013-04-08 19:13 ` Thierry Bultel 2013-04-08 20:55 ` Gilles Chanteperdrix 0 siblings, 1 reply; 12+ messages in thread From: Thierry Bultel @ 2013-04-08 19:13 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai@xenomai.org 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: diff -Nru linux-3.5.7/arch/arm/kernel/smp_twd.c linux-3.5.7.new/arch/arm/kernel/smp_twd.c --- linux-3.5.7/arch/arm/kernel/smp_twd.c 2013-04-08 21:06:03.723019682 +0200 +++ linux-3.5.7.new/arch/arm/kernel/smp_twd.c 2013-04-08 21:02:18.722003361 +0200 @@ -28,6 +28,7 @@ #include <asm/localtimer.h> #include <asm/hardware/gic.h> #include <asm/ipipe.h> +#include <asm/cputype.h> /* set up by the platform code */ static void __iomem *twd_base; @@ -56,6 +57,9 @@ static void __cpuinit gt_setup(unsigned long base_paddr, unsigned bits) { + if ((read_cpuid_id() & 0xf00000) == 0) + return; + twd_clk = twd_get_clock(); if (!IS_ERR_OR_NULL(twd_clk)) FYI I have CPU: ARMv7 Processor [410fc090] revision 0 (ARMv7), cr=10c53c7d Cheers Thierry ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 2013-04-08 19:13 ` Thierry Bultel @ 2013-04-08 20:55 ` Gilles Chanteperdrix 2013-04-09 6:27 ` Thierry Bultel 0 siblings, 1 reply; 12+ messages in thread From: Gilles Chanteperdrix @ 2013-04-08 20:55 UTC (permalink / raw) To: Thierry Bultel; +Cc: Xenomai@xenomai.org 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. -- Gilles. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 2013-04-08 20:55 ` Gilles Chanteperdrix @ 2013-04-09 6:27 ` Thierry Bultel 2013-04-09 7:36 ` Gilles Chanteperdrix 0 siblings, 1 reply; 12+ messages in thread From: Thierry Bultel @ 2013-04-09 6:27 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai@xenomai.org 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. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 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 0 siblings, 2 replies; 12+ messages in thread From: Gilles Chanteperdrix @ 2013-04-09 7:36 UTC (permalink / raw) To: Thierry Bultel; +Cc: Xenomai@xenomai.org 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? -- Gilles. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 2013-04-09 7:36 ` Gilles Chanteperdrix @ 2013-04-09 7:56 ` Thierry Bultel 2013-04-10 13:11 ` Thierry Bultel 1 sibling, 0 replies; 12+ messages in thread From: Thierry Bultel @ 2013-04-09 7:56 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai@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? Yes indeed > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 2013-04-09 7:36 ` Gilles Chanteperdrix 2013-04-09 7:56 ` Thierry Bultel @ 2013-04-10 13:11 ` Thierry Bultel 2013-04-10 19:40 ` Gilles Chanteperdrix 1 sibling, 1 reply; 12+ messages in thread From: Thierry Bultel @ 2013-04-10 13:11 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai@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 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Xenomai] Kernel 3.5.7 not booting in qemu for vexpress-a9 with xenomai-2.6.2.1 2013-04-10 13:11 ` Thierry Bultel @ 2013-04-10 19:40 ` Gilles Chanteperdrix 0 siblings, 0 replies; 12+ messages in thread From: Gilles Chanteperdrix @ 2013-04-10 19:40 UTC (permalink / raw) To: Thierry Bultel; +Cc: Xenomai@xenomai.org 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. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2013-04-10 19:40 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 2013-04-10 19:40 ` Gilles Chanteperdrix
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.