* Vexpress config @ 2013-09-14 11:15 melwyn lobo 2013-09-15 13:40 ` melwyn lobo 0 siblings, 1 reply; 8+ messages in thread From: melwyn lobo @ 2013-09-14 11:15 UTC (permalink / raw) To: linux-arm-kernel Hi, I need to compile a kernel for ARM RTSM based on Cortex-A9 (single core), RTSM_VE_Cortex-A9x1, device. Which defconfig should I use ? I think that vexpress_defconfig is for A quad core A9 based Vexpress platform. Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
* Vexpress config 2013-09-14 11:15 Vexpress config melwyn lobo @ 2013-09-15 13:40 ` melwyn lobo 2013-09-16 9:25 ` Pawel Moll 0 siblings, 1 reply; 8+ messages in thread From: melwyn lobo @ 2013-09-15 13:40 UTC (permalink / raw) To: linux-arm-kernel To better clarify the issue. When I boot a single core Cortex-A9 RTSM with vexpress_defconfig compiled kernel and kernel command line as 1. "earlyprintk console=ttyAMA0,38400n8 mem=512M maxcpus=1" 2. "earlyprintk console=ttyAMA0,38400n8 mem=512M maxcpus=0" 3. "earlyprintk console=ttyAMA0,38400n8 mem=512M nosmp" 4. "earlyprintk console=ttyAMA0,38400n8 mem=512M" the kernel throws an OOPS error: Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0x0 Initializing cgroup subsys cpuset Linux version 3.10.9 (m.lobo at mcbdhost-Dataserver) (gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-24) ) #8 Fri Sep 13 10:43:53 KST 2013 CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: ARM-Versatile Express Truncating memory at 0x80000000 to fit in 32-bit physical address space bootconsole [earlycon0] enabled Memory policy: ECC disabled, Data cache writeback CPU: All CPU(s) started in SVC mode. sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048 Kernel command line: earlyprintk console=ttyAMA0,38400n8 mem=512M PID hash table entries: 2048 (order: 1, 8192 bytes) Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 512MB = 512MB total Memory: 507668k/507668k available, 16620k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xa0800000 - 0xff000000 (1512 MB) lowmem : 0x80000000 - 0xa0000000 ( 512 MB) modules : 0x7f000000 - 0x80000000 ( 16 MB) .text : 0x80008000 - 0x80453bd0 (4399 kB) .init : 0x80454000 - 0x8047bafc ( 159 kB) .data : 0x8047c000 - 0x804a45e0 ( 162 kB) .bss : 0x804a45e0 - 0x804c4b10 ( 130 kB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:16 nr_irqs:16 16 Unhandled fault: external abort on non-linefetch (0x1008) at 0xf8201004 Internal error: : 1008 [#1] ARM Modules lin ked in: CPU: 0 PID: 0 Comm: swapper Not tainted 3.10.9 #8 task: 804862b8 ti: 8047c000 task.ti: 8047c000 PC is at gic_init_bases+0x98/0x320 LR is at 0xffffffff pc : [] lr : [] psr: 000001d3 sp : 8047df88 ip : 804843b0 fp : 00000000 r10: 00000000 r9 : 413fc090 r8 : 00000010 r7 : f8200100 r6 : 00000000 r5 : 00000010 r4 : f8201000 r3 : 00000000 r2 : f820 1000 r1 : 0000001d r0 : 00000000 Flags: nzcv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel Control: 10c53c7d Table: 80004059 DAC: 00000015 Process swapper (pid: 0, stack limit = 0x8047c230) Stack: (0x8047df88 to 0x8047e000) df80: 8045acb0 9f804780 f8201000 80473300 ffffffff 808c60c0 dfa0: 80004059 8045acd0 00000000 00000000 804a4600 8045a808 8045a7f0 804563c8 dfc0: 00000000 804548cc ffffffff ffffffff 804544f0 00000000 00000000 80473300 dfe0: 00000000 10c5 3c7d 80484028 804732fc 8048705c 80008070 00000000 00000000 [] (gic_init_bases+0x98/0x320) from [] (ct_ca9x4_init_irq+0x54/0x5c)[] (ct_ca9x4_init_irq+0x54/0x5c) from [] (v2m_init_irq+0x18/0x1c) [] (v2m_init_irq+0x18/0x1c) from [] (init_IRQ+0x28/0x2c) [] (init_IRQ+0x28/0x2c) from [] (start_kernel+0x1a4/0x2ec) [] (start_kernel+0x1a4/0x2ec) from [] (0x80008070) Code: 13c5501f 13a08010 10855008 03a08010 (e5942004) ---[ end trace 1b75b31a2719ed1c ]--- Kernel panic - not syncing: Attempted to kill the idle task! Appreciate any pointers. Thanks On Sat, Sep 14, 2013 at 8:15 PM, melwyn lobo <linux.melwyn@gmail.com> wrote: > Hi, > I need to compile a kernel for ARM RTSM based on Cortex-A9 (single > core), RTSM_VE_Cortex-A9x1, device. Which defconfig should I use ? > I think that vexpress_defconfig is for A quad core A9 based Vexpress platform. > > Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
* Vexpress config 2013-09-15 13:40 ` melwyn lobo @ 2013-09-16 9:25 ` Pawel Moll 2013-09-16 9:28 ` Pawel Moll 2013-09-19 14:28 ` melwyn lobo 0 siblings, 2 replies; 8+ messages in thread From: Pawel Moll @ 2013-09-16 9:25 UTC (permalink / raw) To: linux-arm-kernel On Sun, 2013-09-15 at 14:40 +0100, melwyn lobo wrote: > To better clarify the issue. When I boot a single core Cortex-A9 RTSM > with vexpress_defconfig compiled kernel and kernel command line as > 1. "earlyprintk console=ttyAMA0,38400n8 mem=512M maxcpus=1" > 2. "earlyprintk console=ttyAMA0,38400n8 mem=512M maxcpus=0" > 3. "earlyprintk console=ttyAMA0,38400n8 mem=512M nosmp" > 4. "earlyprintk console=ttyAMA0,38400n8 mem=512M" > the kernel throws an OOPS error: > > Uncompressing Linux... done, booting the kernel. > > Booting Linux on physical CPU 0x0 > Initializing cgroup subsys cpuset > Linux version 3.10.9 (m.lobo at mcbdhost-Dataserver) (gcc version 4.7.3 > (Sourcery CodeBench Lite 2013.05-24) ) #8 Fri Sep 13 10:43:53 KST 2013 > CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d > CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache > Machine: ARM-Versatile Express The Cortex-A9 RTSM is not an equivalent of the V2P-CA9 CoreTile, so you have to boot your kernel with a relevant Device Tree. You'll find them here: http://linux-arm.org/git?p=arm-dts.git;a=tree;f=fast_models Now, the question is how do you actually boot the kernel? Can you cope with the DTB? Linaro's boot wrapper https://git.linaro.org/gitweb?p=arm/models/boot-wrapper.git can handle DTBs, however you'll need some extra patches to get it working on A9. Contact its maintainer (peter.maydel at linaro.org) if you were planning to use it. Good luck! Pawel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Vexpress config 2013-09-16 9:25 ` Pawel Moll @ 2013-09-16 9:28 ` Pawel Moll 2013-09-19 14:28 ` melwyn lobo 1 sibling, 0 replies; 8+ messages in thread From: Pawel Moll @ 2013-09-16 9:28 UTC (permalink / raw) To: linux-arm-kernel On Mon, 2013-09-16 at 10:25 +0100, Pawel Moll wrote: > (peter.maydel at linaro.org) Should be: peter.maydell at linaro.org ^ permalink raw reply [flat|nested] 8+ messages in thread
* Vexpress config 2013-09-16 9:25 ` Pawel Moll 2013-09-16 9:28 ` Pawel Moll @ 2013-09-19 14:28 ` melwyn lobo 2013-09-19 14:38 ` Pawel Moll 1 sibling, 1 reply; 8+ messages in thread From: melwyn lobo @ 2013-09-19 14:28 UTC (permalink / raw) To: linux-arm-kernel > > The Cortex-A9 RTSM is not an equivalent of the V2P-CA9 CoreTile, so you > have to boot your kernel with a relevant Device Tree. You'll find them > here: http://linux-arm.org/git?p=arm-dts.git;a=tree;f=fast_models > You are right. I have a coretile V2P-CA9 with PERIHPBASE at 0x2c000000 whch does not match that of the kernel. Also other addresses in the Model's memory map also seem to be way off from the kernel defintions. (like the timer, wtachdog, clcd etc) The model is downloaded from ARM Fast model suite, should be 2013 release version . Where do I find patches to boot ARM's fast model (either of Coretile V2p CA9x4 or CA15x4). I tried looking at linaro's releases site : http://releases.linaro.org/13.08/android/vexpress Even Linaro's released kernel sources have a memory map similar to the open source one. CC: Peter Maydell <peter.maydell@linaro.org> Any pointers ? > Now, the question is how do you actually boot the kernel? Can you cope > with the DTB? Linaro's boot wrapper > https://git.linaro.org/gitweb?p=arm/models/boot-wrapper.git can handle > DTBs, however you'll need some extra patches to get it working on A9. > Contact its maintainer (peter.maydel at linaro.org) if you were planning to > use it. > > Good luck! > > Pawel > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Vexpress config 2013-09-19 14:28 ` melwyn lobo @ 2013-09-19 14:38 ` Pawel Moll 2013-09-22 10:07 ` melwyn lobo 0 siblings, 1 reply; 8+ messages in thread From: Pawel Moll @ 2013-09-19 14:38 UTC (permalink / raw) To: linux-arm-kernel On Thu, 2013-09-19 at 15:28 +0100, melwyn lobo wrote: > You are right. I have a coretile V2P-CA9 with PERIHPBASE at 0x2c000000 > whch does not match that of the kernel. > Also other addresses in the Model's memory map also seem to be way off > from the kernel defintions. (like the timer, wtachdog, clcd etc) > The model is downloaded from ARM Fast model suite, should be 2013 > release version . > Where do I find patches to boot ARM's fast model (either of Coretile > V2p CA9x4 or CA15x4). I tried looking at linaro's releases site : > http://releases.linaro.org/13.08/android/vexpress You won't find any extra patches. The addresses you see in arch/arm/mach-vexpress are not used for anything else but the V2P-CA9. All new core tiles (I'm talking real hardware here, an I can assure you it works) are defined in relevant device trees. You'll find a collection of those for *hardware* platforms in the kernel as well, look at arch/arm/boot/dts/vexpress* If you want to boot RTSM_VE_Cortex-A15x4, you should be able to simply use the boot wrapper I've mentioned without any change. The extra patches are required only for A5 & A9 models. All you need is to get yourself a correct DTB: http://linux-arm.org/git?p=arm-dts.git;a=blob_plain;f=fast_models/rtsm_ve-cortex_a15x4.dts compile it: dtc -I dts -O dtb rtsm_ve-cortex_a15x4.dts -o rtsm_ve-cortex_a15x4.dtb and pass it to the boot wrapper, following its README file. Pawe? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Vexpress config 2013-09-19 14:38 ` Pawel Moll @ 2013-09-22 10:07 ` melwyn lobo 2013-09-24 10:17 ` Pawel Moll 0 siblings, 1 reply; 8+ messages in thread From: melwyn lobo @ 2013-09-22 10:07 UTC (permalink / raw) To: linux-arm-kernel On Thu, Sep 19, 2013 at 11:38 PM, Pawel Moll <pawel.moll@arm.com> wrote: > You won't find any extra patches. The addresses you see in > arch/arm/mach-vexpress are not used for anything else but the V2P-CA9. > All new core tiles (I'm talking real hardware here, an I can assure you > it works) are defined in relevant device trees. You'll find a collection > of those for *hardware* platforms in the kernel as well, look at > arch/arm/boot/dts/vexpress* > > If you want to boot RTSM_VE_Cortex-A15x4, you should be able to simply > use the boot wrapper I've mentioned without any change. The extra > patches are required only for A5 & A9 models. All you need is to get > yourself a correct DTB: > > http://linux-arm.org/git?p=arm-dts.git;a=blob_plain;f=fast_models/rtsm_ve-cortex_a15x4.dts > > compile it: > > dtc -I dts -O dtb rtsm_ve-cortex_a15x4.dts -o rtsm_ve-cortex_a15x4.dtb > > and pass it to the boot wrapper, following its README file. > > Pawe? > > Thanks !!!! The CA15x14 fast model works. I can finally get some kernel prints. There are however two things which fail and I need clarified: 1. ARM pl11x CLCD driver fails (only clcd, whereas other peripherals initialization is OK) : clcd-pl11x: probe of 1c1f0000.clcd failed with error -22 On running prebuilt images from linaro releases site, they work just fine on CA15x4 with four clean TUX logos on the simulated CLCD screen. 2. I don't have an initrd which boot till shell prompt. It could just be a problem with my image but I would really like to have a clean working initrd to start with. (Don't want to use Linaro's becuase they boot till Android home screen) Really will appreciate any inputs. Thanks, M. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Vexpress config 2013-09-22 10:07 ` melwyn lobo @ 2013-09-24 10:17 ` Pawel Moll 0 siblings, 0 replies; 8+ messages in thread From: Pawel Moll @ 2013-09-24 10:17 UTC (permalink / raw) To: linux-arm-kernel On Sun, 2013-09-22 at 11:07 +0100, melwyn lobo wrote: > 1. ARM pl11x CLCD driver fails (only clcd, whereas other peripherals > initialization is OK) : > > clcd-pl11x: probe of 1c1f0000.clcd failed with error -22 > > On running prebuilt images from linaro releases site, they work just > fine on CA15x4 with four clean TUX logos on the simulated CLCD screen. This is - unfortunately - expected. The CLCD driver in main line does not speak Device Tree yet. Linaro kernels carry some early version of patches changing that. The latest version is being discussed here: http://thread.gmane.org/gmane.linux.drivers.devicetree/44721 > 2. I don't have an initrd which boot till shell prompt. It could just > be a problem with my image but I would really like to have a clean > working initrd to start with. (Don't want to use Linaro's becuase they > boot till Android home screen) No offence meant, but this is already your problem ;-) Definitely nothing to do with Versatile Express. Pawe? ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-09-24 10:17 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-09-14 11:15 Vexpress config melwyn lobo 2013-09-15 13:40 ` melwyn lobo 2013-09-16 9:25 ` Pawel Moll 2013-09-16 9:28 ` Pawel Moll 2013-09-19 14:28 ` melwyn lobo 2013-09-19 14:38 ` Pawel Moll 2013-09-22 10:07 ` melwyn lobo 2013-09-24 10:17 ` Pawel Moll
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).