* [Xenomai] ARM kernel issue [not found] <mailman.1.1350468001.6812.xenomai@xenomai.org> @ 2012-10-17 21:54 ` Stefan Videv 2012-10-18 4:20 ` Gilles Chanteperdrix 0 siblings, 1 reply; 7+ messages in thread From: Stefan Videv @ 2012-10-17 21:54 UTC (permalink / raw) To: xenomai Hi everybody, I have the following kernel problem when trying to boot on arm with kernel v.3.2.21: U-Boot SPL 2012.10-rc2-dirty (Oct 17 2012 - 00:25:42) OMAP SD/MMC: 0 reading u-boot.img reading u-boot.img U-Boot 2012.10-rc2-dirty (Oct 17 2012 - 00:25:42) I2C: ready DRAM: 256 MiB WARNING: Caches not enabled MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Using default environment Net: cpsw Hit any key to stop autoboot: 0 SD/MMC found on device 0 reading uEnv.txt 649 bytes read Loaded environment from uEnv.txt Importing environment from mmc ... reading zImage 2664144 bytes read Booting from mmc ... Starting kernel ... Uncompressing Linux... done, booting the kernel. [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 3.2.31-psp24 (stefan@stefan-VirtualBox) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 Wed Oct 17 17:09:40 BST 2012 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine: am335xevm [ 0.000000] bootconsole [earlycon0] enabled [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] On node 0 totalpages: 65536 [ 0.000000] free_area_init_node: node 0, pgdat c07336a8, node_mem_map c079d000 [ 0.000000] Normal zone: 512 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 65024 pages, LIFO batch:15 [ 0.000000] AM335X ES1.0 (sgx neon ) [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc debug earlyprintk [ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes) [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] allocated 1048576 bytes of page_cgroup [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups [ 0.000000] Memory: 256MB = 256MB total [ 0.000000] Memory: 251036k/251036k available, 11108k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB) [ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .text : 0xc0008000 - 0xc06ab000 (6796 kB) [ 0.000000] .init : 0xc06ab000 - 0xc06e9000 ( 248 kB) [ 0.000000] .data : 0xc06ea000 - 0xc0734720 ( 298 kB) [ 0.000000] .bss : 0xc0734744 - 0xc079cd5c ( 418 kB) [ 0.000000] NR_IRQS:410 nr_irqs:410 410 [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts [ 0.000000] Total of 128 interrupts on 1 active controller [ 0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz [ 0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz [ 0.000000] I-pipe, 0.032 MHz clocksource [ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms [ 0.000000] Interrupt pipeline (release #1) [ 0.000000] ------------[ cut here ]------------ It looks very similar to: http://www.xenomai.org/pipermail/xenomai/2012-July/000476.html I've read the whole conversation, but due to my lack of understanding of the Xenomai codebase, here I am asking for a (preferably) quick step-by-step explanation of what the fix for this is. Also, the email back and forth kind of left me confused if all the steps in there are necessary or is it just some. Also, I am only sure that the kernel I am trying to run exhibits the same initial hang, and I don't have the knowledge (or equipment) to be able to debug through JTAG. The particular Xenomai patch that I am using can be found under: https://github.com/RobertCNelson/linux-dev/commit/f6ffc6e46dee99ca875318b2c7a8d1a548519a3b Thanks for your time and help! -- Stefan ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai] ARM kernel issue 2012-10-17 21:54 ` [Xenomai] ARM kernel issue Stefan Videv @ 2012-10-18 4:20 ` Gilles Chanteperdrix 2012-10-18 8:21 ` Henri Roosen 0 siblings, 1 reply; 7+ messages in thread From: Gilles Chanteperdrix @ 2012-10-18 4:20 UTC (permalink / raw) To: Stefan Videv; +Cc: xenomai On 10/17/2012 11:54 PM, Stefan Videv wrote: > Uncompressing Linux... done, booting the kernel. > [ 0.000000] Initializing cgroup subsys cpuset > [ 0.000000] Initializing cgroup subsys cpu > [ 0.000000] Linux version 3.2.31-psp24 (stefan@stefan-VirtualBox) > (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 Wed Oct 17 > 17:09:40 BST 2012 > [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), > cr=10c53c7d > [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing > instruction cache > [ 0.000000] Machine: am335xevm You are trying to run Xenomai on a machine for which the I-pipe patch does not contain the support. There is no miracle: - either you add that support yourself - or you use a patch provided by the original user, which adds this support. -- Gilles. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai] ARM kernel issue 2012-10-18 4:20 ` Gilles Chanteperdrix @ 2012-10-18 8:21 ` Henri Roosen 2012-10-18 9:00 ` Henri Roosen 0 siblings, 1 reply; 7+ messages in thread From: Henri Roosen @ 2012-10-18 8:21 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Stefan Videv, xenomai On Thu, Oct 18, 2012 at 6:20 AM, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote: > On 10/17/2012 11:54 PM, Stefan Videv wrote: > >> Uncompressing Linux... done, booting the kernel. >> [ 0.000000] Initializing cgroup subsys cpuset >> [ 0.000000] Initializing cgroup subsys cpu >> [ 0.000000] Linux version 3.2.31-psp24 (stefan@stefan-VirtualBox) >> (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 Wed Oct 17 >> 17:09:40 BST 2012 >> [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), >> cr=10c53c7d >> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing >> instruction cache >> [ 0.000000] Machine: am335xevm > > > You are trying to run Xenomai on a machine for which the I-pipe patch > does not contain the support. There is no miracle: > - either you add that support yourself I am currently trying to bring up Xenomai on the AM335x EVM board too. It seems Stephan from the thread referred to in the post was able to successfully port Xenomai on the Beaglebone which uses the same chip. So I'm using a similar approach: - kernel sources from git://arago-project.org/git/projects/linux-am33x.git, tag v3.2_AM335xPSP_04.06.00.08, .config am335x_evm_defconfig. - merged v3.2.21 - merged core-3.2 - changed arch/arm/mach-omap2/irq.c omap_intc_handle_irq to call ipipe_handle_multi_irq instead of handle_IRQ. - cnanged arch/arm/mach-omap2/timer.c OMAP_SYS_TIMER_INIT(3_am33xx, like Stephan suggested. With all this, the kernel boots correctly only without the ipipe. With the ipipe it hangs after 1 second during boot .. [ 0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz [ 0.000000] OMAP clocksource: GPTIMER3 at 24000000 Hz [ 0.000000] I-pipe, 24.000 MHz clocksource [ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms [ 0.000000] Interrupt pipeline (release #1) [ 0.000000] Console: colour dummy device 80x30 [ 0.000519] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144) [ 0.119053] pid_max: default: 32768 minimum: 301 [ 0.119208] Security Framework initialized [ 0.119329] Mount-cache hash table entries: 512 ... [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using dummy regulator [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using dummy regulator A printk in __ipipe_tsc_update which prints every 4096 calls shows: Any suggestions how to debug the clocksource? I put a printk in [ 0.996420] Configure Bluetooth Enable pin... [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using dummy regulator [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using dummy regulator [ 82.133193] __ipipe_tsc_update [ 164.071647] __ipipe_tsc_update [ 67.053119] __ipipe_tsc_update [ 148.991560] __ipipe_tsc_update [ 51.973047] __ipipe_tsc_update Something wrong with the clocksource, right? __ipipe_tsc_update is only called at 50Hz. Shouldn't this be called at the 24Mhz? Any suggestions what to check / debug? Henri. > - or you use a patch provided by the original user, which adds this support. > > -- > Gilles. > > _______________________________________________ > Xenomai mailing list > Xenomai@xenomai.org > http://www.xenomai.org/mailman/listinfo/xenomai ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai] ARM kernel issue 2012-10-18 8:21 ` Henri Roosen @ 2012-10-18 9:00 ` Henri Roosen 2012-10-18 9:07 ` Henri Roosen 0 siblings, 1 reply; 7+ messages in thread From: Henri Roosen @ 2012-10-18 9:00 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Stefan Videv, xenomai On Thu, Oct 18, 2012 at 10:21 AM, Henri Roosen <henriroosen@gmail.com> wrote: > On Thu, Oct 18, 2012 at 6:20 AM, Gilles Chanteperdrix > <gilles.chanteperdrix@xenomai.org> wrote: >> On 10/17/2012 11:54 PM, Stefan Videv wrote: >> >>> Uncompressing Linux... done, booting the kernel. >>> [ 0.000000] Initializing cgroup subsys cpuset >>> [ 0.000000] Initializing cgroup subsys cpu >>> [ 0.000000] Linux version 3.2.31-psp24 (stefan@stefan-VirtualBox) >>> (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 Wed Oct 17 >>> 17:09:40 BST 2012 >>> [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), >>> cr=10c53c7d >>> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing >>> instruction cache >>> [ 0.000000] Machine: am335xevm >> >> >> You are trying to run Xenomai on a machine for which the I-pipe patch >> does not contain the support. There is no miracle: >> - either you add that support yourself > > I am currently trying to bring up Xenomai on the AM335x EVM board too. > It seems Stephan from the thread referred to in the post was able to > successfully port Xenomai on the Beaglebone which uses the same chip. > So I'm using a similar approach: > > - kernel sources from > git://arago-project.org/git/projects/linux-am33x.git, tag > v3.2_AM335xPSP_04.06.00.08, .config am335x_evm_defconfig. > - merged v3.2.21 > - merged core-3.2 > - changed arch/arm/mach-omap2/irq.c omap_intc_handle_irq to call > ipipe_handle_multi_irq instead of handle_IRQ. > - cnanged arch/arm/mach-omap2/timer.c OMAP_SYS_TIMER_INIT(3_am33xx, > like Stephan suggested. > > With all this, the kernel boots correctly only without the ipipe. > > With the ipipe it hangs after 1 second during boot > .. > [ 0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz > [ 0.000000] OMAP clocksource: GPTIMER3 at 24000000 Hz > [ 0.000000] I-pipe, 24.000 MHz clocksource > [ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps > every 178956ms > [ 0.000000] Interrupt pipeline (release #1) > [ 0.000000] Console: colour dummy device 80x30 > [ 0.000519] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144) > [ 0.119053] pid_max: default: 32768 minimum: 301 > [ 0.119208] Security Framework initialized > [ 0.119329] Mount-cache hash table entries: 512 > ... > [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using > dummy regulator > [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using > dummy regulator > > A printk in __ipipe_tsc_update which prints every 4096 calls shows: > > Any suggestions how to debug the clocksource? I put a printk in > > [ 0.996420] Configure Bluetooth Enable pin... > [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using > dummy regulator > [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using > dummy regulator > [ 82.133193] __ipipe_tsc_update > [ 164.071647] __ipipe_tsc_update > [ 67.053119] __ipipe_tsc_update > [ 148.991560] __ipipe_tsc_update > [ 51.973047] __ipipe_tsc_update > Forcing clocksource="gp timer" at the kernel commandline makes the board boot with the ipipe enabled. > Something wrong with the clocksource, right? __ipipe_tsc_update is > only called at 50Hz. Shouldn't this be called at the 24Mhz? > Any suggestions what to check / debug? > > Henri. > >> - or you use a patch provided by the original user, which adds this support. >> >> -- >> Gilles. >> >> _______________________________________________ >> Xenomai mailing list >> Xenomai@xenomai.org >> http://www.xenomai.org/mailman/listinfo/xenomai ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai] ARM kernel issue 2012-10-18 9:00 ` Henri Roosen @ 2012-10-18 9:07 ` Henri Roosen 2012-10-18 9:19 ` Gilles Chanteperdrix 2012-10-18 9:47 ` Gilles Chanteperdrix 0 siblings, 2 replies; 7+ messages in thread From: Henri Roosen @ 2012-10-18 9:07 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Stefan Videv, xenomai On Thu, Oct 18, 2012 at 11:00 AM, Henri Roosen <henriroosen@gmail.com> wrote: > On Thu, Oct 18, 2012 at 10:21 AM, Henri Roosen <henriroosen@gmail.com> wrote: >> On Thu, Oct 18, 2012 at 6:20 AM, Gilles Chanteperdrix >> <gilles.chanteperdrix@xenomai.org> wrote: >>> On 10/17/2012 11:54 PM, Stefan Videv wrote: >>> >>>> Uncompressing Linux... done, booting the kernel. >>>> [ 0.000000] Initializing cgroup subsys cpuset >>>> [ 0.000000] Initializing cgroup subsys cpu >>>> [ 0.000000] Linux version 3.2.31-psp24 (stefan@stefan-VirtualBox) >>>> (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 Wed Oct 17 >>>> 17:09:40 BST 2012 >>>> [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), >>>> cr=10c53c7d >>>> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing >>>> instruction cache >>>> [ 0.000000] Machine: am335xevm >>> >>> >>> You are trying to run Xenomai on a machine for which the I-pipe patch >>> does not contain the support. There is no miracle: >>> - either you add that support yourself >> >> I am currently trying to bring up Xenomai on the AM335x EVM board too. >> It seems Stephan from the thread referred to in the post was able to >> successfully port Xenomai on the Beaglebone which uses the same chip. >> So I'm using a similar approach: >> >> - kernel sources from >> git://arago-project.org/git/projects/linux-am33x.git, tag >> v3.2_AM335xPSP_04.06.00.08, .config am335x_evm_defconfig. >> - merged v3.2.21 >> - merged core-3.2 >> - changed arch/arm/mach-omap2/irq.c omap_intc_handle_irq to call >> ipipe_handle_multi_irq instead of handle_IRQ. >> - cnanged arch/arm/mach-omap2/timer.c OMAP_SYS_TIMER_INIT(3_am33xx, >> like Stephan suggested. >> >> With all this, the kernel boots correctly only without the ipipe. >> >> With the ipipe it hangs after 1 second during boot >> .. >> [ 0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz >> [ 0.000000] OMAP clocksource: GPTIMER3 at 24000000 Hz >> [ 0.000000] I-pipe, 24.000 MHz clocksource >> [ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps >> every 178956ms >> [ 0.000000] Interrupt pipeline (release #1) >> [ 0.000000] Console: colour dummy device 80x30 >> [ 0.000519] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144) >> [ 0.119053] pid_max: default: 32768 minimum: 301 >> [ 0.119208] Security Framework initialized >> [ 0.119329] Mount-cache hash table entries: 512 >> ... >> [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using >> dummy regulator >> [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using >> dummy regulator >> >> A printk in __ipipe_tsc_update which prints every 4096 calls shows: >> >> Any suggestions how to debug the clocksource? I put a printk in >> >> [ 0.996420] Configure Bluetooth Enable pin... >> [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using >> dummy regulator >> [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using >> dummy regulator >> [ 82.133193] __ipipe_tsc_update >> [ 164.071647] __ipipe_tsc_update >> [ 67.053119] __ipipe_tsc_update >> [ 148.991560] __ipipe_tsc_update >> [ 51.973047] __ipipe_tsc_update >> > > Forcing clocksource="gp timer" at the kernel commandline makes the > board boot with the ipipe enabled. Ok, the board boots now with clocksource ipipe_tsc. I had to change: OMAP_SYS_TIMER_INIT(3_am33xx, 2, AM33XX_CLKEV_SOURCE, 3, AM33XX_MPU_SOURCE) to OMAP_SYS_TIMER_INIT(3_am33xx, 2, AM33XX_CLKEV_SOURCE, 1, AM33XX_MPU_SOURCE) Can someone explain why / confirm this is correct? Thanks, Henri. > >> Something wrong with the clocksource, right? __ipipe_tsc_update is >> only called at 50Hz. Shouldn't this be called at the 24Mhz? >> Any suggestions what to check / debug? >> >> Henri. >> >>> - or you use a patch provided by the original user, which adds this support. >>> >>> -- >>> Gilles. >>> >>> _______________________________________________ >>> Xenomai mailing list >>> Xenomai@xenomai.org >>> http://www.xenomai.org/mailman/listinfo/xenomai ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai] ARM kernel issue 2012-10-18 9:07 ` Henri Roosen @ 2012-10-18 9:19 ` Gilles Chanteperdrix 2012-10-18 9:47 ` Gilles Chanteperdrix 1 sibling, 0 replies; 7+ messages in thread From: Gilles Chanteperdrix @ 2012-10-18 9:19 UTC (permalink / raw) To: Henri Roosen; +Cc: Stefan Videv, xenomai On 10/18/2012 11:07 AM, Henri Roosen wrote: > On Thu, Oct 18, 2012 at 11:00 AM, Henri Roosen <henriroosen@gmail.com> wrote: >> On Thu, Oct 18, 2012 at 10:21 AM, Henri Roosen <henriroosen@gmail.com> wrote: >>> On Thu, Oct 18, 2012 at 6:20 AM, Gilles Chanteperdrix >>> <gilles.chanteperdrix@xenomai.org> wrote: >>>> On 10/17/2012 11:54 PM, Stefan Videv wrote: >>>> >>>>> Uncompressing Linux... done, booting the kernel. >>>>> [ 0.000000] Initializing cgroup subsys cpuset >>>>> [ 0.000000] Initializing cgroup subsys cpu >>>>> [ 0.000000] Linux version 3.2.31-psp24 (stefan@stefan-VirtualBox) >>>>> (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 Wed Oct 17 >>>>> 17:09:40 BST 2012 >>>>> [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), >>>>> cr=10c53c7d >>>>> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing >>>>> instruction cache >>>>> [ 0.000000] Machine: am335xevm >>>> >>>> >>>> You are trying to run Xenomai on a machine for which the I-pipe patch >>>> does not contain the support. There is no miracle: >>>> - either you add that support yourself >>> >>> I am currently trying to bring up Xenomai on the AM335x EVM board too. >>> It seems Stephan from the thread referred to in the post was able to >>> successfully port Xenomai on the Beaglebone which uses the same chip. >>> So I'm using a similar approach: >>> >>> - kernel sources from >>> git://arago-project.org/git/projects/linux-am33x.git, tag >>> v3.2_AM335xPSP_04.06.00.08, .config am335x_evm_defconfig. >>> - merged v3.2.21 >>> - merged core-3.2 >>> - changed arch/arm/mach-omap2/irq.c omap_intc_handle_irq to call >>> ipipe_handle_multi_irq instead of handle_IRQ. >>> - cnanged arch/arm/mach-omap2/timer.c OMAP_SYS_TIMER_INIT(3_am33xx, >>> like Stephan suggested. >>> >>> With all this, the kernel boots correctly only without the ipipe. >>> >>> With the ipipe it hangs after 1 second during boot >>> .. >>> [ 0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz >>> [ 0.000000] OMAP clocksource: GPTIMER3 at 24000000 Hz >>> [ 0.000000] I-pipe, 24.000 MHz clocksource >>> [ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps >>> every 178956ms >>> [ 0.000000] Interrupt pipeline (release #1) >>> [ 0.000000] Console: colour dummy device 80x30 >>> [ 0.000519] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144) >>> [ 0.119053] pid_max: default: 32768 minimum: 301 >>> [ 0.119208] Security Framework initialized >>> [ 0.119329] Mount-cache hash table entries: 512 >>> ... >>> [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using >>> dummy regulator >>> [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using >>> dummy regulator >>> >>> A printk in __ipipe_tsc_update which prints every 4096 calls shows: >>> >>> Any suggestions how to debug the clocksource? I put a printk in >>> >>> [ 0.996420] Configure Bluetooth Enable pin... >>> [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using >>> dummy regulator >>> [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using >>> dummy regulator >>> [ 82.133193] __ipipe_tsc_update >>> [ 164.071647] __ipipe_tsc_update >>> [ 67.053119] __ipipe_tsc_update >>> [ 148.991560] __ipipe_tsc_update >>> [ 51.973047] __ipipe_tsc_update >>> >> >> Forcing clocksource="gp timer" at the kernel commandline makes the >> board boot with the ipipe enabled. > > Ok, the board boots now with clocksource ipipe_tsc. I had to change: > > OMAP_SYS_TIMER_INIT(3_am33xx, 2, AM33XX_CLKEV_SOURCE, 3, AM33XX_MPU_SOURCE) > to > OMAP_SYS_TIMER_INIT(3_am33xx, 2, AM33XX_CLKEV_SOURCE, 1, AM33XX_MPU_SOURCE) > > Can someone explain why / confirm this is correct? OMAP4 has the same issue, there is probably some code missing in the kernel to correctly start GP Timer3, like the PRCM programming, clock management, or selection. This has nothing to do with xenomai. -- Gilles. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai] ARM kernel issue 2012-10-18 9:07 ` Henri Roosen 2012-10-18 9:19 ` Gilles Chanteperdrix @ 2012-10-18 9:47 ` Gilles Chanteperdrix 1 sibling, 0 replies; 7+ messages in thread From: Gilles Chanteperdrix @ 2012-10-18 9:47 UTC (permalink / raw) To: Henri Roosen; +Cc: Stefan Videv, xenomai On 10/18/2012 11:07 AM, Henri Roosen wrote: > On Thu, Oct 18, 2012 at 11:00 AM, Henri Roosen <henriroosen@gmail.com> wrote: >> On Thu, Oct 18, 2012 at 10:21 AM, Henri Roosen <henriroosen@gmail.com> wrote: >>> On Thu, Oct 18, 2012 at 6:20 AM, Gilles Chanteperdrix >>> <gilles.chanteperdrix@xenomai.org> wrote: >>>> On 10/17/2012 11:54 PM, Stefan Videv wrote: >>>> >>>>> Uncompressing Linux... done, booting the kernel. >>>>> [ 0.000000] Initializing cgroup subsys cpuset >>>>> [ 0.000000] Initializing cgroup subsys cpu >>>>> [ 0.000000] Linux version 3.2.31-psp24 (stefan@stefan-VirtualBox) >>>>> (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 Wed Oct 17 >>>>> 17:09:40 BST 2012 >>>>> [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), >>>>> cr=10c53c7d >>>>> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing >>>>> instruction cache >>>>> [ 0.000000] Machine: am335xevm >>>> >>>> >>>> You are trying to run Xenomai on a machine for which the I-pipe patch >>>> does not contain the support. There is no miracle: >>>> - either you add that support yourself >>> >>> I am currently trying to bring up Xenomai on the AM335x EVM board too. >>> It seems Stephan from the thread referred to in the post was able to >>> successfully port Xenomai on the Beaglebone which uses the same chip. >>> So I'm using a similar approach: >>> >>> - kernel sources from >>> git://arago-project.org/git/projects/linux-am33x.git, tag >>> v3.2_AM335xPSP_04.06.00.08, .config am335x_evm_defconfig. >>> - merged v3.2.21 >>> - merged core-3.2 >>> - changed arch/arm/mach-omap2/irq.c omap_intc_handle_irq to call >>> ipipe_handle_multi_irq instead of handle_IRQ. >>> - cnanged arch/arm/mach-omap2/timer.c OMAP_SYS_TIMER_INIT(3_am33xx, >>> like Stephan suggested. >>> >>> With all this, the kernel boots correctly only without the ipipe. >>> >>> With the ipipe it hangs after 1 second during boot >>> .. >>> [ 0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz >>> [ 0.000000] OMAP clocksource: GPTIMER3 at 24000000 Hz >>> [ 0.000000] I-pipe, 24.000 MHz clocksource >>> [ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps >>> every 178956ms >>> [ 0.000000] Interrupt pipeline (release #1) >>> [ 0.000000] Console: colour dummy device 80x30 >>> [ 0.000519] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144) >>> [ 0.119053] pid_max: default: 32768 minimum: 301 >>> [ 0.119208] Security Framework initialized >>> [ 0.119329] Mount-cache hash table entries: 512 >>> ... >>> [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using >>> dummy regulator >>> [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using >>> dummy regulator >>> >>> A printk in __ipipe_tsc_update which prints every 4096 calls shows: >>> >>> Any suggestions how to debug the clocksource? I put a printk in >>> >>> [ 0.996420] Configure Bluetooth Enable pin... >>> [ 1.002498] _regulator_get: 2-0018 supply Vdd not found, using >>> dummy regulator >>> [ 1.010148] _regulator_get: 2-0018 supply Vdd_IO not found, using >>> dummy regulator >>> [ 82.133193] __ipipe_tsc_update >>> [ 164.071647] __ipipe_tsc_update >>> [ 67.053119] __ipipe_tsc_update >>> [ 148.991560] __ipipe_tsc_update >>> [ 51.973047] __ipipe_tsc_update >>> >> >> Forcing clocksource="gp timer" at the kernel commandline makes the >> board boot with the ipipe enabled. > > Ok, the board boots now with clocksource ipipe_tsc. I had to change: > > OMAP_SYS_TIMER_INIT(3_am33xx, 2, AM33XX_CLKEV_SOURCE, 3, AM33XX_MPU_SOURCE) > to > OMAP_SYS_TIMER_INIT(3_am33xx, 2, AM33XX_CLKEV_SOURCE, 1, AM33XX_MPU_SOURCE) > > Can someone explain why / confirm this is correct? By the way, it is probably better to use GP timer 1 as clock event than as clock source as it has a higher latency (at least on OMAP3), this is the reason why we try and avoid using it. -- Gilles. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-10-18 9:47 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <mailman.1.1350468001.6812.xenomai@xenomai.org>
2012-10-17 21:54 ` [Xenomai] ARM kernel issue Stefan Videv
2012-10-18 4:20 ` Gilles Chanteperdrix
2012-10-18 8:21 ` Henri Roosen
2012-10-18 9:00 ` Henri Roosen
2012-10-18 9:07 ` Henri Roosen
2012-10-18 9:19 ` Gilles Chanteperdrix
2012-10-18 9:47 ` 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.