[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Embedded-pv-devel] Xen bring up on TI DRA7xxx (J6) EVM



Hi Andril,

I modified the load addresses for zImage and dtb files and now I am stuck at power domain init.
Here's the log -

Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000080000000 - 00000000dfffffff
(XEN)
(XEN) MODULE[0]: 000000008ffe6000 - 000000008fffd000 Device TreeÂ
(XEN) MODULE[1]: 00000000c0800000 - 00000000c0cb0000 KernelÂÂÂÂÂÂ
(XEN)Â RESVD[0]: 00000000c25f0000 - 00000000c2607000
(XEN)Â RESVD[1]: 000000008ffe6000 - 000000008fffd000
(XEN)
(XEN) Command line: dom0_mem=1G sync_console console=dtuart dtuart=serial0
(XEN) Placing Xen at 0x00000000dfe00000-0x00000000e0000000
(XEN) Update BOOTMOD_XEN from 0000000080200000-00000000802f1701 => 00000000dfe00000-00000000dfef1701
(XEN) Xen heap: 00000000da000000-00000000de000000 (16384 pages)
(XEN) Dom heap: 376832 pages
(XEN) Domain heap initialised
(XEN) Looking for UART console serial0
ÂXen 4.5.1-rc1
(XEN) Xen version 4.5.1-rc1 (akshay@) (arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) 4.7.3 20130226 (prerelease)) debug=y Thu May 21 10:04:40 IST 2015
(XEN) Latest ChangeSet: Mon May 18 16:18:42 2015 +0200 git:0c4e0ef
(XEN) Console output is synchronous.
(XEN) Processor: 412fc0f2: "ARM Limited", variant: 0x2, part 0xc0f, rev 0x2
(XEN) 32-bit Execution:
(XEN)ÂÂ Processor Features: 00001131:00011011
(XEN)ÂÂÂÂ Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)ÂÂÂÂ Extensions: GenericTimer Security
(XEN)ÂÂ Debug Features: 02010555
(XEN)ÂÂ Auxiliary Features: 00000000
(XEN)ÂÂ Memory Model Features: 10201105 20000000 01240000 02102211
(XEN)Â ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Platform: TI DRA7
(XEN) /psci method must be smc, but is: "hvc"
(XEN) Set AuxCoreBoot1 to 00000000dfe0004c (0020004c)
(XEN) Set AuxCoreBoot0 to 0x20
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27
(XEN) Using generic timer at 6144 KHz
(XEN) GICv2 initialization:
(XEN)ÂÂÂÂÂÂÂÂ gic_dist_addr=0000000048211000
(XEN)ÂÂÂÂÂÂÂÂ gic_cpu_addr=0000000048212000
(XEN)ÂÂÂÂÂÂÂÂ gic_hyp_addr=0000000048214000
(XEN)ÂÂÂÂÂÂÂÂ gic_vcpu_addr=0000000048216000
(XEN)ÂÂÂÂÂÂÂÂ gic_maintenance_irq=25
(XEN) GICv2: 192 lines, 2 cpus, secure (IID 0000043b).
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) I/O virtualisation disabled
(XEN) Allocated console ring of 16 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
- CPU 00000001 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 1 booted.
(XEN) Brought up 2 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 00000000c0800000
(XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
(XEN) BANK[0] 0x00000080000000-0x00000088000000 (128MB)
(XEN) BANK[1] 0x00000090000000-0x000000c0000000 (768MB)
(XEN) BANK[2] 0x000000c8000000-0x000000d0000000 (128MB)
(XEN) Loading zImage from 00000000c0800000 to 0000000087a00000-0000000087eaa158
(XEN) Loading dom0 DTB to 0x0000000087800000-0x0000000087815914
(XEN) Scrubbing Free RAM on 1 nodes using 2 CPUs
(XEN) ......done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1...
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 252kB init memory.
Booting Linux on physical CPU 0x0
Linux version 3.12.25-28678-gbe43a19-dirty (akshay@akshay-desktop) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #9 SMP PREEMPT Fri May 22 18:19:32 IST 2015
CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
Machine: Jacinto6 evm board, model: TI DRA7
debug: ignoring loglevel setting.
cma: CMA: reserved 64 MiB at 99000000
cma: CMA: reserved 56 MiB at 95800000
cma: CMA: reserved 8 MiB at 9f000000
cma: CMA: reserved 32 MiB at 9d000000
cma: CMA: reserved 24 MiB at ae000000
Memory policy: ECC disabled, Data cache writealloc
OMAP4: Map 0xcfe00000 to 0xfe600000 for dram barrier
On node 0 totalpages: 260608
free_area_init_node: node 0, pgdat c099a880, node_mem_map c09de000
 Normal zone: 1520 pages used for memmap
 Normal zone: 0 pages reserved
 Normal zone: 160768 pages, LIFO batch:31
 HighMem zone: 1040 pages used for memmap
 HighMem zone: 99840 pages, LIFO batch:31
psci: probing function IDs from device-tree
Unhandled fault: terminal exception (0x002) at 0xfa243404
Internal error: : 2 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.25-28678-gbe43a19-dirty #9
task: c091efa0 ti: c0914000 task.ti: c0914000
PC is at omap4_prminst_read_inst_reg+0x28/0x40
LR is at omap4_pwrdm_wait_transition+0x48/0x7c
pc : [<c0039b80>]ÂÂÂ lr : [<c0031788>]ÂÂÂ psr: a00001d3
sp : c0915ee0Â ip : c0915ef0Â fp : c0915eec
r10: 00000000Â r9 : c095f218Â r8 : 00000001
r7 : c0966200Â r6 : 000186a1Â r5 : c0929608Â r4 : 00000001
r3 : fa243000Â r2 : fa243404Â r1 : 00000400Â r0 : 00000005
Flags: NzCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
Control: 10c5387d Table: 8000406a DAC: 00000015
Process swapper (pid: 0, stack limit = 0xc0914248)
Stack: (0xc0915ee0 to 0xc0916000)
5ee0: c0915f0c c0915ef0 c0031788 c0039b64 c0929608 c0923aa0 c090166c c099de24
5f00: c0915f34 c0915f10 c003aff0 c003174c 2f800000 c091c4a4 c08f7c10 00000002
5f20: c091c534 c091fe94 c0915f44 c0915f38 c08c9e58 c003aecc c0915f54 c0915f48
5f40: c08c1c3c c08c9e48 c0915fb4 c0915f58 c08bc60c c08c1bdc c0915f60 c0915f68
5f60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001
5f80: 00000000 00000000 c07e15e4 00000001 c099c1c0 00000000 ffffffff bfffffff
5fa0: 412fc0f2 00000000 c0915ff4 c0915fb8 c08b88b0 c08bbd98 00000000 00000000
5fc0: 00000000 00000000 00000000 c08f9cb8 00000000 10c5387d c091c494 c08f9cb4
5fe0: c091ff9c 8000406a 00000000 c0915ff8 80008074 c08b8840 00000000 00000000
Backtrace:
[<c0039b58>] (omap4_prminst_read_inst_reg+0x0/0x40) from [<c0031788>] (omap4_pwrdm_wait_transition+0x48/0x7c)
[<c0031740>] (omap4_pwrdm_wait_transition+0x0/0x7c) from [<c003aff0>] (pwrdm_register_pwrdms+0x130/0x198)
Âr7:c099de24 r6:c090166c r5:c0923aa0 r4:c0929608
[<c003aec0>] (pwrdm_register_pwrdms+0x0/0x198) from [<c08c9e58>] (dra7xx_powerdomains_init+0x1c/0x2c)
[<c08c9e3c>] (dra7xx_powerdomains_init+0x0/0x2c) from [<c08c1c3c>] (dra7xx_init_early+0x6c/0x90)
[<c08c1bd0>] (dra7xx_init_early+0x0/0x90) from [<c08bc60c>] (setup_arch+0x880/0x960)
[<c08bbd8c>] (setup_arch+0x0/0x960) from [<c08b88b0>] (start_kernel+0x7c/0x310)
[<c08b8834>] (start_kernel+0x0/0x310) from [<80008074>] (0x80008074)
Âr8:8000406a r7:c091ff9c r6:c08f9cb4 r5:c091c494 r4:10c5387d
Code: e59f301c e7933100 e3530000 0a000003 (e0822001)
---[ end trace 1b75b31a2719ed1c ]---
Kernel panic - not syncing: Attempted to kill the idle task!

When I investigated further I found that the crash happens in CPU0 and CPU1 power domain registrations. So I just skipped the registration of these two modules and encountered another crash during IRQ initialization. Here is the latest log -

(XEN) 3... 2... 1...
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 252kB init memory.
Booting Linux on physical CPU 0x0
Linux version 3.12.25-28678-gbe43a19-dirty (akshay@akshay-desktop) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #13 SMP PREEMPT Mon May 25 12:44:25 IST 2015
CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
Machine: Jacinto6 evm board, model: TI DRA7
debug: ignoring loglevel setting.
cma: CMA: reserved 64 MiB at 99000000
cma: CMA: reserved 56 MiB at 95800000
cma: CMA: reserved 8 MiB at 9f000000
cma: CMA: reserved 32 MiB at 9d000000
cma: CMA: reserved 24 MiB at ae000000
Memory policy: ECC disabled, Data cache writealloc
OMAP4: Map 0xcfe00000 to 0xfe600000 for dram barrier
On node 0 totalpages: 260608
free_area_init_node: node 0, pgdat c09732c0, node_mem_map c09b5000
 Normal zone: 1520 pages used for memmap
 Normal zone: 0 pages reserved
 Normal zone: 160768 pages, LIFO batch:31
 HighMem zone: 1040 pages used for memmap
 HighMem zone: 99840 pages, LIFO batch:31
psci: probing function IDs from device-tree
clockdomain: mpu0_clkdm: powerdomain cpu0_pwrdm does not exist
clockdomain: mpu1_clkdm: powerdomain cpu1_pwrdm does not exist

PERCPU: Embedded 8 pages/cpu @c13e3000 s8704 r8192 d15872 u32768
pcpu-alloc: s8704 r8192 d15872 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 259088
Kernel command line: console=hvc0 earlyprintk=xen debug ignore_loglevel root=/dev/mmcblk0p2 rw rootwait fixrtc
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: 834380K/1042432K available (6539K kernel code, 530K rwdata, 2220K rodata, 352K init, 253K bss, 208052K reserved, 399360K highmem)
Virtual kernel memory layout:
 vector : 0xffff0000 - 0xffff1000 ( 4 kB)
 fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
ÂÂÂ vmalloc : 0xf0000000 - 0xff000000ÂÂ ( 240 MB)
 lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
ÂÂÂ pkmapÂÂ : 0xbfe00000 - 0xc0000000ÂÂ (ÂÂ 2 MB)
ÂÂÂ modules : 0xbf000000 - 0xbfe00000ÂÂ (Â 14 MB)
ÂÂÂÂÂ .text : 0xc0008000 - 0xc08960acÂÂ (8761 kB)
ÂÂÂÂÂ .init : 0xc0897000 - 0xc08ef200ÂÂ ( 353 kB)
ÂÂÂÂÂ .data : 0xc08f0000 - 0xc0974ba8ÂÂ ( 531 kB)
ÂÂÂÂÂÂ .bss : 0xc0974bb4 - 0xc09b403cÂÂ ( 254 kB)
Preemptible hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
Unhandled fault: terminal exception (0x002) at 0xfa281010
Internal error: : 2 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.12.25-28678-gbe43a19-dirty #13
task: c08faa20 ti: c08f0000 task.ti: c08f0000
PC is at omap_wakeupgen_init+0xe8/0x1d8
LR is at 0xc0976240
pc : [<c08a62fc>]ÂÂÂ lr : [<c0976240>]ÂÂÂ psr: 800001d3
sp : c08f1f78 ip : c08fdcec fp : c08f1f94
r10: 00000000Â r9 : 412fc0f2Â r8 : c13e00c0
r7 : c08fdcec r6 : 00000000 r5 : 00000000 r4 : 00000000
r3 : 00000000Â r2 : 00000000Â r1 : fa281000Â r0 : fa281010
Flags: Nzcv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
Control: 10c5387d Table: 8000406a DAC: 00000015
Process swapper/0 (pid: 0, stack limit = 0xc08f0248)
Stack: (0xc08f1f78 to 0xc08f2000)
1f60:ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 00000001 c0974bc0
1f80: c08d7398 ffffffff c08f1fa4 c08f1f98 c08a61b4 c08a6220 c08f1fb4 c08f1fa8
1fa0: c089a6ec c08a6138 c08f1ff4 c08f1fb8 c08979d0 c089a6cc ffffffff ffffffff
1fc0: c08975d0 00000000 00000000 c08d7398 00000000 10c5387d c08f8494 c08d7394
1fe0: c08fba14 8000406a 00000000 c08f1ff8 80008074 c0897840 00000000 00000000
Backtrace:
[<c08a6214>] (omap_wakeupgen_init+0x0/0x1d8) from [<c08a61b4>] (omap_gic_of_init+0x88/0xa0)
Âr7:ffffffff r6:c08d7398 r5:c0974bc0 r4:00000001
[<c08a612c>] (omap_gic_of_init+0x0/0xa0) from [<c089a6ec>] (init_IRQ+0x2c/0x34)
[<c089a6c0>] (init_IRQ+0x0/0x34) from [<c08979d0>] (start_kernel+0x19c/0x310)
[<c0897834>] (start_kernel+0x0/0x310) from [<80008074>] (0x80008074)
Âr8:8000406a r7:c08fba14 r6:c08d7394 r5:c08f8494 r4:10c5387d
Code: e1a06003 e59fc0dc e59fe0d4 ea000008 (e59e1384)
---[ end trace 1b75b31a2719ed1c ]---
Kernel panic - not syncing: Attempted to kill the idle task!

I am not sure if I am going in the right direction. Please let me know if any change needed in dts file or kernel config (specifically for Xen Dom0 booting) to fix these issues.

Thanks,
Akshay

On Fri, May 22, 2015 at 8:49 PM, Andrii Anisov <andrii.anisov@xxxxxxxxxxxxxxx> wrote:
Get back to the list and interested persons with my answer.


On Fri, May 22, 2015 at 6:11 PM, Andrii Anisov
<andrii.anisov@xxxxxxxxxxxxxxx> wrote:
> Akshay,
>
> Your dom0 has 128M memory:
>>
>> (XEN) Allocating 1:1 mappings totalling 128MB for dom0:
>> (XEN) BANK[0] 0x000000a8000000-0x000000b0000000 (128MB)
>
>
> And it seems needed mem reserves do not fit available for that domain memory
> range.
> Actually running the DRA7xx EVM software under XEN with all features needs
> booting modules and reserves beeing tossed in order to provide needed ranges
> to 1:1 mapped Dom0. Take in account these lines:
>
>>
>> (XEN) MODULE[0]: 000000008ffe6000 - 000000008fffd000 Device Tree
>> (XEN) MODULE[1]: 00000000a0000000 - 00000000a04b0000 Kernel
>> (XEN)Â RESVD[0]: 00000000825f0000 - 0000000082607000
>> (XEN)Â RESVD[1]: 000000008ffe6000 - 000000008fffd000
>
>
> For the first try I would suggest you to place all boot modules and boot
> reserves over 0xC0000000 in order to be able to allocate 1GB 1:1 memory
> range starting from 0x80000000 for Dom0.
>
> Andrii Anisov | Team Lead
> GlobalLogic
> Kyiv, 03038, Protasov Business Park, M.Grinchenka, 2/1
> P +38.044.492.9695x3664Â M +380505738852Â S andriyanisov
> www.globallogic.com
>
> http://www.globallogic.com/email_disclaimer.txt
>


_______________________________________________
Embedded-pv-devel mailing list
Embedded-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/embedded-pv-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.